• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      指向計(jì)算思維的Python編程教學(xué)項(xiàng)目設(shè)計(jì)
      ——以“數(shù)值計(jì)算”為例

      2023-11-12 11:25:22宋敏毅江蘇省天一中學(xué)
      中國信息技術(shù)教育 2023年21期
      關(guān)鍵詞:數(shù)值計(jì)算最大公約數(shù)復(fù)雜度

      宋敏毅 江蘇省天一中學(xué)

      《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》將計(jì)算思維列為信息技術(shù)學(xué)科四大核心素養(yǎng)之一,并指出:具備計(jì)算思維的學(xué)生在信息活動中能夠采用計(jì)算機(jī)可以處理的方式界定問題、抽象特征、建立結(jié)構(gòu)模型、合理組織數(shù)據(jù);通過判斷、分析與綜合各種信息資源,運(yùn)用合理的算法形成解決問題的方案;總結(jié)利用計(jì)算機(jī)解決問題的過程與方法,并遷移到與之相關(guān)的其他問題解決中。

      因此,筆者將教科版高中信息技術(shù)必修一第四單元第二節(jié)“數(shù)值計(jì)算”的拓展練習(xí)內(nèi)容與選修教材《算法初步》中算法應(yīng)用模塊知識點(diǎn)相結(jié)合,設(shè)計(jì)了相應(yīng)的教學(xué)項(xiàng)目,并將整個教學(xué)設(shè)計(jì)的思路總結(jié)為情境創(chuàng)設(shè)、初步探究、項(xiàng)目優(yōu)化、項(xiàng)目總結(jié)四個階段,進(jìn)而培養(yǎng)學(xué)生的問題解決與方案優(yōu)化能力,發(fā)展其計(jì)算思維。

      ●情境創(chuàng)設(shè)

      情境創(chuàng)設(shè)是為了更好地激發(fā)學(xué)生的好奇心和求知欲,使學(xué)生主動地參與到項(xiàng)目學(xué)習(xí)中,從而提升教學(xué)效率。因此,教師需要充分了解學(xué)生的年齡特點(diǎn)、知識基礎(chǔ)、認(rèn)知水平以及學(xué)生的日常生活,并根據(jù)以上信息分析學(xué)生的普遍興趣點(diǎn),以興趣點(diǎn)為基礎(chǔ)擴(kuò)散思維,爭取為學(xué)生設(shè)計(jì)出更加生動、引人入勝的教學(xué)情境。

      例如,根據(jù)必修一第四單元第二節(jié)“數(shù)值計(jì)算”的拓展練習(xí)內(nèi)容,以及選修教材《算法初步》中算法應(yīng)用模塊的內(nèi)容,筆者選擇了最大公約數(shù)問題作為項(xiàng)目的驅(qū)動問題。在課前先展示一道比較簡單的求解兩個正整數(shù)的最大公約數(shù)的問題——20和8的最大公約數(shù)是多少,并在學(xué)生回答問題的時(shí)候設(shè)計(jì)了體現(xiàn)信息素養(yǎng)或提升趣味性的問答環(huán)節(jié),如利用Python程序隨機(jī)選擇學(xué)生或擊鼓傳花等小游戲。在揭曉答案后,引導(dǎo)學(xué)生復(fù)習(xí)最大公約數(shù)的計(jì)算方法——窮舉法、短除法、分解質(zhì)因數(shù)法、輾轉(zhuǎn)相除法等。接著,布置一道位數(shù)較多較復(fù)雜的正整數(shù)之間求解最大公約數(shù)的問題,如“9147485和5147480的最大公約數(shù)是多少”,要求學(xué)生利用計(jì)算機(jī)程序來解決。最后,提出項(xiàng)目學(xué)習(xí)目標(biāo)——計(jì)算兩個正整數(shù)的最大公約數(shù)。

      ●初步探究

      項(xiàng)目初步探究主要是在學(xué)生明確項(xiàng)目學(xué)習(xí)目標(biāo)后,初步選擇一種方法嘗試解決問題。在本項(xiàng)目中,在設(shè)計(jì)解決“9147485和5147480的最大公約數(shù)是多少”這一問題的算法時(shí),一定要以學(xué)生為主導(dǎo),教師僅起到輔助學(xué)習(xí)的作用。

      教師首先帶領(lǐng)學(xué)生回憶算法的概念與特征,并讓學(xué)生在求解最大公約數(shù)的四種方法中選擇較好理解且容易轉(zhuǎn)換為Python程序代碼的方法。其中,窮舉法最能體現(xiàn)計(jì)算機(jī)解決問題的常規(guī)思路,因?yàn)橛?jì)算機(jī)可以不知疲倦地進(jìn)行窮舉計(jì)算。窮舉法的另一個優(yōu)勢是算法思路簡單易懂,只要通過窮舉嘗試所有可能的數(shù),并找出最大的那個約數(shù)即可。手工計(jì)算非常復(fù)雜,但通過運(yùn)行程序,學(xué)生會發(fā)現(xiàn)利用計(jì)算機(jī)程序來解決該問題難度就變小了。

      在為學(xué)生介紹窮舉法的思路后,就可以讓學(xué)生嘗試將其轉(zhuǎn)換為Python代碼,從而解決“9147485和5147480的最大公約數(shù)是多少”這一問題。教師可以提出用for循環(huán)或者while循環(huán)來實(shí)現(xiàn),圖1展示了一種基于while循環(huán)的樣例程序。在這一階段的項(xiàng)目任務(wù)單中,教師可提供while循環(huán)和for循環(huán)的相關(guān)信息讓學(xué)生參考,還可組織小組交流討論等學(xué)習(xí)活動讓同學(xué)們集思廣益,明晰窮舉法算法設(shè)計(jì)的思路。

      圖1 窮舉法代碼

      ●項(xiàng)目優(yōu)化

      項(xiàng)目優(yōu)化主要是在項(xiàng)目初步探究的基礎(chǔ)上對解決方案進(jìn)行剖析,進(jìn)一步探究更便捷、高效的解決方案,或者在初步方案的基礎(chǔ)上優(yōu)化解決方案。在本項(xiàng)目中的項(xiàng)目優(yōu)化則是指向基于同一問題選擇更高效的方法設(shè)計(jì)代碼,最直觀優(yōu)化的指標(biāo)就是算法的復(fù)雜度。

      算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量,可以用算法執(zhí)行的基本運(yùn)算次數(shù)度量;算法的空間復(fù)雜度是指執(zhí)行算法需要的內(nèi)存空間,包括算法程序、輸入的初始數(shù)據(jù)以及算法執(zhí)行過程中需要的額外空間。以上兩個知識點(diǎn)均在高中信息技術(shù)選修教材《算法初步》中有所涉及,運(yùn)用于此也可以體現(xiàn)該教學(xué)項(xiàng)目中的知識框架是由“數(shù)值計(jì)算”與“算法作用”兩大知識點(diǎn)聯(lián)合構(gòu)造。

      在設(shè)計(jì)出窮舉法的算法后,學(xué)生已經(jīng)可以計(jì)算出9147485和5147480的最大公約數(shù)是5。接著,教師讓學(xué)生將兩個正整數(shù)的位數(shù)再增加一些,如增加至十位,學(xué)生就會發(fā)現(xiàn)代碼需要很長時(shí)間才能運(yùn)行結(jié)束,甚至一直沒有結(jié)果。這樣學(xué)生就會明白窮舉法雖然能夠解決問題,但只有在數(shù)字較小的情況下才具有較好的實(shí)用性和可行性。

      接著,引導(dǎo)學(xué)生在選擇解決問題方法這一層面優(yōu)化算法,使算法的通用性更高、時(shí)間復(fù)雜度更低。這時(shí),教師可以帶領(lǐng)學(xué)生回憶最大公約數(shù)的計(jì)算方法——窮舉法、短除法、分解質(zhì)因數(shù)法、輾轉(zhuǎn)相除法。其中,輾轉(zhuǎn)相除法最著名,且思路較為清晰,方便學(xué)生進(jìn)行編程。這個階段就可以讓學(xué)生上網(wǎng)搜索輾轉(zhuǎn)相除法的相關(guān)信息,并將其算法以流程圖的形式呈現(xiàn)。圖2是輾轉(zhuǎn)相除法的流程圖樣例,當(dāng)學(xué)生完成流程圖后,先讓其分享討論,教師再點(diǎn)評。接著,學(xué)生根據(jù)流程圖編程,并用較大的數(shù)字進(jìn)行測試,感受該算法的計(jì)算效率,同時(shí),教師要在學(xué)生完成代碼的過程中給予幫助,圖3為參考代碼。

      圖2 輾轉(zhuǎn)相除法流程圖

      圖3 輾轉(zhuǎn)相除法代碼

      ●項(xiàng)目總結(jié)

      在項(xiàng)目實(shí)施過程中,在將輾轉(zhuǎn)相除法轉(zhuǎn)換為Python程序代碼后,教師引導(dǎo)學(xué)生比較兩種算法的區(qū)別,并分別從以下指標(biāo)來評價(jià)兩種算法:正確性、可讀性、健壯性、運(yùn)行效率、通用性、時(shí)間復(fù)雜度。這時(shí),教師可以在項(xiàng)目任務(wù)單上給出比較表格供學(xué)生探究后填寫(如右表),并在本階段給出各個指標(biāo)的含義或計(jì)算方法。

      正確性是指代碼可以正確輸出結(jié)果,能解決對應(yīng)的問題。

      可讀性是指代碼容易理解,容易編程和調(diào)試,容易維護(hù)。

      健壯性是指系統(tǒng)在不正常輸入或不正常外部環(huán)境下仍能夠表現(xiàn)正常的程度,即盡可能地設(shè)計(jì)容錯機(jī)制。

      運(yùn)行效率是指計(jì)算相同問題時(shí)兩個代碼的時(shí)間消耗的比較,時(shí)間消耗少的運(yùn)行效率高,反之則低。

      通用性是指算法能否解決這一類問題中的所有情況,解決的情況越多通用性越高。

      時(shí)間復(fù)雜度這一項(xiàng),可以結(jié)合選修教材《算法初步》給出復(fù)雜度的計(jì)算方法,讓學(xué)生自行探索并計(jì)算兩個算法的時(shí)間復(fù)雜度。由于輾轉(zhuǎn)相除法的時(shí)間復(fù)雜度計(jì)算有一定難度,可以利用網(wǎng)上的視頻或者相關(guān)材料幫助學(xué)生理解。

      算法特性對比表

      其中,為了更直觀地比較兩種代碼在解決同一問題時(shí)的運(yùn)行時(shí)間,教師可以向?qū)W生引入time庫的函數(shù),用于記錄程序運(yùn)行的時(shí)間。可以在代碼起始處import time即引入time庫,而后在用戶輸入兩個正整數(shù)的代碼后,添加start=time.time()代碼用于記錄開始時(shí)間,在輸出公約數(shù)的代碼后添加t=time.time()-start代碼計(jì)算程序運(yùn)行時(shí)間。最后,利用輸出語句把運(yùn)行時(shí)間輸出,即可直觀地看出兩種算法的代碼運(yùn)行時(shí)間。

      在學(xué)生比較了兩種算法的各項(xiàng)指標(biāo)后,他們會發(fā)現(xiàn)不同的算法區(qū)別很大,并理解解決同一個問題存在不同的算法,且算法存在有效(無效)、高效(低效)等差別。在本階段,教師可以基于以上項(xiàng)目目標(biāo)和標(biāo)準(zhǔn)發(fā)放自評、小組互評的問卷,個性化地了解每位學(xué)生的項(xiàng)目實(shí)施情況以及計(jì)算思維能力的提高。

      ●結(jié)語

      本項(xiàng)目融合教科版高中信息技術(shù)的“數(shù)值計(jì)算”和“算法應(yīng)用”兩模塊知識點(diǎn)展開教學(xué)設(shè)計(jì),提升了學(xué)生解決問題和優(yōu)化解決方案的能力。在項(xiàng)目實(shí)踐中,自主探究和小組協(xié)作討論激發(fā)了學(xué)生主觀能動性,提升了學(xué)生的學(xué)習(xí)效率。

      在高中信息技術(shù)教材中,還有很多內(nèi)容適合使用項(xiàng)目驅(qū)動的方式來進(jìn)行整合,它一方面可以將編程內(nèi)容與數(shù)學(xué)等相關(guān)學(xué)科的知識點(diǎn)融合,另一方面也可以把不同章節(jié)的內(nèi)容通過同一個項(xiàng)目來融合。

      猜你喜歡
      數(shù)值計(jì)算最大公約數(shù)復(fù)雜度
      一種低復(fù)雜度的慣性/GNSS矢量深組合方法
      求相關(guān)最大公約數(shù)(abn±1,abm±1),其中a∈Z,b∈Z+,m,n∈Z—
      求相關(guān)最大公約數(shù)(abn±1,abm±1),其中a∈Z,b∈Z+,m,n∈Z
      求圖上廣探樹的時(shí)間復(fù)雜度
      求最大公約數(shù)的兩種算法案例
      淺談MATLAB在數(shù)學(xué)建模中的應(yīng)用
      卷宗(2016年10期)2017-01-21 16:30:04
      矩形迷宮泵內(nèi)部流場數(shù)值模擬及試驗(yàn)研究
      某雷達(dá)導(dǎo)51 頭中心控制軟件圈復(fù)雜度分析與改進(jìn)
      平衡流量計(jì)流動特性數(shù)值計(jì)算分析
      科技視界(2015年25期)2015-09-01 17:51:38
      MATLAB軟件可視化效果和數(shù)值計(jì)算在高等數(shù)學(xué)學(xué)習(xí)中的應(yīng)用
      科技視界(2015年25期)2015-09-01 15:39:35
      西乌珠穆沁旗| 巢湖市| 黄大仙区| 阳山县| 尚志市| 郑州市| 深水埗区| 天门市| 牙克石市| 尼勒克县| 文安县| 宜阳县| 安达市| 蕉岭县| 南郑县| 棋牌| 吉水县| 北碚区| 洛扎县| 临泽县| 南通市| 南充市| 平塘县| 抚州市| 海兴县| 石屏县| 安达市| 沙河市| 驻马店市| 怀柔区| 连云港市| 当雄县| 新余市| 中江县| 壶关县| 南靖县| 黄平县| 新营市| 都匀市| 青神县| 晋宁县|