Python電子教案4-1-程序的控制結(jié)構(gòu)_第1頁
Python電子教案4-1-程序的控制結(jié)構(gòu)_第2頁
Python電子教案4-1-程序的控制結(jié)構(gòu)_第3頁
Python電子教案4-1-程序的控制結(jié)構(gòu)_第4頁
Python電子教案4-1-程序的控制結(jié)構(gòu)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第4章 程序的控制結(jié)構(gòu)程序的基基本結(jié)構(gòu)構(gòu)程序流程程圖用一一系列圖圖形、流流程線和和文字說說明描述述程序的的基本操操作和控控制流程程,它是是程序分分析和過過程描述述的最基基本方式程序流程程圖起止框表表示一個(gè)個(gè)程序的的開始和和結(jié)束;判斷框判斷斷一個(gè)條條件是否否成立,根據(jù)判斷結(jié)結(jié)果選擇擇不同的的執(zhí)行路路徑處理框表示示一組處處理過程程;輸入輸出框框表示數(shù)數(shù)據(jù)輸入入或結(jié)果果輸出;程序流程程圖注釋框增增加程序序的解釋釋;流向線以帶帶箭頭直直線或曲曲線形式式指示程程序的執(zhí)執(zhí)行路徑徑;連接點(diǎn)將將多個(gè)流流程圖連連接到一一起,常常用于將將一個(gè)較較大流程程圖分割割為若干干部分。程序流程程圖程序流程程圖順序結(jié)構(gòu)構(gòu)是程

2、序序按照線線性順序序依次執(zhí)執(zhí)行的一一種運(yùn)行行方式,如圖4.3所示,其其中S1和S2表示一個(gè)個(gè)或一組組順序執(zhí)執(zhí)行的語語句。程序的基基本結(jié)構(gòu)構(gòu)分支結(jié)構(gòu)構(gòu)是程序序根據(jù)條條件判斷斷結(jié)果而而選擇不不同向前前執(zhí)行路路徑的一一種運(yùn)行行方式。由二分支支結(jié)構(gòu)會(huì)會(huì)組合形形成多分分支結(jié)構(gòu)構(gòu)。程序的基基本結(jié)構(gòu)構(gòu)循環(huán)結(jié)構(gòu)構(gòu)是程序序根據(jù)條條件判斷斷結(jié)果向向后反復(fù)復(fù)執(zhí)行的的一種運(yùn)運(yùn)行方式式,根據(jù)循環(huán)體體觸發(fā)條條件不同同,循環(huán)環(huán)結(jié)構(gòu)包包括條件件循環(huán)和和遍歷循循環(huán)結(jié)構(gòu)構(gòu)。程序的基基本結(jié)構(gòu)構(gòu)對(duì)于一個(gè)個(gè)計(jì)算問問題,可可以用IPO描述、流流程圖描描述或者者直接以以Python代碼方式式描述。本書僅僅對(duì)這幾幾種描述述進(jìn)行介介紹,功功能

3、簡單單的問題題建議大大家直接接編寫Python代碼,功功能復(fù)雜雜的問題題讀者可可以采用用IPO描述或流流程圖描描述為手手段。下下面給出出3個(gè)微實(shí)例例,通過過不同的的描述方方法具體體解釋程程序的三三種基本本結(jié)構(gòu)。程序的基基本結(jié)構(gòu)構(gòu)實(shí)例根據(jù)圓的的半徑計(jì)計(jì)算圓的的面積和和周長。圖4.6分別給出出了該問問題的IPO描述、流流程圖描描述和Python代碼描述述。微實(shí)例4.1:圓面積積和周長長的計(jì)算算。輸入:圓半徑徑R處理:圓面積:S =*R*R圓周長:L =2*R輸出:圓面積積S、周長L程序的描描述方式式主要有有三類,分別是是自然語語言、流流程圖和和偽代碼碼。自然語言言描述方方式指使使用人類類語言直直接

4、描述述程序,IPO描述是這這類的一一種。優(yōu)優(yōu)點(diǎn)是靈靈活自然然,缺點(diǎn)點(diǎn)是比較較繁瑣,容易出出現(xiàn)二義義性,一一個(gè)描述述可以產(chǎn)產(chǎn)生多種種不同的的程序代代碼。流程圖描描述是程程序最直直觀易懂懂的表達(dá)達(dá)方式,主要適適用于較較短算法法。優(yōu)點(diǎn)點(diǎn)是直觀觀、清晰晰且邏輯輯確定,缺點(diǎn)是是流程圖圖繪制比比較繁瑣瑣,當(dāng)程程序較大大時(shí)流程程圖會(huì)很很復(fù)雜,反而降降低了表表達(dá)的清清晰性。程序的基基本結(jié)構(gòu)構(gòu)實(shí)例偽代碼描描述是介介于自然然語言與與編程語語言之間間的一種種算法描描述語言言。使用用偽代碼碼不用拘拘泥于具具體編程程語言,對(duì)整個(gè)個(gè)算法運(yùn)運(yùn)行過程程的描述述最接近近自然語語言。與與直接的的自然語語言描述述不同,偽代碼碼在保

5、持持程序結(jié)結(jié)構(gòu)的情情況下描描述算法程序的基基本結(jié)構(gòu)構(gòu)實(shí)例計(jì)算用戶戶給定實(shí)實(shí)數(shù)的絕絕對(duì)值。圖4.7分別給出出了該計(jì)計(jì)算問題題的IPO描述、流流程圖描描述和Python代碼描述述。微實(shí)例4.2:實(shí)數(shù)絕絕對(duì)值的的計(jì)算微實(shí)例4.3:整數(shù)累累加。輸入:正正整數(shù)R處理:S=1+2+3+R輸出:輸輸出S計(jì)算1到正整數(shù)數(shù)R的算術(shù)和和。圖4.8分別給出出了該計(jì)計(jì)算問題題的IPO描述、流流程圖描描述和Python代碼描述述。IPO描述、流流程圖描描述和Python代碼描述述是解決決計(jì)算問問題的三三種描述述方式,細(xì)致程程度逐步步遞進(jìn)。IPO描述主要要用于區(qū)區(qū)分程序序的輸入入輸出關(guān)關(guān)系,重重點(diǎn)在于于結(jié)構(gòu)劃劃分,主主要

6、采用用自然語語言描述述。流程程圖描述述側(cè)重于于描述算算法的具具體流程程關(guān)系,流程圖圖的結(jié)構(gòu)構(gòu)化關(guān)系系相比自自然語言言描述更更進(jìn)一步步,有助助于闡述述算法的的具體操操作過程程。Python代碼描述述是最終終的程序序產(chǎn)出,最為細(xì)細(xì)致。程序的基基本結(jié)構(gòu)構(gòu)實(shí)例程序的分分支結(jié)構(gòu)構(gòu)Python中if語句的語語法格式式如下:if:是if條件滿足足后執(zhí)行行的一個(gè)個(gè)或多個(gè)個(gè)語句序序列,中語句通通過與if所在行形形成縮進(jìn)進(jìn)表達(dá)包包含關(guān)系系。單分支結(jié)結(jié)構(gòu): if語句If語句首先先評(píng)估的結(jié)果值值,如果果結(jié)果為為True,則執(zhí)行行里的語句句序列,然后控控制轉(zhuǎn)向向程序的的下一條條語句。如果結(jié)結(jié)果為False,里的語句句會(huì)

7、被跳跳過。if語句的控控制過程程如圖4.9所示單分支結(jié)結(jié)構(gòu): if語句if語句中執(zhí)行與否否依賴于于條件判判斷。但但無論什什么情況況,控制制都會(huì)轉(zhuǎn)轉(zhuǎn)到if語句后與與該語句句同級(jí)別別的下一一條語句句。if語句中部分可以以使用任任何能夠夠產(chǎn)生True或False的語句或或函數(shù)。形成判判斷條件件最常見見的方式式是采用用關(guān)系操操作符。單分支結(jié)結(jié)構(gòu): if語句Python語言共有有6個(gè)關(guān)系操操作符,見表4.1所示。單分支結(jié)結(jié)構(gòu): if語句操作符數(shù)學(xué)符號(hào)操作符含義小于=大于等于大于=等于!=不等于一個(gè)簡化化版的空空氣質(zhì)量量標(biāo)準(zhǔn)采采用三級(jí)級(jí)模式:0-35為優(yōu),35-75為良,75以上為污污染。人人們也許許不關(guān)

8、心心PM2.5指數(shù)值具具體為多多少,更更關(guān)心空空氣質(zhì)量量到底怎怎樣。計(jì)計(jì)算機(jī)可可以通過過PM2.5指數(shù)分級(jí)級(jí)發(fā)布空空氣質(zhì)量量提醒。微實(shí)例4.4:PM2.5空氣質(zhì)量量提醒(1)該問題的的IPO描述如下下:輸入:接接收外部部輸入PM2.5值處理:ifPM2.5值=75,打印空空氣污染染警告if35=PM2.5值 75,打印空空氣污染染警告ifPM2.5值 35,打印空空氣質(zhì)量量優(yōu),建建議戶外外運(yùn)動(dòng)輸出:打打印空氣氣質(zhì)量提提醒微實(shí)例4.4:PM2.5空氣質(zhì)量量提醒(1)微實(shí)例4.4:PM2.5空氣質(zhì)量量提醒(1)微實(shí)例4.4展示了用用數(shù)字進(jìn)進(jìn)行條件件比較的的例子,字符或或字符串串也可以以用于條條件比

9、較較。字符符串比較較本質(zhì)上上是字符符串對(duì)應(yīng)應(yīng)的Unicode編碼的比比較,因因此,字字符串的的比較按按照字典典順序進(jìn)進(jìn)行。例如,英英文大寫寫字符對(duì)對(duì)應(yīng)的Unicode編碼比小小寫字符符小。以以下是一一些例子子:微實(shí)例4.4:PM2.5空氣質(zhì)量量提醒(1)Python中if-else語句用來來形成二二分支結(jié)結(jié)構(gòu),語語法格式式如下:if:else:二分支結(jié)結(jié)構(gòu): if-else語句是在if條件滿足足后執(zhí)行行的一個(gè)個(gè)或多個(gè)個(gè)語句序序列,是if條件不滿滿足后執(zhí)執(zhí)行的語語句序列列。二分支語句句用于區(qū)區(qū)分的兩種可可能True或者False,分別形形成執(zhí)行行路徑。二分支結(jié)結(jié)構(gòu): if-else語句二分支結(jié)結(jié)

10、構(gòu): if-else語句二分支結(jié)結(jié)構(gòu)還有有一種更更簡潔的的表達(dá)方方式,適適合通過過判斷返返回特定定值,語語法格式式如下:if else其中,一般是數(shù)數(shù)字類型型或字符符串類型型的一個(gè)個(gè)值,微微實(shí)例4-5可以改造造為:二分支結(jié)結(jié)構(gòu): if-else語句Python的if-elif-else描述多分分支結(jié)構(gòu)構(gòu),語句句格式如如下,如如圖4.10所示if:elif :.else:多分支結(jié)結(jié)構(gòu): if-elif-else語句多分支結(jié)結(jié)構(gòu)是二二分支結(jié)結(jié)構(gòu)的擴(kuò)擴(kuò)展,這這種形式式通常用用于設(shè)置置同一個(gè)個(gè)判斷條條件的多多條執(zhí)行行路徑。Python依次評(píng)估估尋找第第一個(gè)結(jié)結(jié)果為True的條件,執(zhí)行該該條件下下的語句

11、句塊,同同時(shí)跳過過整個(gè)if-elif-else結(jié)構(gòu),執(zhí)執(zhí)行后面面的語句句。如果果沒有任任何條件件成立,else下面的語語句塊被被執(zhí)行。else子句是可可選的。多分支結(jié)結(jié)構(gòu): if-elif-else語句微實(shí)例4.4通過多條條獨(dú)立的的if語句對(duì)同同一個(gè)變變量PM進(jìn)行判斷斷,這種種情況更更適合多多分支結(jié)結(jié)構(gòu),改改造后的的代碼如如下:多分支結(jié)結(jié)構(gòu): if-elif-else語句實(shí)例5:身體質(zhì)量量指數(shù)BMI身體質(zhì)量量指數(shù)BMIBMI值可以“客觀的的”衡量量個(gè)人的的肥胖程程度或者者說健康康程度。世界衛(wèi)衛(wèi)生組織織(WHO)根據(jù)對(duì)對(duì)全球人人口體重重的統(tǒng)計(jì)計(jì)認(rèn)為,BMI值低于18.5 kg/m2時(shí)屬于“過輕”

12、,表明明個(gè)體可可能營養(yǎng)養(yǎng)不良或或者飲食食無法保保障;BMI值高于25kg/m2時(shí)屬于“過重”。分類國際BMI值(kg/m2)國內(nèi)BMI值(kg/m2)偏瘦 18.5= 30= 28身體質(zhì)量量指數(shù)BMI本實(shí)例編編寫一個(gè)個(gè)根據(jù)體體重和身身高計(jì)算算BMI值的程序序,并同同時(shí)輸出出國際和和國內(nèi)的的BMI指標(biāo)建議議值。該該問題的的IPO描述如下下:輸入:身身高和體體重值處理:計(jì)計(jì)算BMI值,并根根據(jù)BMI指標(biāo)分類類找到合合適分類類輸出:打打印指標(biāo)標(biāo)分類信信息身體質(zhì)量量指數(shù)BMI實(shí)例代碼碼5.1實(shí)例代碼碼5.1程序執(zhí)行行后的效效果如下下:實(shí)例代碼碼5.1采用了多多分支結(jié)結(jié)構(gòu)對(duì)BMI數(shù)值按照照不同區(qū)區(qū)間范圍圍進(jìn)行分分類,這這種采用用if-elif-else分支語句句進(jìn)行程程序設(shè)計(jì)計(jì)的方式式十分常常見。盡盡管需要要同時(shí)打打印國際際和國內(nèi)內(nèi)兩套BMI標(biāo)準(zhǔn),程程序中采采用兩個(gè)個(gè)if-elif-else語句分別別計(jì)算兩兩類不同同BMI值。這種種做法的的好處是是代碼清清晰明了了,容易易調(diào)試。身體質(zhì)量量指數(shù)BMI實(shí)例代碼碼5.

溫馨提示

  • 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)論