可以復(fù)用的代碼課件-2024-2025學(xué)年高一上學(xué)期高中信息技術(shù)必修一第2單元教科版_第1頁
可以復(fù)用的代碼課件-2024-2025學(xué)年高一上學(xué)期高中信息技術(shù)必修一第2單元教科版_第2頁
可以復(fù)用的代碼課件-2024-2025學(xué)年高一上學(xué)期高中信息技術(shù)必修一第2單元教科版_第3頁
可以復(fù)用的代碼課件-2024-2025學(xué)年高一上學(xué)期高中信息技術(shù)必修一第2單元教科版_第4頁
可以復(fù)用的代碼課件-2024-2025學(xué)年高一上學(xué)期高中信息技術(shù)必修一第2單元教科版_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2.4可以復(fù)用的代碼-垃圾分類高一信息技術(shù)

上學(xué)期

第2單元編程計算知識回顧

分支結(jié)構(gòu):根據(jù)不同的條件判斷來決定程序執(zhí)行走向的結(jié)構(gòu),可以使用if分支語句實現(xiàn)。if條件表達(dá)式1:

語句塊1elif條件表達(dá)式2:

語句塊2……elif條件表達(dá)式N:

語句塊Nelse:

語句塊N+1if條件表達(dá)式:

語句塊1if條件表達(dá)式:

語句塊1else:語句塊2單分支雙分支多分支思維導(dǎo)圖2.4可以復(fù)用的代碼-垃圾分類

假設(shè),你是一位編程元宇宙的“垃圾分類廠”廠長,現(xiàn)在工廠初創(chuàng),還是“人工”分揀,假設(shè)人員一次性最多分類三種垃圾。請你打開“導(dǎo)入程序”,說一下這段代碼給你什么感覺?“垃圾分類廠”初創(chuàng)困境情景1.代碼重復(fù)、冗長2.書寫、閱讀起來效率低下

我們編寫的程序代碼中有許多功能是相似甚至完全相同的,這時可以考慮代碼復(fù)用的方法提高程序的效率。在用算法解決問題的過程中,經(jīng)常采用模塊化程序設(shè)計思想,將問題分解成若干個子問題,并用相對獨(dú)立的程序段來針對性的解決各個子問題,提高程序設(shè)計的效率。對于常用的程序代碼,以模塊化的形式進(jìn)行保存,需要時可重復(fù)調(diào)用。在Python中,主要利用函數(shù)、模塊等方式實現(xiàn)模塊化程序設(shè)計。設(shè)計思想函數(shù)是一段具有特定功能的、可復(fù)用的語句組,用函數(shù)名來表示并通過函數(shù)名進(jìn)行功能調(diào)用。每次使用函數(shù)可以提供不同的參數(shù)作為輸入,以實現(xiàn)對不同數(shù)據(jù)的處理;函數(shù)執(zhí)行后,還可以反饋相應(yīng)的處理結(jié)果。函數(shù)能夠完成特定功能,與黑盒類似,對函數(shù)的使用不需要了解函數(shù)內(nèi)部實現(xiàn)原理,只要了解函數(shù)的輸入輸出方式即可。函數(shù)的定義使用函數(shù)主要有兩個目的:降低編程難度和代碼復(fù)用。函數(shù)是一種功能抽象,利用它可以將一個復(fù)雜的大問題分解成一系列簡單的小問題,然后將小問題繼續(xù)劃分成更小的問題,當(dāng)問題細(xì)化到足夠簡單時,就可以分而治之,為每個小問題編寫程序,并通過函數(shù)封裝,當(dāng)各個小問題都解決了,大問題也就迎刃而解。這是一種自頂向下的程序設(shè)計思想。函數(shù)可以在一個程序中的多個位置使用,也可以用于多個程序,當(dāng)需要修改代碼時,只需要在函數(shù)中修改一次,所有調(diào)用位置的功能都更新了,這種代碼復(fù)用降低了代碼行數(shù)和代碼維護(hù)難度。函數(shù)的作用……print()input()range()思考:我們已經(jīng)學(xué)習(xí)了哪些函數(shù)?類別函數(shù)舉例系統(tǒng)函數(shù)(即函數(shù)庫中的標(biāo)準(zhǔn)函數(shù),是程序設(shè)計語言或操作系統(tǒng)提供給用戶的一系列已經(jīng)編制好的程序)數(shù)學(xué)運(yùn)算類min():求最小值max():求最大值abs():求絕對值sqrt():求平方根pow():求冪數(shù)據(jù)轉(zhuǎn)換類int():轉(zhuǎn)換成整型float():轉(zhuǎn)換成浮點(diǎn)型str():轉(zhuǎn)換成字符型bool():轉(zhuǎn)換成布爾型字符串操作類len():求字符串的長度mid():字符串中間截取輸入輸出類input():輸入函數(shù)print():輸出函數(shù)文件操作類open():打開文件自定義函數(shù)用戶自己編寫的一段程序factorial()、match_num()項目主題設(shè)計“垃圾分揀機(jī)”010203基礎(chǔ)任務(wù)1:打造“垃圾分揀機(jī)”樣機(jī)基礎(chǔ)任務(wù)2:打造“垃圾分揀機(jī)1.0”基礎(chǔ)任務(wù)3:打造“垃圾分揀機(jī)2.0”04進(jìn)階任務(wù)4:打造“新垃圾添加機(jī)”05拓展任務(wù)5:綜合“垃圾分揀機(jī)”Python目前還沒有能實現(xiàn)“垃圾分揀機(jī)”邏輯的內(nèi)置函數(shù)。所以,我們要定義一個專屬的“垃圾分揀機(jī)”函數(shù)。01打造“垃圾分揀機(jī)”樣機(jī)基礎(chǔ)任務(wù)

函數(shù)一般包括函數(shù)名、參數(shù)、返回值和函數(shù)體等四部分。其中,函數(shù)名和函數(shù)體是必不可少的,參數(shù)和返回值可根據(jù)需要進(jìn)行定義。

首先,我們先來定義一個無參數(shù)、無返回值的自定義函數(shù)。01打造“垃圾分揀機(jī)”樣機(jī)基礎(chǔ)任務(wù)def

函數(shù)名():

語句或語句組

函數(shù)體def關(guān)鍵字(define的縮寫),它是自定義函數(shù)的固定格式函數(shù)名需要遵守一定的命名規(guī)則,“見名知意”函數(shù)體要縮進(jìn),體現(xiàn)函數(shù)具備什么功能函數(shù)的定義和調(diào)用程序執(zhí)行時由于def塊中的代碼不是主程序的一部分,因此會跳過該段代碼,從主程序的第一行開始運(yùn)行。在遇到函數(shù)的調(diào)用語句時,轉(zhuǎn)到函數(shù)中的第一行代碼開始執(zhí)行。先定義后調(diào)用函數(shù)的定義和調(diào)用函數(shù)的執(zhí)行流程:先創(chuàng)建函數(shù);執(zhí)行代碼直到調(diào)用函數(shù);所謂調(diào)用函數(shù)就是使用這個函數(shù)。調(diào)用函數(shù)的語法:函數(shù)名()調(diào)用函數(shù)以后執(zhí)行函數(shù)內(nèi)部的代碼塊。01打造“垃圾分揀機(jī)”樣機(jī)基礎(chǔ)任務(wù)

打開“垃圾分揀機(jī)樣機(jī)”半成品程序,小組合作補(bǔ)全代碼,并調(diào)用該函數(shù),輸出結(jié)果如下:

觀察程序發(fā)現(xiàn)并沒有真正的實現(xiàn)代碼復(fù)用,下面我們將樣機(jī)進(jìn)行升級。

我們逐步升級這個“垃圾分揀機(jī)”,給它安裝一個“控制系統(tǒng)”:參數(shù),然后我們就可以通過參數(shù)來靈活控制分類過程了。02打造“垃圾分揀機(jī)1.0”基礎(chǔ)任務(wù)def

函數(shù)名(形式參數(shù)):

語句或語句組

在Python中,參數(shù)是函數(shù)要接收并對其進(jìn)行處理的數(shù)據(jù)。形參(形式參數(shù)):函數(shù)定義時的參數(shù),實際上就是變量名。實參(實際參數(shù)):函數(shù)調(diào)用時的參數(shù),實際上就是變量的值?!咀⒁狻亢瘮?shù)的參數(shù)可以是零個,一個,也可以是多個,當(dāng)有多個參數(shù)時,各個參數(shù)之間用逗號隔開。先定義后調(diào)用函數(shù)名(實際參數(shù))參數(shù)傳遞要一一對應(yīng)02打造“垃圾分揀機(jī)1.0”基礎(chǔ)任務(wù)

打開“垃圾分揀機(jī)1.0”半成品程序,小組合作將程序修改為帶參數(shù)的自定義函數(shù),并調(diào)用該函數(shù),輸出結(jié)果如下:函數(shù)的返回值03打造“垃圾分揀機(jī)2.0”基礎(chǔ)任務(wù)

return語句的功能是從函數(shù)內(nèi)部返回值。咱們再進(jìn)工廠,完善一下我們的“垃圾分揀機(jī)”,給它增加一個“垃圾出口”,打造“垃圾分揀機(jī)2.0”。def

函數(shù)名(形式參數(shù)):

語句或語句組

return

返回值函數(shù)體函數(shù)名(實際參數(shù))先定義后調(diào)用參數(shù)傳遞要一一對應(yīng)03打造“垃圾分揀機(jī)2.0”基礎(chǔ)任務(wù)

return語句的功能是從函數(shù)內(nèi)部返回值。咱們再進(jìn)工廠,完善一下我們的“垃圾分揀機(jī)”,給它增加一個“垃圾出口”,打造“垃圾分揀機(jī)2.0”。

打開“垃圾分揀機(jī)2.0”半成品程序,小組合作將程序修改為帶參數(shù)和返回值的自定義函數(shù),并調(diào)用該函數(shù),輸出結(jié)果如下:函數(shù)的返回值函數(shù)的執(zhí)行過程函數(shù)體實際參數(shù)返回值函數(shù)名形式參數(shù)執(zhí)行過程:程序執(zhí)行時由于def塊中的代碼不是主程序的一部分,因此會跳過該段代碼,從主程序的第一行name1="玻璃瓶"開始運(yùn)行。在遇到函數(shù)的調(diào)用語句classify(name1)時,轉(zhuǎn)到函數(shù)中的第一行代碼開始執(zhí)行。函數(shù)運(yùn)行時,變量name會被賦值為"玻璃瓶"。函數(shù)執(zhí)行完成返回"可回收垃圾",然后回到語句classification=classify(name1),將返回值賦給變量classification,因此classification="可回收垃圾",最后輸出玻璃瓶屬于可回收垃圾。04打造“新垃圾添加機(jī)”進(jìn)階任務(wù)

打開“新垃圾添加機(jī)”半成品程序,小組合作完善程序,并調(diào)用該函數(shù),實現(xiàn)添加新垃圾的功能。05綜合“垃圾分揀機(jī)”拓展任務(wù)

至此,組裝“垃圾分揀機(jī)”所需的所有零件都已經(jīng)完成了,再組裝這些零件,就能完成成品的“垃圾分揀機(jī)”了,請同學(xué)們小組合作探究完成。算法流程圖如下:課堂小結(jié)def

函數(shù)名(形式參數(shù)):

語句或語句組

return

返回值函數(shù)體函數(shù)名(實際參數(shù))先定義后調(diào)用參數(shù)傳遞要一一對應(yīng)函數(shù)名:同變量命名規(guī)則,要“見名知意”參數(shù):用于向函數(shù)傳遞值的,參數(shù)傳遞要對應(yīng)函數(shù)體:要縮進(jìn),體現(xiàn)函數(shù)具備什么功能返回值:將表達(dá)式的值返回給調(diào)用者參數(shù)、返回值可0個或多個,如多個以逗號分隔下節(jié)預(yù)告

同學(xué)們運(yùn)行“垃圾分揀機(jī)”程序,允許添加新的垃圾,每次重新運(yùn)行程序,用戶上次輸入的新垃圾和分類沒有保存,請思考一下這是什么原因造成的?原因:列表更新只在內(nèi)存中,每次運(yùn)行都會重新初始化列表。如果需要在程序重啟后仍然保留這些分類信息,需要將數(shù)據(jù)寫入文件,并在程序啟動時從文件中讀取

溫馨提示

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

評論

0/150

提交評論