国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

信息技術(shù)實(shí)驗(yàn)的程序基礎(chǔ):手機(jī)號碼的研究

2013-04-29 00:44:03吳俊杰
中國信息技術(shù)教育 2013年8期
關(guān)鍵詞:鏈表號碼代碼

吳俊杰

主持人手記:本專欄主要介紹信息技術(shù)實(shí)驗(yàn)在基礎(chǔ)教育信息技術(shù)課當(dāng)中的典型案例,并期望這些案例能夠促進(jìn)信息技術(shù)課程學(xué)科合法性的提升、豐富信息技術(shù)課的教學(xué)內(nèi)容、拓展信息技術(shù)教師的課程設(shè)計(jì)視野。對此欄目有任何好的主意或建議,請發(fā)送稿件至towujunjie@163.com(主持人)或tougao1@chinaitedu.cn(雜志社)。

信息技術(shù)實(shí)驗(yàn)最重要的核心概念是數(shù)據(jù)和穩(wěn)定的現(xiàn)象,接下來這個(gè)案例是要分析人們每天都接觸的數(shù)據(jù)—手機(jī)號碼當(dāng)中有沒有一些穩(wěn)定的現(xiàn)象。

● 數(shù)據(jù)的第一個(gè)循環(huán):個(gè)體數(shù)據(jù)分析

任務(wù):統(tǒng)計(jì)自己能夠背下來的3個(gè)手機(jī)號碼,其中數(shù)字0~9出現(xiàn)的次數(shù)。

面對上面的任務(wù),在Scratch語言中可以選擇如下不同的技術(shù)路徑。

路徑1:建立變量n0、n1一直到n9,按下0~9這10個(gè)按鍵之后,將變量n0~n9的數(shù)值分別加1。

路徑2:使用詢問─回答功能,輸入一個(gè)11位的號碼到變量“電話號碼”中,分析這個(gè)電話號碼的第1項(xiàng)一直到第11項(xiàng),存儲在10個(gè)變量中或者存儲在一個(gè)長度為10的鏈表“號碼分析”中。

路徑3:用一個(gè)鏈表“號碼數(shù)據(jù)庫”存儲3個(gè)手機(jī)號碼,然后用類似路徑2的方法分別分析這三個(gè)電話號碼。

上面提供了解決這個(gè)問題的三種不同的技術(shù)路徑,它們在數(shù)據(jù)的獲取、存儲過程中都有所區(qū)別,見下頁表。

以上的分析,在Scratch之外的其他程序語言中也成立,鏈表可以被替代為數(shù)組,這個(gè)分析過程是對研究工具的分析,可以一開始就呈現(xiàn)給學(xué)生,也可以在總結(jié)的過程中作為提升簡介,還可以作為程序編寫的一個(gè)螺旋上升的過程呈現(xiàn)給學(xué)生。

路徑1的程序比較簡單,這里就不再贅述,這里比較路徑2當(dāng)中的代碼使用變量“號碼”存儲回答的手機(jī)號,分析數(shù)據(jù)的核心代碼如圖1所示。

圖1所示的代碼可以改進(jìn)為圖2所示的結(jié)構(gòu),用另外一個(gè)循環(huán)變量j來減少代碼的長度,使用鏈表替代圖1中10個(gè)如果結(jié)構(gòu)(如圖2)。

代碼改進(jìn)到這個(gè)程度時(shí)已經(jīng)涉及雙重循環(huán),其教學(xué)的難度并不比代碼語言減少多少,主要難點(diǎn)在于理解雙重循環(huán)過程中變量的變化,Scratch中的單步執(zhí)行功能有助于提升教學(xué)效果,讓學(xué)生“發(fā)現(xiàn)算法”的效果要比教師“講授算法”的效果好得多,但是需要設(shè)計(jì)充分的教學(xué)支架。

學(xué)習(xí)使用圖2所示的代碼之后,學(xué)生已經(jīng)掌握了循環(huán)語句的基本結(jié)構(gòu),并會搭建雙重循環(huán),但是善于觀察的學(xué)生可以發(fā)現(xiàn)圖2的結(jié)構(gòu)可以被圖3所示的結(jié)構(gòu)代替,這樣完全不用使用“如果”語句就可以完成數(shù)據(jù)分析,而且改進(jìn)后的代碼易讀性也得到了提高。

為了比較圖2和圖3程序的效率,我們在“分析當(dāng)前號碼”啟動(dòng)之后,將,程序完成后,比較兩種算法分析一段取每個(gè)數(shù)字10個(gè)字符長度為100的字符串的時(shí)間,實(shí)驗(yàn)發(fā)現(xiàn)圖3所示的算法耗時(shí)2.53s,圖2所示的算法耗時(shí)29.22s,很顯然算法的改進(jìn)不僅僅意味著代碼長度的變短,更重要的是完成任務(wù)的效率的提升,這種提升在分析大數(shù)據(jù)的時(shí)候尤其重要。

路徑3相對于路徑2的改進(jìn)是將每次的回答輸入到鏈表“號碼數(shù)據(jù)庫”,然后依次分析號碼數(shù)據(jù)庫的第1項(xiàng)到第3項(xiàng),這可能又會涉及雙重循環(huán)代碼的編寫。

下頁圖4用鏈表號碼數(shù)據(jù)庫來存儲多個(gè)號碼,其循環(huán)次數(shù)可以用“3”代替,但是使用的好處是程序的可移植性會好很多,如果輸入的號碼不止3個(gè),圖4的程序可以自動(dòng)地適應(yīng)這種變化。

至此,我們完成了一個(gè)分析3個(gè)手機(jī)號當(dāng)中每個(gè)數(shù)字出現(xiàn)的次數(shù),并且從執(zhí)行時(shí)間、代碼長度、易讀性、可移植性四個(gè)方面分析了代碼的改進(jìn)過程,代碼改進(jìn)的過程稱為代碼進(jìn)化,讓學(xué)生理解代碼進(jìn)化的過程,主動(dòng)追求代碼的進(jìn)化,是將學(xué)生的編程能力引向深入的一個(gè)重要教學(xué)策略。

某位同學(xué)分析3個(gè)電話號碼最終的結(jié)果(如下頁圖5),在數(shù)據(jù)的分析和表達(dá)環(huán)節(jié),根據(jù)這個(gè)數(shù)據(jù),能否得出在手機(jī)號中出現(xiàn)最多的數(shù)字是0,其次是1?恐怕數(shù)據(jù)量還不夠大,這時(shí)就需要增加數(shù)據(jù)量。將同學(xué)們的數(shù)據(jù)進(jìn)行匯總是一個(gè)好的方法。

● 數(shù)據(jù)的第二個(gè)循環(huán):群體數(shù)據(jù)統(tǒng)計(jì)

在群體數(shù)據(jù)統(tǒng)計(jì)的過程中,數(shù)據(jù)的獲取是難點(diǎn),可以讓每個(gè)學(xué)生將3個(gè)電話號碼存儲在.txt文件中,然后用一個(gè)Word文檔插入這些文件,將數(shù)據(jù)匯總在一起(如下頁圖6)。

將Word文檔另存為一個(gè).txt文件,導(dǎo)入到鏈表“號碼數(shù)據(jù)庫”中,使用圖4所示的程序分析,得出圖7所示的56個(gè)號碼的統(tǒng)計(jì)匯總結(jié)果。

匯總結(jié)論發(fā)現(xiàn),出現(xiàn)最多的不是0而是1,推翻了之前的猜想,而且數(shù)字4和2明顯小于其他數(shù)字,但是這是最后的結(jié)論嗎?恐怕還需要增大數(shù)據(jù)源的數(shù)目,那么,數(shù)據(jù)量大到什么程度才能比較精確地反映整體的情況,還是一個(gè)需要進(jìn)一步研究的問題。在數(shù)據(jù)表達(dá)上采取了條形圖作為數(shù)據(jù)的呈現(xiàn)手段。在數(shù)據(jù)分析環(huán)節(jié),同學(xué)們可以分析數(shù)字出現(xiàn)頻率不同的原因。

● 數(shù)據(jù)的第三個(gè)循環(huán):數(shù)據(jù)挖掘

在數(shù)據(jù)挖掘領(lǐng)域,研究的是已有數(shù)據(jù)中潛在的規(guī)律,雖然相比真正的數(shù)據(jù)挖掘,100組電話號碼太少了,但是我們可以將數(shù)據(jù)挖掘的思想和方法傳遞給學(xué)生。例如,要統(tǒng)計(jì)的樣本全集為100,那么采樣樣本數(shù)為多少的時(shí)候,使得部分?jǐn)?shù)據(jù)的結(jié)論和總體數(shù)據(jù)的結(jié)論基本一致?再如,電話號碼的每一位出現(xiàn)最多的字符是什么?或者分析QQ號碼當(dāng)中是否還存在頻率上存在優(yōu)勢的數(shù)字。通過數(shù)據(jù)挖掘,引導(dǎo)學(xué)生分析數(shù)據(jù)中的潛在規(guī)律,提升其對數(shù)據(jù)蘊(yùn)含的潛在規(guī)律的敏感性。

● 小結(jié)

通過本案例,學(xué)生應(yīng)該可以熟練地使用變量和鏈表、循環(huán)語句和如果語句。在接下來的課程中,程序的設(shè)計(jì)難度會變得越來越低,而根據(jù)信息技術(shù)實(shí)驗(yàn)的目的,設(shè)計(jì)合適的程序,在數(shù)據(jù)的獲取、存儲、分析、表達(dá)的過程中,提升學(xué)生應(yīng)用程序解決問題的能力,才是課程的高級目標(biāo)。本案例從信息技術(shù)實(shí)驗(yàn)核心概念數(shù)據(jù)和穩(wěn)定的對應(yīng)關(guān)系出發(fā),比較了三種不同難度和特點(diǎn)的技術(shù)路徑的效率,讓學(xué)生體驗(yàn)了個(gè)體數(shù)據(jù)分析和群體數(shù)據(jù)匯總兩種工作方式,使得原本沒有規(guī)律的手機(jī)號碼,通過信息技術(shù)實(shí)驗(yàn),得出了規(guī)律,這是一個(gè)信息量減少的過程,而通過數(shù)據(jù)挖掘手段,提出新問題,找到新結(jié)論,就是一個(gè)信息量增加的過程。

猜你喜歡
鏈表號碼代碼
說號碼 知顏色
一個(gè)號碼,一個(gè)故事
猜出新號碼
基于二進(jìn)制鏈表的粗糙集屬性約簡
跟麥咭學(xué)編程
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
基于鏈表多分支路徑樹的云存儲數(shù)據(jù)完整性驗(yàn)證機(jī)制
六盘水市| 祁连县| 泸西县| 永登县| 夏津县| 镇江市| 盐池县| 怀化市| 赞皇县| 大冶市| 贺州市| 东乡族自治县| 长武县| 商城县| 浦北县| 毕节市| 扶风县| 淳化县| 永善县| 泰来县| 特克斯县| 宁河县| 三都| 剑川县| 祁门县| 永清县| 壤塘县| 泰州市| 子长县| 湖北省| 阿拉尔市| 田林县| 藁城市| 内乡县| 金塔县| 绍兴市| 万载县| 山阳县| 腾冲县| 四会市| 凌云县|