程序設(shè)計(jì)語言的基礎(chǔ)知識(shí)-python程序設(shè)計(jì)基礎(chǔ)【知識(shí)精研提升】 浙教版(2019)-必修1_第1頁
程序設(shè)計(jì)語言的基礎(chǔ)知識(shí)-python程序設(shè)計(jì)基礎(chǔ)【知識(shí)精研提升】 浙教版(2019)-必修1_第2頁
程序設(shè)計(jì)語言的基礎(chǔ)知識(shí)-python程序設(shè)計(jì)基礎(chǔ)【知識(shí)精研提升】 浙教版(2019)-必修1_第3頁
程序設(shè)計(jì)語言的基礎(chǔ)知識(shí)-python程序設(shè)計(jì)基礎(chǔ)【知識(shí)精研提升】 浙教版(2019)-必修1_第4頁
程序設(shè)計(jì)語言的基礎(chǔ)知識(shí)-python程序設(shè)計(jì)基礎(chǔ)【知識(shí)精研提升】 浙教版(2019)-必修1_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

怎樣上好編程課

——讓新課程的編程課更有深度、更有味

山東省青州第一中學(xué)王愛勝目錄一、知識(shí):技術(shù)價(jià)值應(yīng)源于計(jì)算思維二、教法:突破難點(diǎn)需要靈活的策略三、突破:簡(jiǎn)明實(shí)用不失思維的發(fā)展知識(shí)技術(shù)價(jià)值應(yīng)源于計(jì)算思維學(xué)語言?學(xué)語法?學(xué)體系?學(xué)算法?1.目前很優(yōu)質(zhì)的Python編程教程,實(shí)例生動(dòng),但很專業(yè),所以語法化體系。(一)知識(shí)體系與算法體系專業(yè)的風(fēng)格思維的風(fēng)格2.一種Python編程教材,重在算法,語法體系淡化。思維的風(fēng)格3.另一種Python編程教材,重在原理,語法體系淡化。知識(shí)的風(fēng)格4.另一種Python編程教材,重在概念,語法體系重視。知識(shí)的風(fēng)格5.探究Python的知識(shí)的學(xué)習(xí)方式1.變量(不建議長(zhǎng)單詞,學(xué)習(xí)瓶頸)列表字典......2.數(shù)據(jù)類型:數(shù)字型(整數(shù)型、浮點(diǎn)型)字符串型、布爾型3.類型轉(zhuǎn)換:int()、float()、str()4.運(yùn)算:+-*///**%andornot>>=<=<==!=0<a<100知識(shí)的風(fēng)格5.探究Python的知識(shí)的學(xué)習(xí)方式5.三種基本結(jié)構(gòu):順序分支循環(huán)6.自定義函數(shù)7.枚舉、遞歸、分治、搜索......方式1:實(shí)例分析方式2:項(xiàng)目探究方式3:技術(shù)實(shí)驗(yàn)知識(shí)的風(fēng)格6.探究Python的程序的思維發(fā)展(1)從常量到變量知識(shí)的風(fēng)格6.探究Python的程序的思維發(fā)展(2)輸出控制

知識(shí)的風(fēng)格6.探究Python的程序的思維發(fā)展(3)數(shù)據(jù)的關(guān)系

知識(shí)的風(fēng)格7.探究Python的程序的價(jià)值對(duì)比(1)計(jì)數(shù)循環(huán)已知終值知識(shí)的風(fēng)格7.探究Python的程序的價(jià)值對(duì)比(2)條件循環(huán)的終止條件知識(shí)的風(fēng)格不論哪種體系編程知識(shí)的價(jià)值體現(xiàn),應(yīng)是來源計(jì)算思維(二)從計(jì)算思維的要素與結(jié)構(gòu)學(xué)習(xí)編程知識(shí)(二)從計(jì)算思維的要素與結(jié)構(gòu)學(xué)習(xí)編程知識(shí)1.計(jì)算思維的要素Decomposition??分層思維(分解)?Decomposition?is?the?process?of?breaking?large?problems?into?smaller?parts.?These?smaller?parts?are?easier?to?understand,?making?the?problem?easier?to?solve.?分層思維是將一個(gè)大問題拆解成許多小的部分。這些小部分更容易理解,讓問題更加容易解決。?How?do?we?make?a?hamburger???怎樣制作漢堡包??We?can?break?it?down?to?its?ingredients:??我們可以將漢堡包分成幾個(gè)部分?Upper?bun??最上層的圓面包?Lettuce??生菜?Tomato??西紅柿?Cheese??奶酪?Beef?patty??牛肉餡餅?Lower?bun??下層的圓面包

計(jì)算思維的要素分解成小問題驗(yàn)證碼問題:(分解示例)1.產(chǎn)生驗(yàn)證碼2.輸入驗(yàn)證碼3.比較驗(yàn)證碼importrandom#導(dǎo)入隨機(jī)數(shù)模塊mc=""#清空驗(yàn)證碼foriinrange(0,6):#(0,6)與(6)等效

ms=random.randint(0,9)#產(chǎn)生0-9的隨機(jī)整數(shù)mc=mc+str(ms)#存儲(chǔ)驗(yàn)證碼數(shù)字print(mc)#顯示驗(yàn)證碼mi=input("請(qǐng)正確輸入以上驗(yàn)證碼")ifmi==mc:print("驗(yàn)證正確")else:print("驗(yàn)證失敗"2.計(jì)算思維的要素Pattern?Recognition??模式識(shí)別?Pattern?recognition?is?the?process?of?identifying?patternsand?trends?among?the?parts?of?a?problem.?You?can?find?patterns?from?previous?experiences?and?apply?them?to?other?problems?as?well!?

模式識(shí)別是識(shí)別不同問題中的模式和趨勢(shì)(共同點(diǎn))的過程。你能從以往的經(jīng)驗(yàn)中得到規(guī)律并且舉一反三將它運(yùn)用到其他的問題中。

計(jì)算思維的要素識(shí)別的數(shù)學(xué)模型importrandom#導(dǎo)入隨機(jī)數(shù)模塊mn=['正面','反面']#列表存儲(chǔ)顯示信息ms=random.randint(0,1)#產(chǎn)生0或1隨機(jī)數(shù)print("計(jì)算機(jī)拋出:",mn[ms])最簡(jiǎn)單的一個(gè)識(shí)別(數(shù)學(xué)模型的構(gòu)建)實(shí)例:拋硬幣,正面?反面?3.計(jì)算思維的要素Abstraction??抽象化?Abstraction?is?the?process?of?removing?unnecessary?information?to?focus?on?what?is?essential.?抽象化是關(guān)注關(guān)鍵信息,忽略不必要細(xì)節(jié)的過程??Can?you?guess?where?these?animals?live??你能猜出來這些動(dòng)物生活在哪里嗎??That’s?right,?underwater?--?you?can?guess?by?focusing?on?their?fins,?which?they?use?to?swim!?對(duì)了!在水里面—你能從它們的魚鰭看出來,那是它們用來游泳的!

計(jì)算思維的要素:抽像出特征、關(guān)系defshengxiao(year):#求生肖zodiac=["鼠","牛","虎","兔","龍","蛇","馬","羊","猴","雞","狗","豬"]index=(year-1972)%12#余數(shù)是重要依據(jù)returnzodiac[index]#以下為主程序myyear=int(input("請(qǐng)輸入出生年份,輸入0結(jié)束:"))whilemyyear!=0:print("你的生肖是:",shengxiao(myyear))myyear=int(input("請(qǐng)輸入出生年份,輸入0結(jié)束:"))實(shí)例:4.計(jì)算思維的本意一定方法的有限步驟Algorithmic?Thinking???(算法思維)Algorithmic?Thinking?is?the?process?of?solving?a?problem?step?by?step.?When?you?get?ready?for?school,?tie?your?shoelaces...you’re?using?it?in?daily?life?without?realising!?算法思維是一步步解決問題的過程。當(dāng)你準(zhǔn)備去學(xué)校,系好了鞋帶….你卻沒有意識(shí)到你已經(jīng)在日常生活中使用流程建設(shè)了?。

計(jì)算思維的本意算法基本結(jié)構(gòu)importrandom#導(dǎo)入隨機(jī)數(shù)模塊mc=""#清空驗(yàn)證碼foriinrange(3):

#最多允許三次驗(yàn)證

mc=str(random.randint(0,1000000))print(mc)#顯示驗(yàn)證碼

mi=input("請(qǐng)正確輸入以上驗(yàn)證碼")ifmi==mc:print("驗(yàn)證正確")

breakelse:print("驗(yàn)證失敗")實(shí)例:(二)程序教學(xué)中概念的技術(shù)價(jià)值在中小學(xué)不宜講列表的存儲(chǔ)原理(也的確比較難),也不宜過度講切片和各種方法(也的確比較多),但是有一點(diǎn),說起來可能不遇上就感覺無所謂,遇上了卻也很致命。不能簡(jiǎn)單說列表是數(shù)組或者像數(shù)組,初學(xué)者壓根別提數(shù)組就好多了。我在交流時(shí),想請(qǐng)大家忘記以前的語言,不要拿Python跟C++、VB對(duì)比,因?yàn)樾∨墒蔷C合了各家特點(diǎn),又留有很大的開源發(fā)展空間,過度講語法對(duì)非計(jì)算機(jī)專業(yè)來說是個(gè)弊端,且很容易講錯(cuò)。所以,初學(xué)者就是講算法的設(shè)計(jì)為好。(二)程序教學(xué)中概念的技術(shù)價(jià)值

數(shù)組(以往的概念)是靜態(tài)的,需要先定義類型、空間,如VB:dima(9)asinteger,如C:inta[9],在內(nèi)存中開辟了靜態(tài)的空間,不論用或不用都在那里。列表(Python)是動(dòng)態(tài)的,可以增減空間(采取預(yù)算制,當(dāng)然并非增加一個(gè)就申請(qǐng)一次)。我們?nèi)绻v動(dòng)態(tài)很好了,說加一個(gè)元素就讓內(nèi)存給一個(gè)地方,就又錯(cuò)了。列表教學(xué)的實(shí)例哪些更能體現(xiàn)其技術(shù)價(jià)值?(三層視角)1.語法是最淺層就是讓學(xué)生實(shí)驗(yàn)列表的直接訪問或遍歷,p=[1,2,3]print(p)print(p[1])這種,甚至加點(diǎn)挑戰(zhàn)print(p[1:2])。目的是語法學(xué)習(xí):[],等。這樣認(rèn)識(shí),可行!但意義不大!預(yù)防!

列表教學(xué)的實(shí)例哪些更能體現(xiàn)其技術(shù)價(jià)值?(三層視角)

2.加強(qiáng)應(yīng)用的技術(shù)表層使用列表存儲(chǔ)地名、水果、人物,進(jìn)行分類管理數(shù)據(jù)。總之是離開了單純的數(shù)值,用上了應(yīng)用題,有點(diǎn)使用價(jià)值了。有點(diǎn)技巧,比如編號(hào)對(duì)應(yīng),列表p=["001","蘋果","002","菠蘿"]這樣認(rèn)識(shí),很可行!但不到位!注意!

列表教學(xué)的實(shí)例哪些更能體現(xiàn)其技術(shù)價(jià)值?(三層視角)

3.提高應(yīng)用的技術(shù)深層使用列表動(dòng)態(tài)存儲(chǔ)數(shù)據(jù),有教材寫到購(gòu)物列表(或點(diǎn)餐程序)等,就有技術(shù)價(jià)值的意思了。這樣就加入到p.append("003"),如果能夠自動(dòng)對(duì)應(yīng)到貨物列表C中的003的物品和單價(jià),如[“芒果”,3)更好。這樣,如果讓學(xué)生做不同的程序,能夠刪除物品dellp[0]或就更生動(dòng)。(1)動(dòng)態(tài)存儲(chǔ)(2)存儲(chǔ)、計(jì)算、維護(hù)(購(gòu)物程序)如:my=["001","2.5",”10”,"002","19.9",”20”]注意:右開,不含,到不了3列表教學(xué)的實(shí)例哪些更能體現(xiàn)其技術(shù)價(jià)值?(購(gòu)物結(jié)算程序升級(jí))1.數(shù)據(jù)存儲(chǔ)(倉庫)預(yù)先提供存儲(chǔ)的貨物,減少輸入,提高效率??捎昧斜?、字典、文件存儲(chǔ)。以列表為例:列表教學(xué)的實(shí)例哪些更能體現(xiàn)其技術(shù)價(jià)值?(購(gòu)物結(jié)算程序升級(jí))2.數(shù)據(jù)顯示(通用)

自動(dòng)化顯示任意列表:mp,長(zhǎng)度自動(dòng)檢測(cè):len(mp)

標(biāo)題name自定義,每行數(shù)據(jù)根據(jù)物品參數(shù)個(gè)數(shù)確定(K)end=””是不換行end=”\n”是換行

列表教學(xué)的實(shí)例哪些更能體現(xiàn)其技術(shù)價(jià)值?(購(gòu)物結(jié)算程序升級(jí))3.數(shù)據(jù)檢索(自動(dòng)化)在預(yù)先提供存儲(chǔ)的貨物中檢索,減少輸入,提高效率。以列表為例:貨號(hào)的位置貨名的位置單價(jià)的位置如:my=["001","蘋果","2.5",”10”,"002","櫻桃","19.9",”20”]列表教學(xué)的實(shí)例哪些更能體現(xiàn)其技術(shù)價(jià)值?(購(gòu)物結(jié)算程序升級(jí))4.計(jì)算位置如:my=["001","蘋果","2.5",”10”,"002","櫻桃","19.9",”20”]從第3個(gè)數(shù)據(jù),即my[2]單價(jià)開始,乘以數(shù)量my[2+1]。每組數(shù)據(jù)4個(gè),所以要步長(zhǎng)為4。列表教學(xué)的實(shí)例哪些更能體現(xiàn)其技術(shù)價(jià)值?(購(gòu)物結(jié)算程序升級(jí))5.主程序的優(yōu)化自定義函數(shù)調(diào)用,參數(shù)具有非常大的意義。貨物單、購(gòu)物單的適時(shí)顯示,界面更友好。教法突破難點(diǎn)需要靈活的策略請(qǐng)別浪費(fèi)課時(shí)很貴愛編程愛課程為學(xué)習(xí)尋找方法小技巧集大領(lǐng)悟1.程序項(xiàng)目教學(xué)中的行為經(jīng)歷與思維發(fā)展項(xiàng)目選題:通過折半查找體驗(yàn)分治算法的工作過程與運(yùn)行效率。項(xiàng)目?jī)?nèi)容:

微項(xiàng)目1:探究利用分治提高效率的原理

微項(xiàng)目2:探究折半查找提高效率的過程微項(xiàng)目3:探究折半查找算法的程序?qū)崿F(xiàn)微項(xiàng)目1:探究利用分治提高效率的原理項(xiàng)目?jī)?nèi)容:研究方格數(shù)與對(duì)折數(shù)的關(guān)系活動(dòng)1:探究把紙對(duì)折n次,每一次方格數(shù)s的變化記錄,發(fā)現(xiàn)規(guī)律?;顒?dòng)2:尋找構(gòu)造方格數(shù)s需要對(duì)折的次數(shù)n的計(jì)算方法。S=n紅心換成loglogS=n項(xiàng)目交流:對(duì)折方格:O(logn)一格格畫方格:O(n)

哪個(gè)費(fèi)時(shí)?

知識(shí):時(shí)間復(fù)雜度S=2**n微項(xiàng)目2:探究折半查找提高效率的過程項(xiàng)目?jī)?nèi)容:猜數(shù)游戲的算法設(shè)計(jì)活動(dòng)1:猜數(shù)游戲,分析比賽速度?;顒?dòng)2:折半查找過程推演。微項(xiàng)目2:探究折半查找提高效率的過程m[0]5m[1]8m[2]9

m[3]12m[4]17m[5]20m[6]32m[7]56m[8]70m[9]80m[10]90m[11]99lRmm=(l+r)//2中間值大于答案,范圍左移:r=m-1中間值小于答案,范圍右移:l=m+1lmRmlm微項(xiàng)目3:探究折半查找算法的程序?qū)崿F(xiàn)defs[date,da]:#自定義函數(shù)s,在date列表中尋找dal=0#左邊界r=len(date)-1#右邊界

項(xiàng)目?jī)?nèi)容微項(xiàng)目3:探究折半查找算法的程序?qū)崿F(xiàn)

whilel<=r:#左邊界不大于右邊界

m=(l+r)//2#中間位置//整除ifdate[m]==da:#如果找到答案da就返回位置returnm

ifdate[m]>da:#中間位置數(shù)大就修改右邊界到中間-1r=m-1else:l=m+1#如果中間位置數(shù)小就修改右邊界到中間+1return"無"項(xiàng)目?jī)?nèi)容微項(xiàng)目3:探究折半查找算法的程序?qū)崿F(xiàn)d1=[2,4,6,8,10,12]x=8y=11print(f'{x}的位置是:{s(d1,x)}')

#f''格式化字符串,{}轉(zhuǎn)義[計(jì)算]print(f'{y}的位置是:{s(d1,y)}')項(xiàng)目?jī)?nèi)容項(xiàng)目交流:1.更換查找的內(nèi)容,試驗(yàn)查找較小值、查找不成功的情況,交流程序運(yùn)行過程。2.如何在程序中使用計(jì)數(shù)器計(jì)算該算法的時(shí)間復(fù)雜度和本次查找所用“時(shí)間[次數(shù)]”整體項(xiàng)目交流:1.利用微項(xiàng)目1、微項(xiàng)目2、微項(xiàng)目3收獲,交流

分治思想(折半算法)項(xiàng)目?jī)?nèi)容,探討提高效率的原因。2.舉例說明生活中常用的分治思想工作實(shí)例。某地900萬新冠檢測(cè)方式:“十合一”。10份學(xué)樣混合測(cè)試,陰性就通過,陽性就給這10個(gè)人再單獨(dú)測(cè)一次。實(shí)際采樣900萬,核酸檢測(cè)90

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論