資源簡介 2022年高二信息技術學業水平測試--算法理論一、教學目標1通過實例,能識別順序、選擇、循環三種基本結構,對給出的解決簡單問題的算法,能夠寫出算法的結 果。2解析法求解問題(分析問題、設計算法、編寫程序)3根據需要評價、選擇并熟練操作技術和工具。二、教學過程【1】例題講解編寫程序實現如下功能:統計某醫院兒科100天中連續7天的日就診人數最大差值,即任意連續7天內的就診人數最多日與最少日的人數之差。實現上述功能的Python程序如下,請回答下列問題:(1)100天內某時間段的連續7天的日就診人數為"15,26,55,39,16,51,23,19,58,51",則該時間段內連續7天日就診人數的最大差值為_____________________。(2)請在程序劃線處填入合適的代碼。#列表a中存儲了100天的日就診人數,代碼略ans=-1for p in range(0,94):i=p_____________minrs=min(a[i:j])maxrs=max(a[i:j])if_____________:ans=maxrs-minrsprint("連續7天日就診人數最大差值為:",ans)答案: 43 j=i+7 ans【2】同步練習一、選擇題1.(2021·全國·高一課時練習)Python中,賦值語句,“c=c-b”等價于( )A.b-=cB.c-b=cC.c-=bD.c==c-b2.(2021·廣東·中山紀念中學高一專題練習)range(1,10)的取值范圍是( )。A.1到10 B.1到9 C.0到10 D.0到93.(2022·浙江·高考真題)下列VB表達式中。值為False的是( )A.“20” < “8” B.20\6 < 20/6C.Int(2.5)<2.1 D.18 Mod 5 < 20 Mod 54.(2021·重慶市實驗中學高二階段練習)關于程序中的常量、變量,以下說法中正確的是( )A.將數據存入某變量后,讀取該變量中的值,不會改變該變量的值B.將數據存入某變量以后就不能將新的數據存入該變量C.常量只能是固定的數值D.為了增加程序的可讀性.在變量命名的時候可以考慮用能代表一定含義的單詞作為變量名比如命名為string5.(2022·浙江·模擬預測)利用VB生成兩位奇數隨機數,其表達式正確的是( )A.Int(Rnd * 45)*2 + 11 B.Int(Rnd * 33)*3 + 3C.Int(Rnd * 89) + 11 D.Int(Rnd * 100) - 16.(2022·浙江·模擬預測)有如下VB程序段:s = "python": b = 0For i = 1 To Len(s) - 1 a = Abs(Asc(Mid(s, i, 1)) - Asc(Mid(s, i + 1, 1))) If a > b Then b = aNext iLabel1.Caption = Str(b)執行該程序段后,標簽Label1上顯示的內容是( )A.1 B.7 C.9 D.127.(2022·浙江·模擬預測)有如下VB程序段:c = 0For i = 1 To n - 1 k = i For j = i + 1 To n If a(j) < a(k) Then k = j Next j If i <> k Then c = c + 1 t = a(i): a(i) = a(k): a(k) = t End IfNext i數組元素a(1)到a(6)的初始值依次是5,3,1,0,9,8,,執行該程序段后,變量c的值是( )A.2 B.3 C.4 D.58.(2021·全國·高一課時練習)下列不是常量的是( )A.0.25B.abcC.FlaseD.“abb”9.(2021·浙江·模擬預測)為了準備五校聯考,小卷王買了n套卷子,每套卷子數量不等,第i套試卷有a(i)張。小卷王每天可以將第i套到第j套卷子各做完一張。作為同學,小湯想要知道小卷王最快幾天可以做完全部的卷子,因此小湯編寫了下面這個程序,但他有幾個空不知道該寫什么,請求你的幫忙。Private Sub Command1_Click() For i = 2 To n If a(i) > a(i-1) Then ① Next i Text1.Text = ②End Sub下列選項中,①②中的代碼填寫正確的是( )A.①ans = ans + a(i) - a(i-1) ②Str(a(1) + ans)B.①ans = ans + a(i) - a(i-1) ②Str(ans)C.①ans = a(i) - a(i-1) ②Str(a(1) + ans)D.①ans = a(i) - a(i-1) ②Str(ans)10.(2020·全國·高一專題練習)下列選項都是屬于高級語言的是( )A.匯編語言、機器語言B.匯編語言、Basic語言C.Basic語言、Python語言D.機器語言、Python語言二、填空題11.閏年的條件是:年份(Y)能被4整除,但不能被100整除。請寫出表示閏年的VB表達式。12.閏年的條件是:年份(Y)能被4整除,但不能被100整除。請寫出表示閏年的VB表達式。13.閏年的條件是:年份(Y)能被4整除,但不能被100整除。請寫出表示閏年的VB表達式。14.想設計一個判斷某年是否是閏年的VB程序。通過查詢資料得知:如果年份能被100整除同時也能被400整除,則該年是閏年;如果年份不能被100整除但能被4整除,則該年也是閏年。“判斷某年是否為閏年”的算法流程圖如下圖所示(k=True表示該年是閏年,k=False表示該年不是閏年)。請回答下列問題:(1)流程圖粗線框部分的內容是(2)實現流程圖虛線框部分的VB語句是15.(2018·福建·高三階段練習)如圖所示的流程圖,請根據要求回答以下問題(1)常見的算法描述主要有三種,本算法描述是什么?(2)本算法的程序結構是什么?(3)本算法程序的輸出結果是多少?(4)用計算機程序解決問題的步驟是:(請空白處補充完整)分析問題→設計算法→ →調試運行→檢測結果。(5)上述步驟哪-步驟是核心?16.(2020·全國·高一課時練習)實現一個簡單的出租車計費系統,當輸入行程的總里程時,輸出乘客應付的車費(車費保留一位小數)。計費標準具體為起步價10元/3千米,超過3千米以后,每千米費用為1.2元,超過10千米以后,每千米的費用為1.5元。17.(2020·全國·高一課時練習)實現一個簡單的出租車計費系統,當輸入行程的總里程時,輸出乘客應付的車費(車費保留一位小數)。計費標準具體為起步價10元/3千米,超過3千米以后,每千米費用為1.2元,超過10千米以后,每千米的費用為1.5元。三、判斷題18.(2020·廣東·石門高級中學高一期末)if語句在使用中包括單分支if語句和雙分支if語句。 ( )19.(2015·浙江·高二期中)在VB窗口中,雙擊命令按鈕對象,建立事件處理過程名(對象名_事件的標準名),其事件的標準名不能再改變( )20.(2021·山西臨汾·高一期末)在 Python語言環境下,For循環語句中的循環體在書寫時需要縮進,且必須縮進四個空格。 ( )21.(2020·廣東·石門高級中學高一期末)關系表達式6>=5的值為True。( )22.(2020·全國·高一專題練習)使用流程圖描述算法存在歧義性,容易導致算法執行的不確定性。( )23.(2013·浙江寧波·高一期末)標準函數的自變量表達式里不能包含自定義函數;( )24.(2021·江西·貴溪市實驗中學高一階段練習)Visual Basic語言不可以被計算機直接識別。( )25.(2021·安徽蕪湖·高一期末)一個算法必須要有1個以上的數據輸入。( )26.(2020·全國·高一課時練習)需求分析之后、程序設計之前,需要對系統進行總體設計和詳細設計。總體設計就是在需求分析的基礎上對模型細化、分解任務,明確程序由哪些模塊組成。 ( )27.(2020·全國·高一課時練習)遞歸的邊界條件要素,是為了保證遞歸能在有限次的計算后得出結果,而不會產生無限循環的情況。 ( )四、操作題28.(2022·全國·高二學業考試)用 Python 編輯器打開“ Y:\96”下的文件“三角形面積.py”進行以下操作并保存結果。(1)海倫公式是利用三角形的三條邊的邊長直接求三角形面積的公式,表達式為: 其中p是三角形的周長的一半。(2)請填空完善該程序,輸入三條邊長,判斷能否構成三角形。如能構成三角形就計算該三角形的面積并輸出,否則提示不能構成三角形。(3)編寫完成后原名保存并關閉應用軟件。import matha=float(input("請輸入第一條邊長:"))b=float(input("請輸入第二條邊長:"))c=float(input("請輸入第三條邊長:"))if(a+b>c)and(a+c>b)and( ① ): p= ② s=math.sqrt(p*(p-a)*(p-b)*(p-c)) print(a,b,c,"能構成三角形!","三角形的面積為:", ③ )④ : print(a,b,c,"不能構成三角形!")①__________________②_______________③______________④____________答案1 2 3 4 5 6 7 8 9 10C B D A A D B B A C11.Y MOD 4=0 AND Y MOD 100<>012.Y MOD 4=0 AND Y MOD 100<>013.Y MOD 4=0 AND Y MOD 100<>014.y mod 4=0;if y mod 400="0" thenk=trueElsek=false15.(1)流程圖(2)循環結構和分支結構(選擇結構)(3)72(4)編寫程序(5)設計算法16.km=float(input("請輸入千米數:"))if km<=0: print("千米數輸入錯誤,重新輸入")elif km<=3: print("您需要支付10元車費")elif km<=10: cost=10+(km-3)*1.2 print("您需要支付{:.1f}元車費".format(cost))else: cost=18.4+(km-10)*1.5 print("您需要支付{:.1f}元車費".format(cost))17.km=float(input("請輸入千米數:"))if km<=0: print("千米數輸入錯誤,重新輸入")elif km<=3: print("您需要支付10元車費")elif km<=10: cost=10+(km-3)*1.2 print("您需要支付{:.1f}元車費".format(cost))else: cost=18.4+(km-10)*1.5 print("您需要支付{:.1f}元車費".format(cost))18 19 20 21 22 23 24 25 26 27√ × × √ × × √ × √ √28. b+c>a (a+b+c)/2 s else 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫