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

?

高中信息技術(shù)與數(shù)學(xué)算法教學(xué)整合的若干思考

2016-11-14 08:14:19黃求標(biāo)泰寧第一中學(xué)福建泰寧354400
福建基礎(chǔ)教育研究 2016年5期
關(guān)鍵詞:鍵入程序框圖考拉

黃求標(biāo)(泰寧第一中學(xué),福建泰寧354400)

高中信息技術(shù)與數(shù)學(xué)算法教學(xué)整合的若干思考

黃求標(biāo)
(泰寧第一中學(xué),福建泰寧354400)

高中數(shù)學(xué)算法教學(xué)普遍存在“紙上談兵”的問(wèn)題,應(yīng)用計(jì)算機(jī)輔助軟件制作程序框圖十分簡(jiǎn)單,能編譯為可執(zhí)行文件運(yùn)行,立即檢驗(yàn)算法是否正確,非常適合高中師生講解或研習(xí)算法使用。

算法教學(xué);程序框圖;程序代碼;編譯

在普通高中數(shù)學(xué)課程標(biāo)準(zhǔn)中,算法模塊中要求學(xué)生通過(guò)模仿、操作、探索,學(xué)習(xí)設(shè)計(jì)程序框圖表達(dá)解決問(wèn)題的過(guò)程;體會(huì)算法的基本思想以及算法的重要性和有效性,發(fā)展有條理的思考與表達(dá)的能力,提高邏輯思維能力[1]。教育部《普通高中數(shù)學(xué)課程標(biāo)準(zhǔn)(實(shí)驗(yàn))》在闡述高中數(shù)學(xué)課程的基本理念時(shí),明確指出,當(dāng)今知識(shí)經(jīng)濟(jì)時(shí)代,計(jì)算機(jī)技術(shù)與數(shù)學(xué)相融合,正在對(duì)數(shù)學(xué)課程內(nèi)容的組織和呈現(xiàn)方式、數(shù)學(xué)教學(xué)的過(guò)程與方法產(chǎn)生深刻影響。教師應(yīng)盡可能使用各種教育技術(shù)手段,加強(qiáng)數(shù)學(xué)教學(xué)與信息技術(shù)的融合,鼓勵(lì)學(xué)生運(yùn)用信息技術(shù)手段進(jìn)行探索與發(fā)現(xiàn)學(xué)習(xí)。

一、算法教學(xué)存在的問(wèn)題

算法作為具體的教學(xué)內(nèi)容進(jìn)入中學(xué)數(shù)學(xué)的教科書(shū)中,讓一些數(shù)學(xué)教師覺(jué)得難以適應(yīng),算法教學(xué)該如何開(kāi)展,學(xué)生如何學(xué)習(xí)算法,這些問(wèn)題擺在了每一個(gè)高中教師的面前。信息技術(shù)作為一種現(xiàn)代教學(xué)手段如何更好的服務(wù)教學(xué),提高教學(xué)效果。然而,放眼高中數(shù)學(xué)算法教學(xué)課堂,會(huì)發(fā)現(xiàn)存在諸多問(wèn)題:

1.教師的算法水平和實(shí)現(xiàn)能力偏低,只會(huì)“紙上談兵”

算法是高中數(shù)學(xué)新課改課程新增內(nèi)容。許多一線高中數(shù)學(xué)教師,尤其是年齡較大的教師,求學(xué)期間沒(méi)有系統(tǒng)學(xué)習(xí)過(guò)算法,在職培訓(xùn)也沒(méi)有及時(shí)有效跟進(jìn),他們?nèi)狈υ谟?jì)算機(jī)上驗(yàn)證程序的意識(shí)和能力,一般只能機(jī)械地講講程序框圖,只會(huì)“紙上談兵”式地模擬計(jì)算機(jī)執(zhí)行程序框圖,幾乎從不安排學(xué)生集體上機(jī)實(shí)踐,從而將本來(lái)實(shí)踐性強(qiáng)、生動(dòng)有趣的內(nèi)容變成了機(jī)械呆板、枯燥乏味的說(shuō)教。

2.“固化”“機(jī)械”的高考題型助長(zhǎng)了教師的“紙上談兵”

由于許多省市高考似乎就只考“根據(jù)程序框圖寫(xiě)出程序運(yùn)行結(jié)果”這種題型,而且往往只需照著框圖模擬運(yùn)行幾趟(一般是3至6趟)就能直接得到結(jié)果,這種極端機(jī)械的題型,使得大部分一線數(shù)學(xué)教師和學(xué)生堅(jiān)信只需“紙上談兵”即可,從而大大削弱了算法教學(xué)。

3.算法教學(xué)存在兩大“結(jié)構(gòu)性”障礙,讓師生止步于“紙上談兵”

⑴分析問(wèn)題時(shí),得到了用自然語(yǔ)言表示的解題步驟,然后把它轉(zhuǎn)化為程序框圖,那么怎么實(shí)現(xiàn)這個(gè)“轉(zhuǎn)化”?無(wú)論是在紙上還是在黑板或白板上畫(huà),無(wú)論用鉛筆還是粉筆或白板筆或者用Word、Visio軟件畫(huà)程序框圖,都費(fèi)時(shí)費(fèi)力!

⑵好不容易畫(huà)出程序框圖后,再怎么轉(zhuǎn)化為程序?這個(gè)框圖是給人看的,是人與人之間交流算法思想時(shí)用的,根本不能由計(jì)算機(jī)運(yùn)行,只能用于紙上談兵式的手工模擬!只有將它轉(zhuǎn)換為程序,才能由計(jì)算機(jī)執(zhí)行。由于學(xué)生先學(xué)程序框圖,還不會(huì)寫(xiě)代碼,因此無(wú)法寫(xiě)出代碼驗(yàn)證算法。如果先學(xué)算法語(yǔ)句,學(xué)會(huì)編寫(xiě)程序代碼,則又淡化了算法思想的主導(dǎo)作用,違背了算法教學(xué)的初衷:重在理解算法思想,不要上成程序設(shè)計(jì)課,這就是算法思想與程序?qū)崿F(xiàn)之間的結(jié)構(gòu)性矛盾:從邏輯上講,先有算法思想,再編程實(shí)現(xiàn);但從技術(shù)上講,先要編寫(xiě)程序,運(yùn)行程序才能實(shí)現(xiàn)算法檢驗(yàn)算法——這樣就陷入了類似于先有“雞”還是先有“蛋”的“怪圈”。

離開(kāi)算法的計(jì)算機(jī)實(shí)現(xiàn),在紙上空談算法是荒謬的。那么,如何激活機(jī)械呆板、死氣沉沉的算法教學(xué)呢?歸根到底,算法就是人們?yōu)榱吮阌谟糜?jì)算機(jī)解決問(wèn)題而創(chuàng)設(shè)的數(shù)學(xué)運(yùn)算模型,由于上述諸多原因,倒在了離它被實(shí)現(xiàn)被實(shí)證的“最后一米”!傳統(tǒng)數(shù)學(xué)課堂的“師-生”(或“師-演示電腦-生”)模式無(wú)法逾越這道“數(shù)字鴻溝”,必須引入“生-機(jī)(電腦)”模式,用信息技術(shù)破解本來(lái)就屬于信息技術(shù)范疇的算法教學(xué)的困境,為算法思想的實(shí)現(xiàn)插上飛翔的翅膀。

算法最直觀形象的表示方法就是流程圖(即程序框圖),因此,流程圖就是高中算法教學(xué)的“牛鼻子”!無(wú)論用什么工具畫(huà)流程圖,畫(huà)出來(lái)的圖都是“死”圖,這個(gè)圖不能象真正的程序一樣由計(jì)算機(jī)運(yùn)行,是否正確只能在紙上模擬。一個(gè)能精確表示算法的流程圖,卻不能成為真正可運(yùn)行的程序,從而使算法教學(xué)嚴(yán)重依附于程序設(shè)計(jì),成為其附屬物,甚至累贅!這導(dǎo)致兩種后果:一是象數(shù)學(xué)上的算法課那樣,算法的“實(shí)現(xiàn)”用紙上談兵式的手工“模擬”代替(純講算法,忽視實(shí)現(xiàn)),二是像信息技術(shù)課程中的程序設(shè)計(jì)那樣,把“雞肋”似的算法直接忽略(講了程序,算法就顯得多余)!

二、信息技術(shù)在數(shù)學(xué)算法教學(xué)上的運(yùn)用

學(xué)習(xí)算法,關(guān)鍵在于編寫(xiě)出讓計(jì)算機(jī)執(zhí)行的程序。看到計(jì)算機(jī)執(zhí)行自己的程序并快速準(zhǔn)確地給出問(wèn)題的解答,會(huì)讓學(xué)生體會(huì)到學(xué)習(xí)算法的成就感;另一方面,若執(zhí)行程序未得到自己預(yù)期的答案,則可以對(duì)自己的算法和程序進(jìn)行檢查,

通過(guò)實(shí)踐中的問(wèn)題學(xué)習(xí)算法可以加深對(duì)算法及程序的認(rèn)識(shí)和理解[2]。如果在算法課堂上,學(xué)生用拖拽圖標(biāo)的方式輕松地繪制流程圖,系統(tǒng)自動(dòng)生成程序代碼,這樣就使流程圖成為可執(zhí)行的“活”圖,算法就成為可立即運(yùn)行檢驗(yàn)的“活”思想,那么學(xué)生在研究、設(shè)計(jì)算法時(shí),就暫時(shí)不必理會(huì)程序語(yǔ)言代碼和實(shí)現(xiàn)的細(xì)節(jié),只需專注于算法思想,這樣就大大降低了算法入門(mén)的門(mén)檻,算法就可以獨(dú)立于程序設(shè)計(jì),而成為程序設(shè)計(jì)的先導(dǎo)內(nèi)容,真正成為程序的靈魂。顯然,高中師生需要這樣的工具平臺(tái),來(lái)輔助解決兩個(gè)問(wèn)題:一是快捷方便地繪制程序框圖,二是自動(dòng)編程實(shí)現(xiàn)算法驗(yàn)證算法。

算法是求解某一類問(wèn)題所采用的一組定義明確、操作有序的步驟。通俗地說(shuō),就是計(jì)算機(jī)解題的過(guò)程。對(duì)算法進(jìn)行描述,通??梢允褂米匀徽Z(yǔ)言、程序框圖、程序代碼等方式。

例如,用計(jì)算機(jī)來(lái)計(jì)算圓的面積,即用自然語(yǔ)言描述算法[3]:

第1步:用戶要把圓的半徑r的值告訴計(jì)算機(jī),即輸入圓的半徑r;

第2步:計(jì)算機(jī)用公式S=πr2計(jì)算圓的面積(圓周率也要明確告知計(jì)算機(jī));

第3步:計(jì)算機(jī)要把圓的面積S的值反饋給用戶,即輸出圓的面積S。

這種用自然語(yǔ)言描述的算法不直觀,有時(shí)可能還有歧義,計(jì)算機(jī)也不明白人類的語(yǔ)言。于是,人們就想出了另外一種形式——用一種特定的圖形把算法直觀、準(zhǔn)確地表達(dá)出來(lái),這就是程序框圖。啟動(dòng)軟件,“流程圖窗口”中會(huì)自動(dòng)創(chuàng)建了一個(gè)“最簡(jiǎn)單”的程序框圖:一個(gè)“開(kāi)始”圖標(biāo)和一個(gè)“結(jié)束”圖標(biāo),在這兩個(gè)圖標(biāo)之間有一條“流程線”,如圖1所示。用軟件計(jì)算圓的面積操作如下。

第1步:輸入圓的半徑。點(diǎn)擊“圖標(biāo)工具箱”,選擇“輸入”圖標(biāo)(平行四邊形),按住鼠標(biāo)左鍵拖拽到流程線上,至出現(xiàn)虛線框時(shí)釋放左鍵,插入一個(gè)“輸入”圖標(biāo)。輸入字母r,表示圓的半徑(為嚴(yán)謹(jǐn)起見(jiàn),向圖標(biāo)內(nèi)鍵入的內(nèi)容在文章中一律加下劃線表示,實(shí)際錄入時(shí)則不必加下劃線)。

圖1 用畫(huà)程軟件繪制“計(jì)算圓的面積”程序框圖

第2步:用公式計(jì)算圓的面積。點(diǎn)擊“圖標(biāo)工具箱”,選擇“處理”圖標(biāo)(矩形),拖拽一個(gè)“處理”圖標(biāo)到流程線上,在圖標(biāo)里面輸入計(jì)算圓的面積的公式:S= 3.14159*r^2,變量S表示圓的面積,圓周率π直接給出常數(shù)3.14159,乘號(hào)用“*”號(hào)表示,r是半徑,乘方符號(hào)“^”是主鍵盤(pán)數(shù)字6的上檔鍵,按住Shift鍵不放,再按下6,這樣就輸入了乘方符號(hào)“^”。

第3步:輸出圓的面積。點(diǎn)擊“圖標(biāo)工具箱”,選擇“輸出”圖標(biāo)(平行四邊形),拖拽到流程線上釋放,在輸出圖標(biāo)內(nèi)鍵入變量S。

結(jié)果表明,這個(gè)程序框圖所對(duì)應(yīng)的程序代碼是正確的,從而也表明程序框圖是正確的。

再來(lái)分析一下復(fù)雜的數(shù)學(xué)問(wèn)題——考拉茲猜想。

(一)算法設(shè)計(jì)

德國(guó)數(shù)學(xué)家考拉茲(Lothar Collatz)于1930年代提出考拉茲猜想,又名3n+1猜想或冰雹猜想,是指對(duì)于每一個(gè)正整數(shù),如果它是奇數(shù),則對(duì)它乘3再加1;如果它是偶數(shù),則對(duì)它除以2,如此循環(huán),最終都能得到1。設(shè)計(jì)算法驗(yàn)證考拉茲猜想(當(dāng)然只能是在有限的數(shù)據(jù)范圍內(nèi)驗(yàn)證),還是先用自然語(yǔ)言來(lái)描述算法:

第1步輸入n(正整數(shù));

第2步若n為偶數(shù),則將其除以2,否則(n為奇數(shù)),將其乘以3后加上1,結(jié)果仍用n表示;

第3步如果n=1,退出到第4步,否則轉(zhuǎn)回到第2步;

第4步輸出“考拉茲猜想成立!”

此時(shí),用《畫(huà)程》軟件繪制流程圖:

第1步,拖入一個(gè)輸入圖標(biāo),在其內(nèi)鍵入n;

第2步,拖入一個(gè)判斷-分支圖標(biāo),條件怎么寫(xiě)?“n是偶數(shù)”,如何用計(jì)算機(jī)的語(yǔ)言表達(dá)呢?n除以2所得余數(shù)為0。在VB[4]或QBX7.1中用mod表示取余運(yùn)算,如5 mod 3表示5除以3所得余數(shù)(為2),所以鍵入條件n mod 2=0,在“是分支”里拖入一個(gè)“處理”圖標(biāo),在“處理”圖標(biāo)里鍵入賦值語(yǔ)句n=n2。在“否分支”里拖入一個(gè)“處理”圖標(biāo),鍵入賦值語(yǔ)句n=n*3+1(如圖2)。

第3步,這里有一個(gè)詞非常關(guān)鍵:“轉(zhuǎn)回”!也就是說(shuō),流程線要回到上面來(lái)!要用“判斷-循環(huán)”圖標(biāo),拖入一個(gè)“判斷-循環(huán)”圖標(biāo),條件怎么寫(xiě)呢?鍵入n=1,“如果n=1則退出”,所以這個(gè)“否”與“是”要交換,只要雙擊“是”或“否”就改變了(如圖3)?!胺駝t,轉(zhuǎn)回第2步”,要轉(zhuǎn)到上面來(lái),怎么操作呢?流程線不能拖動(dòng),可以把上面的條件結(jié)構(gòu)拖拽到循環(huán)返回線的下面來(lái)(如圖3),這樣就實(shí)現(xiàn)了“轉(zhuǎn)回第2步”。

第4步,拖入一個(gè)輸出圖標(biāo),鍵入“考拉茲猜想成立!”(如圖4)

(二)三種基本結(jié)構(gòu)

人們已經(jīng)證明:任何復(fù)雜的程序結(jié)構(gòu),都可以用三種基本結(jié)構(gòu)(順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu))或它們的組合來(lái)表示。

本例的總體結(jié)構(gòu)是:①輸入n;②驗(yàn)算考拉茲猜想;③輸出結(jié)論。它們構(gòu)成了順序結(jié)構(gòu),其中“驗(yàn)算考拉茲猜想”就是循環(huán)結(jié)構(gòu)(由判斷-循環(huán)圖標(biāo)“n=1”主導(dǎo)),而“n是否偶數(shù)”組成的條件結(jié)構(gòu),嵌套于上述的循環(huán)結(jié)構(gòu)的循環(huán)體內(nèi),這樣,本例同時(shí)包含了三種基本結(jié)構(gòu)。

(三)單步運(yùn)行

保存剛才所畫(huà)流程圖,編譯、運(yùn)行程序(注意n為正整數(shù),且任何時(shí)候n不超出2147483647)。這個(gè)程序很快就輸出“考拉茲猜想成立!”由于其中間運(yùn)行過(guò)程看不到,是不是有點(diǎn)不放心?選擇“單步運(yùn)行”功能,可以一步一步地運(yùn)行程序,用戶可以“看清”每步運(yùn)行的結(jié)果。單擊“單步運(yùn)行”工具,彈出一個(gè)提示框,單擊“確定”按鈕,彈出“單步運(yùn)行”窗體,單擊“開(kāi)始”(或“下一步”)按鈕將開(kāi)始單步運(yùn)行(若勾選“自動(dòng)”復(fù)選框,則自動(dòng)單步運(yùn)行(如圖5)。

圖5“單步運(yùn)行”窗體展示程序每一步運(yùn)行的狀況

信息技術(shù)與高中數(shù)學(xué)算法教學(xué)整合能幫助學(xué)生從枯燥、深?yuàn)W的算法理論上升到理解、消化知識(shí)的高度。信息技術(shù)為學(xué)生提供直觀、易操作讓學(xué)生所見(jiàn)所得的算法內(nèi)函展示,使深?yuàn)W的數(shù)學(xué)算法理論通過(guò)手、眼、腦等多種器官的刺激深深扎根于學(xué)生的知識(shí)體系中。

[1]數(shù)學(xué)課程標(biāo)準(zhǔn)研制組.普通高中數(shù)學(xué)課程標(biāo)準(zhǔn)(實(shí)驗(yàn)稿)[S].北京:北京師范大學(xué)出版社,2000.

[2]張景中.超級(jí)畫(huà)板自由行[M].北京:科學(xué)出版社,2006.

[3]伍先軍.流程圖(程序框圖)高考題型例解[J].中學(xué)數(shù)學(xué),2012(3).

[4]張福祥.VB程序設(shè)計(jì)基礎(chǔ)工業(yè)[M].北京:中國(guó)電力出版社,2003.

(責(zé)任編輯:鄒開(kāi)煌)

猜你喜歡
鍵入程序框圖考拉
孤單的小考拉(上)
孤單的小考拉(下)
“順勢(shì)而下”破解程序框圖
MATLAB 在導(dǎo)數(shù)和積分中的應(yīng)用
中學(xué)生數(shù)理化·高一版(2019年1期)2019-06-26 12:45:36
渴不死的考拉
程序框圖問(wèn)題的精彩交匯
考拉為什么不喝水
Netstat命令使用實(shí)例解析
河南科技(2013年6期)2013-11-07 07:45:06
算法與程序·程序框圖
南充市| 阿巴嘎旗| 谷城县| 洱源县| 宁乡县| 葫芦岛市| 石河子市| 吴堡县| 江源县| 电白县| 稷山县| 柘荣县| 林周县| 图木舒克市| 衡南县| 新和县| 阳城县| 新巴尔虎右旗| 宝鸡市| 南木林县| 文山县| 乳山市| 弥渡县| 绥德县| 浏阳市| 睢宁县| 密云县| 福贡县| 鱼台县| 静乐县| 龙山县| 顺平县| 十堰市| 榆树市| 若尔盖县| 奇台县| 曲阜市| 四川省| 吴堡县| 清水县| 景谷|