主持人手記:本專欄主要介紹信息技術實驗在基礎教育信息技術課當中的典型案例,并期望這些案例能夠促進信息技術課程學科合法性的提升、豐富信息技術課的教學內容、拓展信息技術教師的課程設計視野。對此欄目有任何好的主意或建議,請發送稿件至towujunjie@163.com(主持人)或tougao1@chinaitedu.cn(雜志社)。
我們在統計一篇英文文章中每個字母出現次數的頻率時,有兩種常見的思路,一種是一邊按下英文鍵一邊統計每個字母出現的次數,另一種是用一個鏈表target將輸入的字母存儲起來,然后再統計每個字母出現的次數。以下,我們將著重談談第二種思路是如何實現的。
● 編寫自動統計程序
首先需要將待統計的數據放入鏈表target當中(如圖1)。
y5iTN5cRkn3aDyD3h6hru+6T80Bjoc04u0rkScUVf10=母按照A~Z的順序統計,我們用鏈表consider來存儲分類指標,用result來存儲統計結果(如圖2)。
接下來通過雙重循環來統計26個字母出現的次數(如圖3)。
之后,將鏈表result導出,就完成了對字母出現次數的統計。
● 智能檢索
我們發現程序還有不足的地方,即需要手動輸入分類標簽,如果程序能夠自動識別哪些是分類標簽,這樣程序的執行效果就會好很多,如下頁圖4所示的程序,每當程序檢索一個新字母時,它會首先識別該字母是否在分類標簽鏈表choice當中,如果不在,系統會自動添加一個分類標簽,并建立這個標簽所對應的統計結果。
從實驗結果可以看出,在1325個字母中,26個字母中有3個字母并沒有出現,使用這種檢索方法,分類標簽并不會從A~Z自動排列(如下頁圖5)。
● 直接導入TXT文件進行分析
在Scratch中,我們可以向鏈表中導入數據,如我們有一本英文小說的TXT文檔,我們希望將其導入到鏈表tom中(如下頁圖6)。
接下來可以用如下頁圖7所示的程序將鏈表tom的每一個字母分成鏈表target中的一項。
這樣,可以讓計算機自動錄入要統計的字符而不需要人手工統計,提高了程序的執行效率,通過圖5所示的智能搜索程序,我們可以統計出鏈表target中每個字母出現的次數。為了進一步提高程序的執行速度,可以使用編輯設計單步執行程式超速模式來提高程序的執行速度。
● 改進后的智能檢索程序應用
改進后的智能檢索程序的用途很多,如可以將論語的TXT文件導入到鏈表tom中,用同樣的程序分析論語中哪些字出現的次數比較多。我們發現,唐詩三百首中經常出現的字符和論語有很大的區別(如圖8)。
這個案例說明在不同的文本中,從春秋戰國到唐宋盛世,人們使用的文字已經有了區別,而這種區別是可以通過量化的分析手段來研究和表現的。在本案例當中,我們設計了一個高級的分類統計工具,并且逐步地將這種工具智能化和普適化,在這一過程中,學生初步掌握了比較復雜的程序的編寫方法,為接下來實施感測與控制技術實驗打下了良好的基礎,在后繼的實驗中,研究工具的編寫和改進只是一個過程,重點是信息技術實驗中的核心概念。