資源簡介 2023年中考信息技術一輪基礎復習卷21--算法與程序設計一、單選題1.判斷或分支用下列哪個圖形表示?( )。A. B.C. D.2.程序設計有三種基本結構,下列不屬于這三種基本結構的是( )A.子程序結構 B.順序結構 C.條件結構 D.循環結構3.Python中比較運算符的不相等用( )表示。A.== B.!= C.<> D.≠4.下圖所示的流程圖屬于哪種控制結構( )A.順序結構 B.分支結構 C.交互結構 D.循環結構5.如果在VB中輸入代碼Text1.Text=Rnd*10,Text1中得到的數據不可能是 。A.1.5 B.5.2 C.7 D.1216.在程序設計中,經常需要借助第三個變量c作為中間變量來交換變量a和變量b的數據,下列操作步驟中正確的是( )A.a=b;b=c; c=a B.c=a;a=b;b=c C.a=b;b=a;a=c D.c=a;b=a;b=c7.執行以下Python程序段后,變量x的值為( )。x=3.772y=-8x=int (x) +abs (y)print (x)A.3 B.8 C.11 D.-58.下列循環語句共執行了( )次。i = 0while i <10:print("我愛Python!")i = i + 2A.3次 B.4次 C.5次 D.6次9.下列邏輯表達式中能完全正確表示條件“year是閏年”的是( )。A.year mod 4=0B.year mod 400=0C.(year mod 400=0) or (year mod 4=0) and (year mod 100<>0)D.(year mod 400=0) and (year mod 4=0) or (year mod 100<>0)10.若要編程輸出 1-100 以內所有 3 的倍數的和,下列那個程序是正確的( )A.a=0 for i in range(1,100): if i%3==0: a=a+i print(a)B.a=0 for i in range(1,100): if i%3==0: a=a+1 print(a)C.a=0 for i in range(0,100,3): a=a+1 print(a)D.a=0 for i in range(0,99,3): a=a+i print(a)11.設有一個棧,元素的進棧次序為A,B,C,D,E,下列不可能的出棧序列是( )。A.A,B,C,D,E B.B,C,D,E,AC.E,A,B,C,D D.E,D,C,B,A12.有六個元素6,5,4,3,2,1的順序進棧,問下列哪一個不是合法的出棧序列?( )A.543612 B.453126 C.346521 D.234156二、填空題13.算法的基本控制結構有 、 和 。14. 是用戶通過點擊等動作完成程序中的某些操作。15.已知 a = 5,那么執行語句 a += 3 之后, a 的值為 。16.該程序可以依據原始成績,判斷證書等級,85(含)分以上為Great,70(含)至85為Good,60(含)至70為Medium,60分以下為Bad。G=int(input(‘請輸入原始成績:’)) If print(‘Great’) elif G<85 and G>=70: print(‘Good’) print(‘Medium’) else: print(‘Bad’)17.填空題(1)將代數 式轉換成程序設計中的表達式為 。(2)表示x是5的倍數或是9的倍數的邏輯表達式為 。18.以下Python代碼,運行之后輸出結果是 。a=4s=0while a>=0:s=s+aa=a-1print(s,a)19.程序完善題已知攝氏度C轉換到華氏度F的公式是 ,設計界面設計如下,請將打亂的代碼進行排序。Private Sub Command1_Click() End Sub打亂的代碼如下:A. F=9/5*C+32B. Text2.Text= str(F)C. Dim C, F As SingleD. C = Val(Text1.Text)20.用Python模擬猜數字游戲:1)系統隨機生成一個1~100的數字;2)用戶總共有5次猜數字的機會;3)如果用戶猜測的數字大于系統給出的數字,打印“too big";4)如果用戶猜測的數字小于系統給出的數字,打印"too small";5)如果用戶猜測的數字等于系統給出的數字,打印"恭喜",并且退出循環;編寫程序代碼如下,請完善代碼: #導入random模塊 #隨機生成1-100的整數并賦值給變量gametime=5while time>0:guess=int (input ("請輸入你所猜的數字:"))if (guess>game) :print ("too big")elif :print(" too small' )else:print ("恭喜”)breaktime=time-1print("游戲結束,正確的結果是:",game)三、解答題21.按以下格式輸出詩歌《登高》:登高朝代:唐代 作者:杜甫風急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢,潦倒新停濁酒杯。22.編寫程序,完成下列星星矩陣。23.編寫程序,完成下列題目。題目內容:接收用戶輸入的一個秒數(非負整數),折合成小時、分鐘和秒輸出。輸入格式:請輸入一個非負整數:輸出格式:將小時、分鐘、秒輸出到一行,中間使用空格分隔。輸入樣例:請輸入一個非負整數:70000輸出樣例:19 26 4024.用流程圖描述出兩個數互換的過程。四、綜合題25.家里的吸頂燈一般具備顯示多種亮度的功能,通過重復按開關即可調節亮度,根據程序截圖回答相關問題。(1) 是 語句,該語句不循環,只有把它放入 指令塊內才會循環。若要增加一行“否則如果為……則”可以單擊指令塊左下角的 完成。(2)程序中新建變量的名稱是 ;是利用“ ”工具箱中的指令塊完成新建。(3)圖中 指令塊屬于 指令塊,它可以獨立于程序里的其他部分存在;當按鈕A被按下時,是以 為幅度更改改變亮度。(4)圖中 指令塊是 指令塊,可以獨立運行,也可以同時添加多個。(5) 是使用了 工具箱中的運算符,當滿足這個條件時,燈的亮度為 。26.若兩個素數之差為2,則該對素數稱為雙胞胎數,如3,5就是一對雙胞胎數。編寫python程序,實現如下功能:輸入n的值,統計顯示n以內的所有雙胞胎數。程序運行界面如圖所示:實現上述功能的程序如下,請在劃線處填入合適的代碼。import mathdef isprime(x): for i in range(2,int(math.sqrt(x))+1):if x % i = = 0 :f=Falsereturn fn=int(input("請輸入一個正整數 n:"))c=0k=3while k < = n-2:if isprime( k ) and :c + = 1print("第"+ str( c ) +"對雙胞胎數:", k ,'和',k+2) print("共有"+str(c)+"對雙胞胎數")27.閱讀下列程序,完成相應的問題。(1)下列程序運行后,變量s= 。Private Sub Form_Click( )Dim a, b, c, s As Integera=9b=41c=2*(a+b)s=a*c(2)若a=50,b=60,則下列程序的執行結果為 。Private Sub Form_Click( )Dim a As Integer, b As IntegerIf a>b Thena=a-bElsea=b+aEnd ifPrint a(3)執行下面的程序后,輸出的結果是 , 。Private Sub Form_Click( )Dim x As Integer, a As Integerx=0a=0For j=1 to 5a=a+jNext jx=jPrint x, aEnd Sub(4)執行下面的程序后,輸出的結果是 , 。Private Sub Form_Click( )Dim x As Integerx=0Do While x<50x=(x+2)*(x+3)n=n+1LoopPrint x,nEnd Sub28.已知圓柱體的底面半徑為r,高為h,(均為實數),小張編寫了一個程序計算圓柱體的底面周長、底面積、圓柱體側面積以及圓柱體體積,其中圓周率定義為:3.14,請根據下列代碼回答問題: c=2*pi*rs=pi*r**2S=c*hV=s*hprint(c,s,S,V)(1)解決該問題的程序用到的控制結構是: (填:順序結構、分支結構、循環結構)(2)請將程序②處的代碼補充完整。 (3)請找出程序中①中的錯誤代碼,并改正。 答案解析部分1.【答案】B【解析】【解答】判斷或分支用菱形表示。故答案選B。【分析】本題考查的是對流程圖圖形的認識。 表示程序的開始或結束, 表示連接符, 表示輸入或輸出。2.【答案】A【解析】【解答】順序結構、條件結構和循環結構是程序設計的三種基本結構。故答案選A。【分析】本題考查程序設計的三種基本結構。(1)順序結構是最簡單的一種 代碼是從上往下一行一行解析的 (2)循環結構包含for,while,do while三種, 其中for用于已知循環次數的情況, while和do while用于不知道循環次數的情況 (3)選擇結構包含 if 和 switch 兩種: if用于判斷條件為范圍的情況, switch用于判斷條件為離散值的情況。3.【答案】B【解析】【解答】>,<,==,!=,<=,>=用于比較兩個表達式的值,分別表示大于、小于、等于、不等于、小于等于、大于等于。故答案選B。【分析】本題考查Python的運算符。4.【答案】B【解析】【解答】題目中出現一個分支,執行右分支滿足條件。故答案選B。【分析】本題考查的是算法的控制結構。結構化程序由順序結構、分支結構(選擇結構)、循環結構三種基本結構組成。5.【答案】D【解析】【解答】Rnd*10表示會隨機得到一個從0到9的數值,121不在0到9的范圍。故答案選D。【分析】本題考查的是常用的基本函數。Rnd[(參數)]:產生一個[0,1)范圍內的隨機數。6.【答案】B【解析】【解答】想要利用中間變量來交換兩個變量的數據,應該先用中間變量c存儲任一變量的數據(c=a / c=b),后將這一變量賦值給另外一個變量(b=a / a = b),再將中間變量c的值賦值給未變動的變量(a = c / b = c)。故答案選B。【分析】本題考查的是變量數據的交換。變量是一種使用方便的占位符,用于引用計算機內存地址,該地址可以存儲Script運行時可更改的程序信息。變量數據交換的三種方法:采用第三個變量做過渡、利用a和b的和與差、利用按位異或運算符。7.【答案】C【解析】【解答】int( )是整型函數,abs( )是取絕對值的函數;int(x)+abs(y)=3+8=11。故答案選C。【分析】本題考查python順序結構程序的運行及基本函數。8.【答案】C【解析】【解答】當i<10時,執行輸出語句,i+2,一共執行5次,此時i=10,循環結束。故答案選C。【分析】本題考查的是while語句的使用。while循環的一般形式為:while(條件)語句while循環表示當條件為真時,便執行語句。直到條件為假才結束循環。 并繼續執行循環程序外的后續語句。9.【答案】C【解析】【解答】閏年需要滿足兩個條件:能被4整除但不能被100整除,或者能被400整除。mod是VB中算術運算符中的整除,代表能被某一個數除盡余數為0。and是VB中邏輯算符中代表兩個條件同時滿足,or是VB邏輯運算符中代表兩個條件滿足一個即可。根據閏年的條件,考慮VB中的運算符之間的優先級,最終的表達式為 (year mod 400=0) or (year mod 4=0) and (year mod 100<>0)。故答案選C。【分析】本題考查的是表達式的運算。算術運算符>關系運算符>邏輯運算符,遇到括號先計算括號里的。10.【答案】A【解析】【解答】由提議可知,要求1-100之間所有3的倍數的和,就要依次判斷1-99是否為3的倍數,如果是就相加,如果不是3的倍數就不進行處理繼續進行下一次判斷。要實現1-99取值就要用range(1,100)函數進行依次取值,要實現3的倍數的判斷就要用分支判斷語句進行if(i%3==0),符合上述判斷進行累加即可。故答案選A。【分析】本題考查循環結構程序分析與設計。按照需求就行分布拆解任務,結合所學內容依次達成分解任務的實現即可選出答案。11.【答案】C【解析】【解答】根據棧的“先進后出”特點,可以分析出:選項A:進棧次序為A進A出,B進B出,C進C出,D進D出,E進E出,因此是ABCDE,可能;選項B:進棧次序為ABC,BC出,D進D出,E進E出,A進A出,因此是BCDEA,可能;選項D:進棧次序為ABCDE,出棧序列為EDCBA,可能。故答案選:C。【分析】本題考查的是棧的應用。棧是一種只能從表的一端存取數據且遵循“先進后出”原則的線性存儲結構。12.【答案】C【解析】【解答】A選項先進入6-5,再出5,再進4,再出4,再進3 ,再出3,再出6;再進入2,1,再出1,2可實現543612;B選項先654進棧,4出棧,5出棧,3進棧,3出棧,2進棧,1進棧,1出棧,2出棧,最后6出棧可實現453216。D選項先65432進棧,2出棧,3出棧,1進棧,1出棧,5出棧,6出棧可實現234156。C選項先6543進棧,3出棧,4出棧,此時頂棧為5低棧為6,想要6出棧,必須5先出棧,故不可能先6再5出棧。(C選項的將65的位置互換后 也正確)。故答案為:C。【分析】本題考查棧的應用。棧是一種只能在一端進行插入和刪除操作的特殊線性表。棧的特點是先進后出。13.【答案】順序結構;分支結構;循環結構【解析】【解答】算法的基本控制結構分為三種:順序結構、分支結構、循環結構。故答案為:順序結構、分支結構、循環結構。【分析】本題考查算法控制結構。程序控制結構是指以某種順序執行的一系列動作,用于解決某個問題。理論和實踐證明,無論多復雜的算法均可通過順序、分支、循環3種基本控制結構構造出來。14.【答案】按鈕【解析】【解答】按鈕是用戶通過點擊等動作完成程序中的某些操作。故答案為:按鈕。【分析】本題考查App Inventor常用組件及作用。15.【答案】8【解析】【解答】a+=3等價于a=a+3=8,然后將8賦值給a。故答案為:8。【分析】本題考查的是Python賦值語句。=是賦值。16.【答案】G>=85:;elif G<70 and G>=60:【解析】【解答】要輸出Great,則G需要大于85,故第一空答案為:G>=85:;要輸出Medium,則G范圍60(含)至70,故第二空答案為:elif G<70 and G>=60:。【分析】本題考查的是分支結構程序的設計與分析。17.【答案】(1)Sqr((x*x+y*y)/(a+b))(2)X mod 5=0 or X mod 9=0【解析】【解答】(1)求平方根使用函數函數Sqr(數值),故答案為:Sqr((x*x+y*y)/(a+b));(2)在VB中判斷倍數問題時,可通過取余mod來判斷。若取余為0,則表示該變量是某數的倍數。故答案為: X mod 5=0 or X mod 9=0。【分析】本題考查的是VB表達式。表達式書寫時不可以省略乘號,運算符不可以相鄰;表達式必須書寫在同一基準,不可以出現上下標;按照各種運算符的優先級別來計算;表達式中只可以使用圓括號來表示優先級,且要成對出現。不可以使用方括號、大括號等。18.【答案】10 -1【解析】【解答】a=4,s=0,當a大于等于0時,執行循環。a=4,s=0+4=4,a=4-1=3。a=3,s=4+3=7,a=3-1=2。a=2,s=7+2=9,a=2-1=1。a=1,s=9+1=10,a=1-1=0。a=0,s=10+0=10,a=0-1=-1。a=-1,退出循環。故答案為:10 -1。【分析】本題考查while循環語句。Python中while 語句的一般形式:while 判斷條件(condition):執行語句(statements)……while 循環使用 else 語句,如果 while 后面的條件語句為 false 時,則執行 else 的語句塊。語法格式如下:while :else:expr 條件語句為 true 則執行 statement(s) 語句塊,如果為 false,則執行 additional_statement(s)。19.【答案】C;D;A;B【解析】【解答】由選項可知,程序定義了一個可變類型的變量C和單精度數據類型F,分別用來存儲攝氏度的值和華氏度的值。根據題目所提供的轉換公式將其轉化成VB中的表達式為F=9/5*C+32。text1的數據是字符型,要參與到運算中需要轉換成數值型,val( )函數的用法就是將字字符型換成數值型,通過公式計算得到的值最后再用str( )函數轉換成字符型賦值給text2。賦值語句的用法是變量名=表達式或者對象名.屬性名=表達式。根據順序結構的特點程序代碼逐條從上至下依次執行。故答案為:C、D、A、B。【分析】本題考查的是VB表達式、基本語句以及對順序結構的分析。考查的內容較多難度也較大,需要具備扎實的VB程序基礎。20.【答案】import random;game=random.randint(1,100);guess【解析】【解答】第一空:在python中導入模塊可以使用import;第二空:因為game是變量,所以要在等號左邊;生成1~100隨機數字,random.randint(a,b);其中參數a是下限,參數b是上限,生成的隨機數n:a<=n<=b;第三空:由題意可知,if(guess>game),輸出("too big"),否則輸出(“too small")。故答案為:import random;game=random.randint(1,100);guess【分析】本題主要考查的是程序的分析。python中的模塊導入語句通常使用import.../import...as.../from...import.../from...import...as。在一些特殊場景中,還可以用到import內建函數importlib模塊來實現動態導入。random()函數在python中是一個標準庫用于生成隨機數、隨機整數、還有隨機從數據中集取數據;random.randint():用于生成一個指定范圍內的整數。21.【答案】print('''登高朝代:唐代 作者:杜甫風急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢,潦倒新停濁酒杯。''')【解析】【分析】本題考查的是輸出語句在編程中的應用。22.【答案】for i in range(1,10,2):a="*"*iprint(a)【解析】【分析】本題考查的是循環結構的實現。23.【答案】t=eval(input('請輸入一個非負整數:'))a=t//3600b=(t%3600)//60c=(t%3600)%60print(a,b,c)【解析】【分析】本題考查的是程序的編寫。24.【答案】解:如圖所示:【解析】【分析】本題考查的是用流程圖描述算法。25.【答案】(1)條件;循環;+(2)改變亮度;變量(3)事件;1(4)控制(5)邏輯;150【解析】【解答】(1)圖示為如果條件為真,執行一個步驟,否則執行另外一步驟,是“條件”語句;只有放入“循環”指令塊才會循環。需要增加一行可以單擊指令塊左下角的“+”完成。故答案為:條件、循環、+;(2)從圖中可以看出新建變量名為“改變亮度”,利用“變量”來完成。故答案為:改變亮度、變量;(3)圖中指令塊屬于“事件”,可以獨立于程序里的其他部分存在;由此圖 可以得知,當按鈕A被按下時以“1”為幅度改變亮度。故答案為:事件、1;(4)圖中是“控制”指令塊,可以獨立運行,也可以同時添加多個。故答案為:控制。(5)圖中使用“邏輯”工具箱中的運算符號,滿足條件燈的亮度為150。故答案為:邏輯、150。【分析】本題考查micro:bit編程。micro:bit編程是可視化的編程。通過代碼塊嵌套來執行。工具箱有控制、基本、變量等指令塊。控制指令塊可以獨立運行,可以同時添加多個。26.【答案】f = True;isprime(k+2);k=k+1 或 k+=1 或 k=k+2 或 k+=2【解析】【解答】第一空:根據函數isprime(x)用來判斷x是不是素數,通過用x整除2~int(math.sqrt(x)),如果余數為0則表明該數不是素數,賦值f為假退出循環,應當將f的初值設定為True。第二空:若兩個素數之差為 2,則該對素數稱為雙胞胎數,如果當前是素數,并且當前值+2也是素數,統計自動增1。因此是 isprime(k+2) 。第三空:素數都是奇數,此處需要更新k的值繼續循環判斷,可以將k的值遞增1或遞增2,故填k=k+1 或 k+=1 或 k=k+2 或 k+=2。故答案為:f = True、isprime(k+2) 、k=k+1 或 k+=1或k=k+2 或 k+=2。【分析】本題考查Python程序分析。range(start, stop[, step])參數說明:start: 計數從 start 開始。默認是從 0 開始。例如range(5)等價于range(0, 5);stop: 計數到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5.step:步長,默認為1。例如:range(0, 5) 等價于 range(0, 5, 1).27.【答案】(1)900(2)110(3)6;15(4)72;2【解析】【解答】(1)a=9,b=41,c=2*(a+b)=100, s=a*c=9*100=900。故答案為:900。(2)若a=50,b=60。則a(3)程序執行如下: x=0,a=0,j=1,a=a+j=1,x=j=1 ;x=1,a=1,j=2,a=a+j=3, x=2;……故答案為:6、15。(4)程序執行如下: x=0, x=(x+2)*(x+3) =6;x=6, x=(x+2)*(x+3) =72。循環2次。故答案為:72、2。【分析】本題考查循序結構、分支結構與循環結構程序的分析。28.【答案】(1)順序結構(2)pi=3.14(3)r= input(“請輸入半徑r:”)h=input(“請輸入高h:”)【解析】【解答】(1)由題可看出,該程序未使用到分支判斷和循環遍歷。故答案為:順序結構。(2)由題可知,當前程序未對圓周率pi進行賦值,pi應賦值為3.14。故答案為:pi=3.14。(3)input()函數的作用是返回用戶輸入的值,不管輸入的是數字、字母還是其他字符,其返回的值總是一個字符串,不必強制性轉換為數值型數據,不影響數據計算。故答案為:r= input(“請輸入半徑r:”)、h=input(“請輸入高h:”)。【分析】本題考查的是順序結構程序分析。一般算法有順序結構、條件分支結構、循環結構三種基本邏輯結構。(1)順序結構:是最簡單的算法結構,語句與語句之間是按從上到下的順序進行的。它是由若干個依次執行的處理步驟組成的;(2)條件分支結構:先根據條件作出判斷,再決定執行哪一種操作;(3)循環結構:需要重復執行同一操作 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫