算法的程序?qū)崿F(xiàn)同步復(fù)習(xí)課件-2024-2025學(xué)年教科版(2019)高中信息技術(shù)必修一_第1頁
算法的程序?qū)崿F(xiàn)同步復(fù)習(xí)課件-2024-2025學(xué)年教科版(2019)高中信息技術(shù)必修一_第2頁
算法的程序?qū)崿F(xiàn)同步復(fù)習(xí)課件-2024-2025學(xué)年教科版(2019)高中信息技術(shù)必修一_第3頁
算法的程序?qū)崿F(xiàn)同步復(fù)習(xí)課件-2024-2025學(xué)年教科版(2019)高中信息技術(shù)必修一_第4頁
算法的程序?qū)崿F(xiàn)同步復(fù)習(xí)課件-2024-2025學(xué)年教科版(2019)高中信息技術(shù)必修一_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

算法的程序?qū)崿F(xiàn)學(xué)科大概念二:算法目錄三、算法的程序?qū)崿F(xiàn)(一)運(yùn)用順序結(jié)構(gòu)描述問題

求解過程(二)運(yùn)用分支結(jié)構(gòu)描述問題

求解過程(三)運(yùn)用循環(huán)結(jié)構(gòu)描述問題

求解過程三、算法的程序?qū)崿F(xiàn)信息技術(shù)1.順序結(jié)構(gòu)順序結(jié)構(gòu)是最簡單的程序結(jié)構(gòu),也是最常用的程序結(jié)構(gòu),只要按照解決問題的順序?qū)懗鱿鄳?yīng)的語句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。知識梳理(一)運(yùn)用順序結(jié)構(gòu)描述問題求解過程2.順序結(jié)構(gòu)的特點(diǎn)(1)每個步驟按照算法中出現(xiàn)的順序依次執(zhí)行。(2)每個步驟一定會被執(zhí)行一次,而且只執(zhí)行一次。典型例題【例1】下列程序采用的是哪種算法結(jié)構(gòu)()a=3b=5s=a+bprint(s)A.循環(huán)結(jié)構(gòu)B.選擇結(jié)構(gòu)C.順序結(jié)構(gòu)

D.分支結(jié)構(gòu)答案:C解析:本題主要考查算法的結(jié)構(gòu),該程序段按出現(xiàn)的先后順序執(zhí)行,沒有分支,所以是順序結(jié)構(gòu),故選C典型例題【例2】求三角形面積S的部分流程圖如圖所示,三角形的底、高分別用變量a、h表示,對于框①和框②的作用,下列說法正確的是()A.框①用于輸入a和h的值,框②用于輸出S的值B.框①用于輸入a和S的值,框②用于輸出h的值C.框②用于輸入a和h的值,框①用于輸出S的值D.框②用于輸入S和a的值,框①用于輸出h的值典型例題答案:A解析:本題主要考查運(yùn)用順序結(jié)構(gòu)描述問題求解過程,根據(jù)題意本題通過三角形的底和高求三角形的面積,所以輸入三角形的底a,高h(yuǎn),通過公式S=a*h/2計算面積s,然后輸出三角形的面積s,故選A。同步訓(xùn)練1.(真題)若a是圓的半徑,以下Python程序段可以解決的問題是()a=float(input())PI=3.14s=PI*a**2print(s)A.求圓面積B.求圓體積

C.求圓周長

D.求半圓面積2.(真題)編寫程序求出小球自由落體過程中的位移,需要找出已知條件和求解目標(biāo),并找出他們之間的關(guān)系。這屬于用計算機(jī)解決問題的哪一個步驟?()A.分析問題B.設(shè)計算法C.編寫程序D.調(diào)試程序AB同步訓(xùn)練3.下面Python程序代碼a=10b=20a,b=b,aprint(a,b)執(zhí)行后的值正確的是()A.2010B.1010C.2020D.1020A同步訓(xùn)練(真題)自由落體運(yùn)動位移與時間的關(guān)系公式是h=(gt2)/2,輸入任意的高度值,計算出小球落地的時間。請?jiān)谛蛱柼幪顚懻_的代碼,且不改變原程序的結(jié)構(gòu)。說明:g代表常數(shù)9.8。g=__①__h=float(input(”請輸入物體落下的高度:”))t=__②__print(”落下的時間為:”,

)答案:①9.8②(2*h/g)**0.5③t1.分支結(jié)構(gòu):通過判斷條件是否成立,來決定執(zhí)行哪個分支。選擇結(jié)構(gòu)有多種形式,分為單分支、雙分支、多分支結(jié)構(gòu)。2.分支結(jié)構(gòu)的特點(diǎn):(1)首先進(jìn)行條件判斷,根據(jù)條件滿足與否來決定執(zhí)行哪個分支。(2)在一個分支結(jié)構(gòu)中,必定有且只有一個分支被執(zhí)行,其他的分支則被忽略。知識梳理(二)運(yùn)用分支結(jié)構(gòu)描述問題求解過程知識梳理3.常見的分支結(jié)構(gòu)有單分支、雙分支和多分支。具體如下表所示:分支類型基本格式流程圖工作原理單分支if條件:

語句或語句組1條件成立(True)時,執(zhí)行語句或語句組1,不成立(False)時不執(zhí)行雙分支if條件:

語句或語句組1else:

語句或語句組2條件成立(True)時,執(zhí)行語句或語句組1,不成立(False)時執(zhí)行“語句或語句組2”知識梳理分支類型基本格式流程圖工作原理多分支if條件1:

語句或語句組1elif條件2:

語句或語句組2……elif條件N:

語句或語句組Nelse:

語句或語句組N+1條件成立(True)時,執(zhí)行語句或語句組1,不成立(False)時不執(zhí)行知識梳理說明:(1)在Python中,只要某一行以冒號結(jié)尾,它接下來的內(nèi)容就應(yīng)該有縮進(jìn),縮進(jìn)表示代碼之間的從屬關(guān)系。同一級語句塊中的語句具有相同的縮進(jìn)量。(2)在Python分支結(jié)構(gòu)中,每個if后不一定要有elif或else部分,并且if語句允許多層嵌套。典型例題【例題】(真題)運(yùn)行以下Python程序段,變量m的值為()a,b,c=7,2,23ifa>b:m=aelse:m=bifc>m:m=cA.7

B.2

C.23

D.32答案:C解析:本題運(yùn)用了雙分支和單分支結(jié)構(gòu)。通過兩兩比較,求三個數(shù)的最大值。先是a與b進(jìn)行比較,大數(shù)放到m中。然后c與m比較,大數(shù)放到m中,此時m中存放的就是a,b,c三個數(shù)的最大數(shù)23。故選C。同步訓(xùn)練1.(真題)某學(xué)校規(guī)定,當(dāng)PM2.5指數(shù)超過一定數(shù)值時,必須停止學(xué)生跑操活動。如用編程設(shè)計一個提示器,關(guān)于PM2.5指數(shù)判斷的功能需要用到下列哪種基本結(jié)構(gòu)?()A.順序B.分支C.循環(huán)D.樹形B同步訓(xùn)練2.(真題)運(yùn)行以下Python程序段,若輸入5,運(yùn)行結(jié)果是()x=int(input(”請輸入一個正整數(shù)”))ifx%2==0:print(x+1)else:print(x-1)A.4B.5C.6D.3A同步訓(xùn)練3.運(yùn)行以下Python程序段,輸入85,輸出結(jié)果是()s=float(input(”請輸入分?jǐn)?shù):”))if90<=s<=100:print(”A等第”)elif75<=s<90:print(”B等第”)elif60<=s<75:print(”C等第”)elifs<60:print(”D等第”)A.A等第B.B等第C.C等第D.D等第B同步訓(xùn)練1.(真題)輸入兩個整數(shù),計算它們的和與差。請?jiān)谛蛱柼幪顚懻_的代碼,且不改變原程序的結(jié)構(gòu)。x=int(input(”輸入一個值:”))y=int(input(”輸入另一個值:”))fc=input(”請輸入運(yùn)算符“+”或“-”:”)iffc==__①__:c=x+y__②__:c=x-yprint(x,fc,y,”=”,__③__)答案:①′+′或者″+″②else③c同步訓(xùn)練2.(真題)一名成年旅客攜帶一名兒童乘坐火車,計算兩人的總票價。兒童票價如下:身高不足1.2米,免費(fèi);身高為1.2—1.5米的,需要購買兒童票,兒童票票價按成人票價的50%計算;身高超過1.5米的,需要購買成人票。請?jiān)谛蛱柼幪顚懻_的代碼,且不改變原程序的結(jié)構(gòu)。Ticket=float(input(”請輸入成人火車票價:”))Height=float(input(”請輸入孩子的身高(米)”))ifheight__①__1.2:Total=Ticket__②__height<=1.5:Total=Ticket*1.5else:Total=__③__print(”一名成人和一名兒童的總票價為:”,Total)答案:①<②elif③Ticket*2或2*Ticket1.列表列表是最常用的Python數(shù)據(jù)類型,列表中的元素允許不同的數(shù)據(jù)類型。(1)列表的創(chuàng)建格式:列表名=[元素1,元素2,元素3……元素N]列表名=[]表示創(chuàng)建一個空列表。例如:a=[],表示創(chuàng)建一個名為a的空列表說明:各元素之間用逗號隔開,放在方括號內(nèi),列表中元素的類型可以不同。例如:list1=[”one”,”two”,”three”,”four”,”five”]list2=[”one”,2,”three”,4.6,”五”]知識梳理(三)運(yùn)用循環(huán)結(jié)構(gòu)描述問題求解過程知識梳理(2)列表的訪問①列表索引可以是正向的,從左到右依次是0,1,2,……,依此類推。知識梳理②索引也可以是反向的,從右向左依次為-1,-2,-3……依此類推。③使用下標(biāo)索引來訪問列表中的值,也可以使用方括號的形式進(jìn)行切片。list[頭下標(biāo):尾下標(biāo)]如:list1[1:4]的值為[′two′,′three′,′four′]。說明:尾下標(biāo)對應(yīng)的元素取不到。知識梳理(3)列表中常見的函數(shù)與方法方法含義方法含義len(list)列表元素個數(shù)min(list)返回列表元素最小值list.append(x)列表末尾添加元素xlist[index]=x修改指定元素list.insert(index,x)在指定位置index處插入元素xlist.sort()對列表進(jìn)行排序dellist[index]刪除指定位置index處的元素list.reverse()列表中的元素反轉(zhuǎn)a=list.pop()刪除列表末尾的元素,且把刪除的值賦值給alist.remove(x)刪除列表中第一個匹配的元素xmax(list)返回列表元素最大值list.remore(list[i])刪除列表中第i號元素知識梳理【試一試】輸入下列Python程序段,查看輸出結(jié)果。s=[3,15,27,8,42]s.a(chǎn)ppend(16)s.sort()print(s)答案:[3,8,15,16,27,42]知識梳理【試一試】list=[′How′,′are′,′you′,2024],則list[-1]和list[2]的值分別為()A.′How′′are′B.′are′′you′

C.′you′2024

D.2024′you′答案:D解析:本題主要考查列表的訪問,列表索引可以是正向的,從左到右依次是0,1,2,……;索引也可以是反向的,從右向左依次為-1,-2,-3,……;所以list[-1]為從右向左第一個元素,即2024,list[2]為從左向右第3個元素,即′you′,故選D。知識梳理2.循環(huán)結(jié)構(gòu):是指在程序中需要反復(fù)執(zhí)行某個功能而設(shè)置的一種程序結(jié)構(gòu)。它由循環(huán)中的條件判斷決定繼續(xù)執(zhí)行某個功能還是退出循環(huán)。如果循環(huán)條件始終滿足,那么循環(huán)體就被一直執(zhí)行下去,這樣算法就進(jìn)入“死循環(huán)”,違背了算法有窮性的特征,所以在設(shè)計算法時要避免這種情況。知識梳理(1)for循環(huán)知識梳理說明:列表有以下幾種方式:①直接羅列的方式知識梳理②先定義列表后使用知識梳理③使用range()函數(shù)(產(chǎn)生一個整數(shù)序列)range()是Python開發(fā)中非常常用的一個內(nèi)置函數(shù),語法格式為range([start,]stop[,step]),有range(stop)、range(start,stop)和range(start,stop,step)三種用法。該函數(shù)返回可選代對象,其中包含左閉右開區(qū)間[start,stop)內(nèi)以step為步長的整數(shù)。start和step是可以省略的,參數(shù)start默認(rèn)為0,step默認(rèn)為1。知識梳理說明:1.初值如果省略,默認(rèn)從0開始;2.生成的列表區(qū)間是[初值,終值),也就是左閉右開;3.步長如果省略,默認(rèn)為1。知識梳理【試一試】輸入下列兩個程序段,比較輸出結(jié)果。答案:(1)how

are

you(2)howareyou解析:在程序(1)中,每輸出一個列表中的元素就需要換行,而程序(2)中每輸出一個列表中的元素則以空格結(jié)尾。知識梳理(2)while循環(huán)①表達(dá)式一般是一個關(guān)系表達(dá)式或一個邏輯表達(dá)式,表達(dá)式的值應(yīng)該是一個邏輯值真(True)或假(False)。②當(dāng)表達(dá)式的值為真時,執(zhí)行循環(huán)體語句;當(dāng)表達(dá)式的值為假時,退出循環(huán),執(zhí)行循環(huán)體外的下一條語句(即while后面沒有縮進(jìn)的第一條語句)。知識梳理③每次循環(huán)都是執(zhí)行完循環(huán)體語句后回到表達(dá)式處重新開始判斷,重新計算表達(dá)式的值。一旦表達(dá)式的值為假就退出循環(huán),為真時就繼續(xù)執(zhí)行循環(huán)體語句。④while循環(huán)編程的關(guān)鍵點(diǎn):累加器和計數(shù)器(循環(huán)變量的改變)的使用。累加器:s=s+x計數(shù)器:i=i+1由于while循環(huán)不記錄循環(huán)的次數(shù),如果需要記錄循環(huán)次數(shù)的信息,那么必須在代碼中增加計數(shù)器,并通過語句修改計數(shù)器的值。在使用累加器或計數(shù)器時,一般將變量賦初始值0。知識梳理【試一試】輸入下列Python程序段,查看輸出結(jié)果。s=0#累加器初始化為0i=0#計數(shù)器初始化為0whilei<=100:s=s+i#累加器Si=i+1#計數(shù)器i自動加1print(s)知識梳理⑤Python中允許表達(dá)式為數(shù)字,如果該數(shù)字為0,則表示表達(dá)式不成立,非0數(shù)字則表示表達(dá)式成立,如果循環(huán)以“while2:”開頭,那么關(guān)系表達(dá)式的值為真,在不加干預(yù)的情況下,程序就會一直執(zhí)行下去,進(jìn)入“死循環(huán)”,若想停止程序,按快捷鍵Ctrl+C即可。典型例題【例1】(真題)下列Python程序段的運(yùn)行結(jié)果是()a=3whilea:print(a)A.3B.沒有輸出C.不斷地輸出3,程序進(jìn)入死循環(huán)D.程序處于等待狀態(tài)答案:C解析:用數(shù)字0表示假,用非零數(shù)字表示真。如果循環(huán)以“while3:”開頭,那么,條件為真,在不加干預(yù)的情況下,程序就會“不知疲倦”一直執(zhí)行循環(huán)體。如果想停止這個程序,按快捷鍵Ctrl+C即可。典型例題【例2】輸入下列Python程序段,查看輸出結(jié)果。x=10whilex<=40:x=x+10print(x)典型例題答案:50循環(huán)次數(shù)循環(huán)條件:x<=40x=10(x的初始值)循環(huán)體:x=x+101是202是303是404是505否循環(huán)結(jié)束知識梳理3.break語句和continue語句語句作用break跳出當(dāng)前循環(huán)。如果有兩層或兩層以上的循環(huán),在最內(nèi)層使用break語句,則跳出的是最內(nèi)層的循環(huán),外層的循環(huán)不受影響。遵循“就近原則”continue結(jié)束當(dāng)次循環(huán),本次不再執(zhí)行continue后面的循環(huán)體語句,進(jìn)行下一次循環(huán)典型例題【例3】輸入下列兩個程序段,比較輸出結(jié)果。程序1程序2s=0foriinrange(1,10):

ifi%2==0:

breaks=s+iprint(s)s=0foriinrange(1,10):

ifi%2==0:#i是偶數(shù)

continues=s+iprint(s)典型例題答案:(1)1(2)1

4

9

16

25典型例題循環(huán)變量i程序1程序2i%2s=s+i(s初值為0)i%2s=s+i(s初值為0)11s=0+1=11s=0+1=120跳出當(dāng)前循環(huán)0結(jié)束當(dāng)次循環(huán),進(jìn)行下一次循環(huán)31s=1+3=440結(jié)束當(dāng)次循環(huán),進(jìn)行下一次循環(huán)51s=4+5=960結(jié)束當(dāng)次循環(huán),進(jìn)行下一次循環(huán)71s=9+7=1680結(jié)束當(dāng)次循環(huán),進(jìn)行下一次循環(huán)91s=16+9=25解析:知識梳理4.循環(huán)嵌套Python語言允許在一個循環(huán)體里面嵌套另一個循環(huán)。for循環(huán)或while循環(huán)之間可以相互嵌套。典型例題【例4】輸入下列Python程序段,查看輸出結(jié)果。m=n=0foriinrange(1,5):

m=m+1

forjinrange(1,4):

n=n+1print(m,n)典型例題答案:412解析:外循環(huán)內(nèi)循環(huán)j=1(n=n+1)內(nèi)循環(huán)j=2(n=n+1)內(nèi)循環(huán)j=3(n=n+1)im(m=m+1)nnn11123224563378944101112同步訓(xùn)練1.(真題)運(yùn)行以下Python程序段,輸出結(jié)果是()s=0foriinrange(2,10,2):

s=s+1print(s)A.3B.4C.5D.10BB2.(真題)運(yùn)行以下Python程序代碼,語句“s=s+i”執(zhí)行次數(shù)為()s=0foriinrange(1,10):

s=s+i

if

溫馨提示

  • 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

提交評論