Wolfram Alpha在程序设计类课程中的应用
2022-06-21张大雷,马龙虎,王智强
张大雷,马龙虎,王智强
摘 要: Wolfram Alpha是跨平台的知识型搜索引擎。支持网页方式与手机应用的访问方式。不仅能够给出特定问题的精确答案,还可以提供相应的解决算法步骤。利用Wolfram Alpha,可解决高级语言程序设计课程中的常见问题。其作为现有程序设计类语言教學的辅助工具,用以改善课程教学效果,提升学生的兴趣度。
关键词: Wolfram Alpha; 程序设计课程; 高级语言
中图分类号:TP393 文献标识码:A 文章编号:1006-8228(2022)06-83-03
Application of Wolfram Alpha in the programming courses
Zhang Dalei, Ma Longhu, Wang Zhiqiang
(School of Computer Science, Huainan Normal University, Huainan, Anhui 232038, China)
Abstract: Wolfram Alpha is a cross-platform knowledge-based search engine. It supports webpage and mobile application access. It can not only give precise answers to specific questions, but also provide corresponding solving algorithm steps. Wolfram Alpha can be used to solve common problems in high-level language programming courses. As an auxiliary tool for the existing programming language teaching, it can improve the teaching effect of the course and increase the interest of students.
Key words: Wolfram Alpha; programming course; high-level language
0 引言
Wolfram Alpha(以下简称WA)是Wolfram Research公司推出的一款在线自动问答系统。其特色是可以直接向用户返回答案,而不是像传统搜索引擎一样提供一系列可能含有用户所需答案的相关网页[1]。它的目标是随时随地为每个人带来广泛、深入、专家级的知识。
程序设计类课程是计算机相关专业的核心课程。由于每一种程序设计语言都有自己特定的语法,学生在学习相关课程的时候,有时会舍本逐末,忽视问题本身,纠结于各种繁琐的程序设计语法,学习积极性备受打击,学习效果也大打折扣。
国内目前已有WA的相关研究,但是主要集中于数学类课程的应用[2-3]。但是WA不仅可以完成数学、统计学领域的查询、计算和分析,它也同样适用于计算机科学、物理、化学等各个学科[4]。本文尝试利用WA来解决程序设计类课程中经常遇到的一些基本问题[5]。
1 WA的独特优势
⑴ 提高学生的学习兴趣
利用WA求解问题有两种输入方式,一种使用自然语言描述问题,另一种是使用它内部的函数。也就是说,对于同一个问题,用户既可以用WA内嵌的函数去求解,也可以用容易理解的自然语言来描述问题,然后提交给WA来解决。使用体验就像是用英语对话一样,可以有效提升学生的学习兴趣。
⑵ 提升学生的英文水平
WA支持多种语言搜索,但是毫无疑问,它对英文的支持是最佳的。所以,用户想要得到最好的结果,当然是用英文去描述问题。如此,学生就会在潜移默化中提高自己的英文水平,特别是专业相关的英文词汇。这对于将来学生从事学术研究,或者从事专业技术工作都可以打下良好的基础。
⑶ 随时随地、多种多样的访问方式
WA既可以使用任何设备(手机、平板、电脑)通过任何操作系统(Windows、Linux、iOS)以网页来访问,同时也支持在设备上以APP的方式访问。不像其他的程序设计语言只能在电脑上编程实践,而不能在手机或平板上操作。
⑷ 完整的求解过程
WA在给出问题答案的时候,也会提供相应的解题步骤。如果同一个问题有多种方法,那么它会给出所有方法的解题过程。而这些解题的过程就相当于程序设计中的算法,让学生查询到问题答案的同时,也能学习到对应的算法。
2 求解实例
2.1 打印100以内的整数
在WA中,直接使用自然语言1 to 100,就可以打印出100以内的正整数。或者使用range()函数,也可以打印给定参数范围的整数,例如使用命令range(100)也可以打印100以内的整数。
2.2 求整数的因子
在WA中,使用factor命令可以方便地求出整数的所有正因子,同时还输出整数的质因数分解式,例如输入factor 12,可以求出12所有的因子:{1, 2, 3, 4, 6, 12}。
2.3 打印九九乘法表
WA可以根据自然语言返回相应的结果,并且输出的结果排版也非常专业和美观。例如输入multiplication table to 9,可打印出如图1所示的九九乘法表,图1中所有的元素都已经自动对齐。
2.4 自然数求和
自然数求和是程序设计中的常见问题。在WA中,不仅可以实现普通程序语言数值求和的功能,而且可以轻松完成其他高级语言无法实现的符号求和功能。例如求1 到100的和,输入sumof k 1 to 100,就可以返回求和的结果:5050,这里的k就相当于循环变量。只要把这条语句中的100换成n就可以实现符号求和。
2.5 解方程
在WA中,要解方程,甚至不需要专门的命令,只要将方程输进去,就会直接给出方程的解,并且还自动绘制出精美的函数图像。例如输入[ x^2-5x+6=0],輸出[x=2, x=3]。
2.6 打印杨辉三角
杨辉三角是中国古代的一项杰出的数学成就,在WA中,只要给出这个三角的名称,就可以打印出排版精美的效果,输入pascal triangle,就会打印出图2所示的结果。
2.7 排序
在WA中要实现排序功能非常简单,只要用到sort命令就可以。例如输入sort {1, 3, 2, 4},输出从小到大的排序结果:{1, 2, 3, 4}。如果要输出从大到小的顺序,输入sort {1, 3, 2, 4} by descending order,输出:{4, 3, 2, 1}。
2.8 画几何图形
在一般的高级程序语言中要画几何图形并不是件容易的事情,但是在WA中,画图却是非常简单,只要一条语句就可以。例如输入:circle with r=5,可以输出半径为5的圆,如图3所示。
3 结束语
WA是高效、专业、使用体验友好的搜索引擎,同时也具备编程功能,可以在程序设计类课程中发挥独特的作用,是现有编程工具的良好补充。本文希望能起到抛砖引玉的作用,引起更多的教育工作者对WA的重视,使得WA在我国的高等教育中发挥更大的作用。
参考文献(References):
[1] 王保卫,刘党生.WolframAlpha开启自适应知识学习新时空[J].中国信息技术教育,2017(13):60-63
[2] 郝庆一.Wolfram Alpha在大学数学实验教学中的应用研究[J].安庆师范学院学报:自然科学版,2016
[3] 李雨江.计算知识引擎WolframAlpha在高等数学教学中的应用[J].遵义师范学院学报,2021,23(4):97-100
[4] 张大雷,孙淮宁,史学梅,等.Wolfram Alpha在网络信息安全课程中的应用[J].计算机时代,2021(9):32-33,38
[5] 王雪,姜学锋,刘君瑞,魏英,等.线上线下混合式教学模式在C语言程序设计实验教学中的应用[J].计算机教育,2021(11):152-156