WolframAlpha在程序设计类课程的应用

时间:2022-06-22 15:34:16

WolframAlpha在程序设计类课程的应用

摘要:WolframAlpha是跨平台的知识型搜索引擎。支持网页方式与手机应用的访问方式。不仅能够给出特定问题的精确答案,还可以提供相应的解决算法步骤。利用WolframAlpha,可解决高级语言程序设计课程中的常见问题。其作为现有程序设计类语言教学的辅助工具,用以改善课程教学效果,提升学生的兴趣度。

关键词:WolframAlpha;程序设计课程;高级语言

WolframAlpha(以下简称WA)是WolframResearch公司推出的一款在线自动问答系统。其特色是可以直接向用户返回答案,而不是像传统搜索引擎一样提供一系列可能含有用户所需答案的相关网页[1]。它的目标是随时随地为每个人带来广泛、深入、专家级的知识。程序设计类课程是计算机相关专业的核心课程。由于每一种程序设计语言都有自己特定的语法,学生在学习相关课程的时候,有时会舍本逐末,忽视问题本身,纠结于各种繁琐的程序设计语法,学习积极性备受打击,学习效果也大打折扣。国内目前已有WA的相关研究,但是主要集中于数学类课程的应用[2-3]。但是WA不仅可以完成数学、统计学领域的查询、计算和分析,它也同样适用于计算机科学、物理、化学等各个学科[4]。本文尝试利用WA来解决程序设计类课程中经常遇到的一些基本问题[5]。

1WA的独特优势

⑴提高学生的学习兴趣利用WA求解问题有两种输入方式,一种使用自然语言描述问题,另一种是使用它内部的函数。也就是说,对于同一个问题,用户既可以用WA内嵌的函数去求解,也可以用容易理解的自然语言来描述问题,然后提交给WA来解决。使用体验就像是用英语对话一样,可以有效提升学生的学习兴趣。⑵提升学生的英文水平WA支持多种语言搜索,但是毫无疑问,它对英文的支持是最佳的。所以,用户想要得到最好的结果,当然是用英文去描述问题。如此,学生就会在潜移默化中提高自己的英文水平,特别是专业相关的英文词汇。这对于将来学生从事学术研究,或者从事专业技术工作都可以打下良好的基础。⑶随时随地、多种多样的访问方式WA既可以使用任何设备(手机、平板、电脑)通过任何操作系统(Windows、Linux、iOS)以网页来访问,同时也支持在设备上以APP的方式访问。不像其他的程序设计语言只能在电脑上编程实践,而不能在手机或平板上操作。⑷完整的求解过程WA在给出问题答案的时候,也会提供相应的解题步骤。如果同一个问题有多种方法,那么它会给出所有方法的解题过程。而这些解题的过程就相当于程序设计中的算法,让学生查询到问题答案的同时,也能学习到对应的算法。

2求解实例

2.1打印100以内的整数

在WA中,直接使用自然语言1to100,就可以打印出100以内的正整数。或者使用range()函数,也可以打印给定参数范围的整数,例如使用命令range(100)也可以打印100以内的整数。

2.2求整数的因子

在WA中,使用factor命令可以方便地求出整数的所有正因子,同时还输出整数的质因数分解式,例如输入factor12,可以求出12所有的因子:{1,2,3,4,6,12}。

2.3打印九九乘法表

WA可以根据自然语言返回相应的结果,并且输出的结果排版也非常专业和美观。例如输入multiplicationtableto9,可打印出如图1所示的九九乘法表,图1中所有的元素都已经自动对齐。

2.4自然数求和

自然数求和是程序设计中的常见问题。在WA中,不仅可以实现普通程序语言数值求和的功能,而且可以轻松完成其他高级语言无法实现的符号求和功能。例如求1到100的和,输入sumofk1to100,就可以返回求和的结果:5050,这里的k就相当于循环变量。只要把这条语句中的100换成n就可以实现符号求和。2.5解方程在WA中,要解方程,甚至不需要专门的命令,只要将方程输进去,就会直接给出方程的解,并且还自动绘制出精美的函数图像。例如输入x^2-5x+6=0,输出x=2,x=3。

2.6打印杨辉三角

杨辉三角是中国古代的一项杰出的数学成就,在WA中,只要给出这个三角的名称,就可以打印出排版精美的效果,输入pascaltriangle,就会打印出图2所示的结果。

2.7排序

在WA中要实现排序功能非常简单,只要用到sort命令就可以。例如输入sort{1,3,2,4},输出从小到大的排序结果:{1,2,3,4}。如果要输出从大到小的顺序,输入sort{1,3,2,4}bydescendingorder,输出:{4,3,2,1}。

2.8画几何图形

在一般的高级程序语言中要画几何图形并不是件容易的事情,但是在WA中,画图却是非常简单,只要一条语句就可以。例如输入:circlewithr=5,可以输出半径为5的圆,如图3所示。

3结束语

WA是高效、专业、使用体验友好的搜索引擎,同时也具备编程功能,可以在程序设计类课程中发挥独特的作用,是现有编程工具的良好补充。本文希望能起到抛砖引玉的作用,引起更多的教育工作者对WA的重视,使得WA在我国的高等教育中发挥更大的作用。

参考文献(References):

[1]王保卫,刘党生.WolframAlpha开启自适应知识学习新时空[J].中国信息技术教育,2017(13):60-63

[2]郝庆一.WolframAlpha在大学数学实验教学中的应用研究[J].安庆师范学院学报:自然科学版,2016

[3]李雨江.计算知识引擎WolframAlpha在高等数学教学中的应用[J].遵义师范学院学报,2021,23(4):97-100

[4]张大雷,孙淮宁,史学梅,等.WolframAlpha在网络信息安全课程中的应用[J].计算机时代,2021(9):32-33,38

[5]王雪,姜学锋,刘君瑞,魏英,等.线上线下混合式教学模式在C语言程序设计实验教学中的应用[J].计算机教育,2021(11):152-156

作者:张大雷 马龙虎 王智强 单位:淮南师范学院计算机学院