張大雷,馬龍虎,王智強(qiáng)
摘? 要: Wolfram Alpha是跨平臺(tái)的知識(shí)型搜索引擎。支持網(wǎng)頁(yè)方式與手機(jī)應(yīng)用的訪問(wèn)方式。不僅能夠給出特定問(wèn)題的精確答案,還可以提供相應(yīng)的解決算法步驟。利用Wolfram Alpha,可解決高級(jí)語(yǔ)言程序設(shè)計(jì)課程中的常見(jiàn)問(wèn)題。其作為現(xiàn)有程序設(shè)計(jì)類語(yǔ)言教學(xué)的輔助工具,用以改善課程教學(xué)效果,提升學(xué)生的興趣度。
關(guān)鍵詞: Wolfram Alpha; 程序設(shè)計(jì)課程; 高級(jí)語(yǔ)言
中圖分類號(hào):TP393? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ?文章編號(hào):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(以下簡(jiǎn)稱WA)是Wolfram Research公司推出的一款在線自動(dòng)問(wèn)答系統(tǒng)。其特色是可以直接向用戶返回答案,而不是像傳統(tǒng)搜索引擎一樣提供一系列可能含有用戶所需答案的相關(guān)網(wǎng)頁(yè)[1]。它的目標(biāo)是隨時(shí)隨地為每個(gè)人帶來(lái)廣泛、深入、專家級(jí)的知識(shí)。
程序設(shè)計(jì)類課程是計(jì)算機(jī)相關(guān)專業(yè)的核心課程。由于每一種程序設(shè)計(jì)語(yǔ)言都有自己特定的語(yǔ)法,學(xué)生在學(xué)習(xí)相關(guān)課程的時(shí)候,有時(shí)會(huì)舍本逐末,忽視問(wèn)題本身,糾結(jié)于各種繁瑣的程序設(shè)計(jì)語(yǔ)法,學(xué)習(xí)積極性備受打擊,學(xué)習(xí)效果也大打折扣。
國(guó)內(nèi)目前已有WA的相關(guān)研究,但是主要集中于數(shù)學(xué)類課程的應(yīng)用[2-3]。但是WA不僅可以完成數(shù)學(xué)、統(tǒng)計(jì)學(xué)領(lǐng)域的查詢、計(jì)算和分析,它也同樣適用于計(jì)算機(jī)科學(xué)、物理、化學(xué)等各個(gè)學(xué)科[4]。本文嘗試?yán)肳A來(lái)解決程序設(shè)計(jì)類課程中經(jīng)常遇到的一些基本問(wèn)題[5]。
1 WA的獨(dú)特優(yōu)勢(shì)
⑴ 提高學(xué)生的學(xué)習(xí)興趣
利用WA求解問(wèn)題有兩種輸入方式,一種使用自然語(yǔ)言描述問(wèn)題,另一種是使用它內(nèi)部的函數(shù)。也就是說(shuō),對(duì)于同一個(gè)問(wèn)題,用戶既可以用WA內(nèi)嵌的函數(shù)去求解,也可以用容易理解的自然語(yǔ)言來(lái)描述問(wèn)題,然后提交給WA來(lái)解決。使用體驗(yàn)就像是用英語(yǔ)對(duì)話一樣,可以有效提升學(xué)生的學(xué)習(xí)興趣。
⑵ 提升學(xué)生的英文水平
WA支持多種語(yǔ)言搜索,但是毫無(wú)疑問(wèn),它對(duì)英文的支持是最佳的。所以,用戶想要得到最好的結(jié)果,當(dāng)然是用英文去描述問(wèn)題。如此,學(xué)生就會(huì)在潛移默化中提高自己的英文水平,特別是專業(yè)相關(guān)的英文詞匯。這對(duì)于將來(lái)學(xué)生從事學(xué)術(shù)研究,或者從事專業(yè)技術(shù)工作都可以打下良好的基礎(chǔ)。
⑶ 隨時(shí)隨地、多種多樣的訪問(wèn)方式
WA既可以使用任何設(shè)備(手機(jī)、平板、電腦)通過(guò)任何操作系統(tǒng)(Windows、Linux、iOS)以網(wǎng)頁(yè)來(lái)訪問(wèn),同時(shí)也支持在設(shè)備上以APP的方式訪問(wèn)。不像其他的程序設(shè)計(jì)語(yǔ)言只能在電腦上編程實(shí)踐,而不能在手機(jī)或平板上操作。
⑷ 完整的求解過(guò)程
WA在給出問(wèn)題答案的時(shí)候,也會(huì)提供相應(yīng)的解題步驟。如果同一個(gè)問(wèn)題有多種方法,那么它會(huì)給出所有方法的解題過(guò)程。而這些解題的過(guò)程就相當(dāng)于程序設(shè)計(jì)中的算法,讓學(xué)生查詢到問(wèn)題答案的同時(shí),也能學(xué)習(xí)到對(duì)應(yīng)的算法。
2 求解實(shí)例
2.1 打印100以內(nèi)的整數(shù)
在WA中,直接使用自然語(yǔ)言1 to 100,就可以打印出100以內(nèi)的正整數(shù)?;蛘呤褂胷ange()函數(shù),也可以打印給定參數(shù)范圍的整數(shù),例如使用命令range(100)也可以打印100以內(nèi)的整數(shù)。
2.2 求整數(shù)的因子
在WA中,使用factor命令可以方便地求出整數(shù)的所有正因子,同時(shí)還輸出整數(shù)的質(zhì)因數(shù)分解式,例如輸入factor 12,可以求出12所有的因子:{1, 2, 3, 4, 6, 12}。
2.3 打印九九乘法表
WA可以根據(jù)自然語(yǔ)言返回相應(yīng)的結(jié)果,并且輸出的結(jié)果排版也非常專業(yè)和美觀。例如輸入multiplication table to 9,可打印出如圖1所示的九九乘法表,圖1中所有的元素都已經(jīng)自動(dòng)對(duì)齊。
2.4 自然數(shù)求和
自然數(shù)求和是程序設(shè)計(jì)中的常見(jiàn)問(wèn)題。在WA中,不僅可以實(shí)現(xiàn)普通程序語(yǔ)言數(shù)值求和的功能,而且可以輕松完成其他高級(jí)語(yǔ)言無(wú)法實(shí)現(xiàn)的符號(hào)求和功能。例如求1 到100的和,輸入sumof k 1 to 100,就可以返回求和的結(jié)果:5050,這里的k就相當(dāng)于循環(huán)變量。只要把這條語(yǔ)句中的100換成n就可以實(shí)現(xiàn)符號(hào)求和。
2.5 解方程
在WA中,要解方程,甚至不需要專門的命令,只要將方程輸進(jìn)去,就會(huì)直接給出方程的解,并且還自動(dòng)繪制出精美的函數(shù)圖像。例如輸入[ x^2-5x+6=0],輸出[x=2, x=3]。
2.6 打印楊輝三角
楊輝三角是中國(guó)古代的一項(xiàng)杰出的數(shù)學(xué)成就,在WA中,只要給出這個(gè)三角的名稱,就可以打印出排版精美的效果,輸入pascal triangle,就會(huì)打印出圖2所示的結(jié)果。
2.7 排序
在WA中要實(shí)現(xiàn)排序功能非常簡(jiǎn)單,只要用到sort命令就可以。例如輸入sort {1, 3, 2, 4},輸出從小到大的排序結(jié)果:{1, 2, 3, 4}。如果要輸出從大到小的順序,輸入sort {1, 3, 2, 4} by descending order,輸出:{4, 3, 2, 1}。
2.8 畫幾何圖形
在一般的高級(jí)程序語(yǔ)言中要畫幾何圖形并不是件容易的事情,但是在WA中,畫圖卻是非常簡(jiǎn)單,只要一條語(yǔ)句就可以。例如輸入:circle with r=5,可以輸出半徑為5的圓,如圖3所示。
3 結(jié)束語(yǔ)
WA是高效、專業(yè)、使用體驗(yàn)友好的搜索引擎,同時(shí)也具備編程功能,可以在程序設(shè)計(jì)類課程中發(fā)揮獨(dú)特的作用,是現(xiàn)有編程工具的良好補(bǔ)充。本文希望能起到拋磚引玉的作用,引起更多的教育工作者對(duì)WA的重視,使得WA在我國(guó)的高等教育中發(fā)揮更大的作用。
參考文獻(xiàn)(References):
[1] 王保衛(wèi),劉黨生.WolframAlpha開(kāi)啟自適應(yīng)知識(shí)學(xué)習(xí)新時(shí)空[J].中國(guó)信息技術(shù)教育,2017(13):60-63
[2] 郝慶一.Wolfram Alpha在大學(xué)數(shù)學(xué)實(shí)驗(yàn)教學(xué)中的應(yīng)用研究[J].安慶師范學(xué)院學(xué)報(bào):自然科學(xué)版,2016
[3] 李雨江.計(jì)算知識(shí)引擎WolframAlpha在高等數(shù)學(xué)教學(xué)中的應(yīng)用[J].遵義師范學(xué)院學(xué)報(bào),2021,23(4):97-100
[4] 張大雷,孫淮寧,史學(xué)梅,等.Wolfram Alpha在網(wǎng)絡(luò)信息安全課程中的應(yīng)用[J].計(jì)算機(jī)時(shí)代,2021(9):32-33,38
[5] 王雪,姜學(xué)鋒,劉君瑞,魏英,等.線上線下混合式教學(xué)模式在C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].計(jì)算機(jī)教育,2021(11):152-156