張大雷,馬龍虎,王智強



摘? 要: 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