2024高考信息技術(shù)基礎(chǔ)知識復(fù)習(xí)優(yōu)化集訓(xùn)13解析算法與枚舉算法_第1頁
2024高考信息技術(shù)基礎(chǔ)知識復(fù)習(xí)優(yōu)化集訓(xùn)13解析算法與枚舉算法_第2頁
2024高考信息技術(shù)基礎(chǔ)知識復(fù)習(xí)優(yōu)化集訓(xùn)13解析算法與枚舉算法_第3頁
2024高考信息技術(shù)基礎(chǔ)知識復(fù)習(xí)優(yōu)化集訓(xùn)13解析算法與枚舉算法_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

優(yōu)化集訓(xùn)13解析算法與枚舉算法1.下列問題中適合運用解析算法解決的是()A.計算兩個電阻的并聯(lián)值B.輸出2~100以內(nèi)的全部素數(shù)C.查找100以內(nèi)全部能被6整除的數(shù)D.找出100以內(nèi)全部6的倍數(shù)2.編寫Python程序,將華氏溫度轉(zhuǎn)換為攝氏溫度并保留兩位小數(shù),轉(zhuǎn)換公式為:C=5(F-32)/9,程序如下,劃線處應(yīng)填()f=float(input(″請輸入華氏溫度:″))c=

print(″對應(yīng)的攝氏溫度為:%.2f″%c)A.5//9(f-32)B.5/9(f-32)C.5/9(f-32)D.5/9(f-32)3.用枚舉算法輸出100以內(nèi)既能被3整除又能被5整除的數(shù)據(jù),我們可以從算法不同角度去思索,確定枚舉范圍,下列選項中Python程序處理有誤的是()A.foriinrange(1,101):ifi%3==0andi%5==0:print(i)B.foriinrange(1,101):ifi%15==0:print(i)C.foriinrange(15,101,15):print(i)D.foriinrange(1,101//15):print(i15)4.解析算法的基本思想是依據(jù)問題的與之間的關(guān)系,找出求解問題的,并通過表達(dá)式的來實現(xiàn)問題的求解。

5.枚舉算法的程序?qū)崿F(xiàn)中,運用(單選,填字母:A.分支結(jié)構(gòu)/B.循環(huán)結(jié)構(gòu))排列出問題全部可能的解,循環(huán)中通過(單選,填字母:A.分支結(jié)構(gòu)/B.循環(huán)結(jié)構(gòu))推斷當(dāng)前的可能解是不是真正的解。

6.編寫Python程序,實現(xiàn)如下功能:輸入全票價格和消費者身高,輸出消費者應(yīng)付的實際票價。實際票價的計算規(guī)則為:身高1.2米及以下免票;身高1.2米以上且1.4米及以下半票;身超群過1.4米全票。程序代碼如下。在劃線處填上合適的代碼。jg=float(input('請輸入全票價格:'))h=float(input('請輸入消費者身高(米):'))ifh<=1.2:pj=0①

pj=jg0.5②

pj=jgprint('票價為',round(pj,2),'元')7.某壓縮算法的基本思想是用一個數(shù)值和一個字符代替具有相同值的連續(xù)字符串。例如,輸入字符串“RRRRRGGBBBBBB”,壓縮后數(shù)據(jù)為“5R2G6B”。實現(xiàn)上述功能的Python程序如下。輸入字符串:RRRRRGGBBBBBB 壓縮后數(shù)據(jù)為:5R2G6B請回答下列問題:(1)請在程序劃線處填入合適的代碼。(2)若刪除加框處代碼,輸入字符串“RRRRRGGBBBBBB”,則壓縮后結(jié)果為。

s=input(″輸入字符串:″)c=1①

foriinrange(len(s)-1):if②:

c+=1else:ans+=str(c)+s[i]③

ans+=str(c)+s[i]print(″壓縮后數(shù)據(jù)為:″,ans)(3)該程序主要運用的算法屬于(單選,填字母:A.解析算法/B.枚舉算法)。

8.百錢買百雞問題:我國古代數(shù)學(xué)家曾經(jīng)提出了這樣一個問題:“雞翁一值錢5,雞母一值錢3,雞雛三值錢1。問:花錢100買100只雞,雞翁、雞母、雞雛各幾何?”實現(xiàn)上述功能Python代碼如下。請在劃線處填入合適的代碼。foriinrange(21):forjinrange(34):①

if②:

print(″公雞:″,i,″母雞:″j,″小雞:″k)9.有四個數(shù)字:1、2、3、4,能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)?輸出全部滿足條件的三位數(shù)的組合。編寫Python程序如下,請將劃線處代碼補(bǔ)充完整。arr=[]foriinrange(1,5):forjinrange(1,5):forkinrange(1,5):num=100i+10j+kifi!=jandj!=kand①:

arr.append(num)print(②,″個″,arr)

10.輸入一段英文句子,以英文句號結(jié)尾,并把句中全部單詞存入一個列表中,如此可以便利統(tǒng)計單詞的個數(shù),也便利讀取隨意位置單詞。例如輸入:“Iamastudentofseniormiddleschool.”處理完畢后:[I,am,a,student,of,senior,middle,school],程序運行效果如下:請輸入一個英文句子:Iamastudentofseniormiddleschool.將單詞分別存入列表后為:['I','am','a','student','of','senior','middle','school']為實現(xiàn)上述功能,請完善以下Python程序,在劃線處填入合適的代碼。s1=input(″請輸入一個英文句子:″)list1=[]s=″″forchin①:

if″a″<=ch<=″z″or②:

s+=chelse:list1+=[s]③

print(″將單詞分別存入列表后為:″,list1)11.一張單據(jù)上有一個5位數(shù)的編碼,由于保管不善,其萬位數(shù)字和百位數(shù)以及十位數(shù)已經(jīng)變得模糊不清,如圖a所示,即“?5??6”。但知道該數(shù)是37和17的倍數(shù)?,F(xiàn)在用Python編程求解該問題,運行界面如圖b所示。輸出全部滿足這些條件的5位數(shù),并統(tǒng)計這樣的數(shù)的個數(shù)。問題:(1)請在劃線處填入合適的代碼。(2)該算法運用的算法是(選填:解析算法/枚舉算法)

圖a圖bcount=0foriinrange(①):

forjinrange(100):if②:

count+=1print(③)

print(″符合要求的數(shù)字?jǐn)?shù)量:″,count)12.完全數(shù)(Perfectnumber),又稱完備數(shù)或完備數(shù),是一些特殊的自然數(shù)。它全部的真因子(即除了自身以外的約數(shù))的和(即因子函數(shù)),恰好等于它本身。請你完善下面Python程序,找出1000以內(nèi)的全部完全數(shù)。defperfect(m):ifm<=1:returnFalsesum=1foriinrange(2,m//2+①):ifm%i==0②:sum+=ireturnm==sumlist1=[]foriinrange(1,1001):ifperfect(i):list1.append(i)print(list1)

優(yōu)化集訓(xùn)13解析算法與枚舉算法1.A解析本題考查解析算法。計算兩個電阻的并聯(lián)值適合運用數(shù)學(xué)函數(shù)關(guān)系運算,故選A。2.C解析此題關(guān)鍵是要將數(shù)學(xué)表達(dá)式C=5(F-32)/9,轉(zhuǎn)換成python表達(dá)式。3.D解析這道題考核的是枚舉算法的范圍及其等價表達(dá)式。選項A,B,C答案均正確,通過條件數(shù)學(xué)等價式分析,我們發(fā)覺能被15整除的數(shù)確定能被3和5同時整除。從算法執(zhí)行的效率上來看,選項A,B枚舉的范圍都是[1,100],執(zhí)行次數(shù)相同。選項C枚舉的是公差為15的等差數(shù)列,100以內(nèi)的數(shù)據(jù)共有6個:15,30,45,60,75,90。因此選項C枚舉算法執(zhí)行效率較高。選項D本意是想枚舉15的整數(shù)倍,錯誤的緣由在于邊界。101//15值為6,但是變量i的取值為[1..5],因此選項D錯誤緣由是遺漏了90這組解。4.前提條件所求結(jié)果數(shù)學(xué)表達(dá)式計算5.BA6.①elifh<=1.4:②else:解析①依據(jù)題意可知滿足條件pj=0.5jg半價h<=1.4,多條件的分支,只有第1個條件跟在if后面,第2個條件起先跟在elif后面。②第2個條件也不滿足時pj=jg,所以是對第2個條件的否定,但不須要引導(dǎo)新的條件else:。7.(1)①ans=″″②s[i]==s[i+1]③c=1(2)5R2G(3)B解析本題考查枚舉算法。(1)①字符串變量ans初始化。②由于for語句中i從0起先,因此相鄰的兩個字符相同的表達(dá)式為s[i]==s[i+1]。③若相鄰的兩個字符不同,則意味著用于連續(xù)相鄰相同字符數(shù)的變量c復(fù)原為1,為記錄下一組字符做準(zhǔn)備。(2)由于刪除了加框處代碼,由于無法觸發(fā)else分支,因此最終一組數(shù)據(jù)無法輸出,故答案是5R2G。(3)由代碼可知,枚舉全部的字符,并進(jìn)行比較,屬于典型的枚舉算法。8.①k=100-i-j②i5+j3+k/3==100解析本題考查枚舉算法。利用變量k降低循環(huán)的次數(shù),小雞的數(shù)量等于100減去公雞和母雞的數(shù)量,然后利用總共的雞的價格一百元錢,列舉出公雞、母雞和小雞的數(shù)量。9.①k!=iandnumnotinarr②len(arr)解析本題考查枚舉算法。數(shù)字無重復(fù),且該數(shù)字之前未出現(xiàn)在列表arr中。輸出該列表的長度。10.①s1②″A″<=ch<=″Z″③s=″″解析本題考查枚舉算法。利用枚舉法列舉ch為字符串s1的值,若是連續(xù)的大小寫英文字母的組合,則進(jìn)行正向連接,若遇到非英文字母(空格)則將前面的字母組合(單詞)s累加到列表list1[]中,且將字符串s清空,為接收下一個英文單詞做準(zhǔn)備。11.(1)①1,10②(i10000+5006+j10)%37==0and(i10000+5006+j10)%17==0③i10000+5006+j10(2)枚舉算法解析本題考查枚舉算法。(1)①最高位不行能是0,因此從1起先枚舉,始終到9。②該數(shù)是37和17的倍數(shù),故表達(dá)式為(i10000+5006+j10)%37==0and(i10000+5006+j10)%17==0。③該數(shù)的表達(dá)式為i1

溫馨提示

  • 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

提交評論