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

下載本文檔

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

文檔簡介

2.4

可以復(fù)用的代碼第二單元

編程計算學(xué)習(xí)目標(biāo)理解“自頂向下、逐步細(xì)化”的編程思想;學(xué)會將復(fù)雜問題分解為可管理的子問題;掌握用函數(shù)模塊化實(shí)現(xiàn)各子功能;提高程序設(shè)計的邏輯性與可維護(hù)性;通過具體案例實(shí)踐Python編程中的問題分解與實(shí)現(xiàn)。情景引入簡易計算器的實(shí)現(xiàn)print("簡易計算器")print("1.加法(+)")print("2.減法(-)")print("3.乘法(*)")print("4.除法(/)")

num1=float(input("請輸入第一個數(shù):"))num2=float(input("請輸入第二個數(shù):"))op=input("請輸入操作符(+,-,*,/):")ifop=='+':num=num1+num2elifop=='-':num=num1-num2elifop=='*':num=num1*num2elifop=='/':ifnum2!=0:num=num1/num2else:print("錯誤:除數(shù)不能為零")else:print("無效操作符")print(num)思考:是否可以將大問題拆成小任務(wù)?每個小任務(wù)是否更容易實(shí)現(xiàn)?“自頂向下、逐步細(xì)化”任務(wù)一

用自定義函數(shù)實(shí)現(xiàn)簡易計算器1.什么是“自頂向下、逐步細(xì)化”?自頂向下:從整體出發(fā),先設(shè)計高層結(jié)構(gòu),再逐步深入細(xì)節(jié);逐步細(xì)化:將每個模塊不斷分解,直到每一步都可具體實(shí)現(xiàn)。2.編程中的體現(xiàn):主程序→功能模塊→函數(shù)→具體語句3.一般步驟明確問題需求;分解為若干子問題;設(shè)計函數(shù)接口(名稱、參數(shù)、返回值);逐步實(shí)現(xiàn)每個函數(shù);組合調(diào)用,完成整體功能。函

數(shù)函數(shù)的定義格式def

函數(shù)名(參

數(shù)

):

語句或語句組

return

返回值def:用于聲明創(chuàng)建一個函數(shù)return:用于返回函數(shù)的值,可以不寫或發(fā)回空值(return0)參數(shù):是外部數(shù)據(jù)進(jìn)入函數(shù)內(nèi)部的入口,可以為空(viod)函數(shù)的封裝print("簡易計算器")print("1.加法(+)")print("2.減法(-)")print("3.乘法(*)")print("4.除法(/)")函數(shù)的封裝是指將一段實(shí)現(xiàn)特定功能的代碼邏輯組織成一個獨(dú)立的函數(shù)單元,對外只提供簡單的調(diào)用接口,隱藏內(nèi)部實(shí)現(xiàn)細(xì)節(jié)。defshow_menu():print("簡易計算器")print("1.加法(+)")print("2.減法(-)")print("3.乘法(*)")print("4.除法(/)")show_menu()①函數(shù)的封裝defget_input():num1=float(input("請輸入第一個數(shù):"))num2=float(input("請輸入第二個數(shù):"))op=input("請輸入操作符(+,-,*,/):")returnnum1,num2,op②num1=float(input("請輸入第一個數(shù):"))num2=float(input("請輸入第二個數(shù):"))op=input("請輸入操作符(+,-,*,/):")請封裝下列程序:函數(shù)的封裝defcalculate(num1,num2,op):ifop=='+':returnnum1+num2elifop=='-':returnnum1-num2elifop=='*':returnnum1*num2elifop=='/':ifnum2!=0:returnnum1/num2else:return"錯誤:除數(shù)不能為零"else:return"無效操作符"③ifop=='+':num=num1+num2elifop=='-':num=num1-num2elifop=='*':num=num1*num2elifop=='/':ifnum2!=0:num=num1/num2else:print("錯誤:除數(shù)不能為零")else:print("無效操作符")請封裝下列程序:主函數(shù)主函數(shù)是程序的“大腦”,負(fù)責(zé):●

接收輸入●

調(diào)用其他功能函數(shù)●

控制程序執(zhí)行順序●

輸出結(jié)果它體現(xiàn)了“自頂向下、逐步細(xì)化”的設(shè)計思想——把大問題分解為小函數(shù),再由main()統(tǒng)一調(diào)度。defmain():show_menu()num1,num2,op=get_input()result=calculate(num1,num2,op)print("結(jié)果:",result)④任務(wù)二

實(shí)現(xiàn)簡易計算器的代碼共享發(fā)布代碼的準(zhǔn)備在D:\創(chuàng)建一個文件夾mymodule,其中包含mymodule.py和setup.py兩個文件。mymodule.py是一個模塊文件,其內(nèi)容就是簡易計算器的封裝代碼。setup.py文件包含有關(guān)發(fā)布的元數(shù)據(jù),代碼如書上所示。發(fā)布代碼導(dǎo)入模塊并使用在D:\創(chuàng)建一個test.py文件。在文件中引入庫(importmymodule)調(diào)用庫中的函數(shù)(mymodule.function_name)當(dāng)堂總結(jié)當(dāng)堂練習(xí)1.在編程中,復(fù)用代碼的主要好處是(

)A.增加代碼量

B.提高程序執(zhí)行速度C.減少代碼冗余

D.增加程序復(fù)雜性【答案】C2.下列哪個選項(xiàng)是Python中定義函數(shù)的基本結(jié)構(gòu)?(

)A.functionmy_function:B.defmy_function():C.my_function=function()D.create_functionmy_function【答案】B3.以下哪個選項(xiàng)是Python中實(shí)現(xiàn)代碼復(fù)用的錯誤方式?(

)A.使用函數(shù)B.復(fù)制粘貼代碼C.使用類D.使用模塊【答案】B4.在編程中,封裝的概念主要用于(

)A.隱藏實(shí)現(xiàn)細(xì)節(jié)B.顯示所有細(xì)節(jié)C.增加代碼的可讀性D.減少代碼的執(zhí)行效率【答案】A5.以下哪個Python代碼片段正確地展示了如何使用默認(rèn)參數(shù)?(

)A.deffunc(a,b=5):returna+bB.deffunc(a,b):returna+bC.deffunc(a=5,b):returna+bD.deffunc(b,a):returna+b【答案】A拓

溫馨提示

  • 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

提交評論