4.3运用选择结构描述问题求解过程2023—2024学年高中信息技术粤教版(2019)必修1

2024-06-27
| 16页
| 27人阅读
| 0人下载

内容正文:

4.3运用选择结构描述问题求解过程 2023—2024学年高中信息技术粤教版(2019)必修1 1.阅读下面的Python程序,要使程序的输出结果是True,则在画线处应填入(  ) a=5 b=8 if : print("True") else: print("False") A.a>b B.a<b C.a==b D.a=b 2.小东学习了Python程序设计后,编写了计算话费充值优惠的程序如下所示。用户输入充值金额,程序会计算并输出优惠后需要支付的金额。当用户输入充值金额53时,输出结果是(   ) 1  cz=float(input("请输入充值金额(元):")) 2  if cz<=38: 3     zf=cz 4  elif cz<=50: 5      zf=cz-3 6  elif cz<=100: 6     zf=cz-6 7  else: 8      zf=cz*0.9 9  print(zf) A.47.0 B.50.0 C.55.0 D.53.0 3.下面程序的功能是:产生30个[1,100]范围内的随机整数,并统计这30 个随机数中不重复的整数的个数,最后将统计结果显示在标签Label1 中。例如:5个随机数[1,2,3,2,1]中不重复数字个数为3。程序部分代码如下: count = 0 For i = 1 To 30 a(i) = Int(Rnd * 100) + 1 Next i For i = 1 To 30 Next i For i = 1 To 100 If b(i) <> 0 Then count = count + 1 Next i Label1.Caption= “不重复数字个数” + Str(count) 为实现上述功能,则程序划线处应填入的语句为(     ) A.b(i)=1 B.b(a(i)) = a(b(i)) + 1 C.b(i)=b(i)+1 D.b(a(i)) = b(a(i)) + 1 4.将长度为奇数的字符串s从首位字符开始依次存入a(1),a(n - 1),a(3),a(n - 3)...。如:字符串“xuankao”分存后得到a(1)=“x”,a(6)=“u”,a(3)=“a”,a(4)=“n”,a(5)=“k”,a(2)= “a”,a(7)= “o”,下列能实现该功能的程序段是(   ) A.For i = 1 To Len(s)     If I Mod 2= 0 Then         a(i) = Mid(s, i, 1)     Else         a(Len(s) - i + 1) = Mid(s, i, 1)     End If Next i B.For i = 1 To Len(s)     If i Mod 2= 0 Then         a(Len(s) - i+1) = Mid(s, i, 1)     Else         a(i) = Mid(s, Len(s) - i+1, 1)     End If Next i C.For i = 1 To Len(s)     If i Mod 2 = 1 Then         a(i) = Mid(s, i, 1)     Else         a(Len(s) - i+1) = Mid(s, i, 1)     End If Next i D.For i= 1 To Len(s)     If i Mod 2 = 1 Then         a(i) = Mid(s, i, 1)     Else         a(Len(s) - i+1) =Mid(s, Len(s) - i+1, 1)     End If Next i 5.有如下VB程序段: Dim a(1To 5)As Integer i=1:n=5 Randomize For i=1 To n x=Int(Rnd*10)*2+1 If(x Mod 10+x\10)Mod 2=0 Then a(i)=x Else a(n-i+1)=x End If Next i 数组元素的初值均为0,执行该程序段后,a(1)至a(5)的值可能的是(    ) A.17,11,5,19,15 B.11,0,11,0,15 C.7,0,5,13,17 D.0,0,3,19,11 6.有如下VB程序段: a(1)=4:a(2)=5:a(3)=1 a(4)=2:a(5)=3:a(6)=6 k=1 For i=l to 5000 k=(k+a(k)-1)Mod 6+1 Next i 执行该程序段后,变量k的值为(    ) A.0 B.1 C.2 D.5 7.有如下VB程序段: Dim f(1 To 20) As Boolean, a(1 To 20) As Integer sl = Textl.Text: s2 = Text2.Text Text3.Text = "" For i= 1 To Len(s1) For j= 1 To Len(s2) If Mid(s1, i, 1)= Mid(s2,j, 1) Then If Not f(j) Then a(i)= j: f(j) = True: Exit For End If Next j Text3.Text = Text3.Text + Str(a(i)) Next i 若文本框Textl中输入的值为“ABCDEA”,文本框Text2中输入的值为“BAECAD”,f数组元素的初始值均为False,则执行该程序段后,文本框Text3中显示的内容是(   ) A.2 1 4 6 3 5 B.2 1 5 3 6 4 C.1 2 3 4 5 1 D.5 1 4 6 3 2 8.给定一个n正整数(n<=20),根据设定的保留位数,舍去一部分数字,剩下的数字按原次序组成一个最大的新数。例如原数36835132,保留4位,最大数为6532。在文本框Text1输入原数,文本框Text2中输入保留的位数,文本框Text3中输出删除后的最大数。实现上述功能的部分VB代码如下∶ Dim a(1 To 20)As String,ys As String,xs As String Dim k As Integer,h As Integer,n As Integer,i As Integer,j As Integer ys=Text1.Text:k=Val(Text2.Text) n=Len(ys):h=1 For i=1 To n a(i)=mid(ys,i,1) Next i For i=1 To k For j = h To ① If a(j) > a(h) Then ② Next j xs=xs + a(h) h=h + 1 Next i Text3.Text=xs 上述程序中划线处可选语句为(  ) ①n-k+i   ②i+k   ③n-k+1   ④j=h   ⑤h=j 则①②处语句依次是 A.③⑤ B.①⑤ C.①④ D.②⑤ 9.如下Python程序段运行后,y的值是(     ) x = -64 if x > 0 : y = 1 elif x == 0 : y = 0 else: y = -1 A.1 B.0 C.64 D.-1 10.以下程序用于统计自然数1到n之间出现多少个x(0<=x<=9),空缺处应填入的代码是(    ) n = Val(Text1.Text) x = Val(Text2.Text) k = 0 For i = 1 To n   ________①_________    Do While temp <> 0       y= temp Mod 10       If ________②_________ Then k = k + 1       temp = temp \ 10    Loop Next Label1.Caption = Str(k) A.①temp=n  ② y=x B.①temp = i  ② y=x C.①temp=i   ② i=x D.①temp=n  ② i=x 11.某商场做促销打折活动,消费金额500元以内打8.8折;大于500元(含500元)且小于1000元打8折;1000元以上(含1000元)打7折。小曲使用Python 编写了下面程序,第4行下划线处应填写的代码是(   ) 1 x=float(input(“消费金额:”)) 2 if  x<500: 3     s=x*0.88 4 x<1000: 5     s=x*0.8 6 else: 7     s=x*0.7 8 print(“应付金额为:”,s) A.if B.elif C.else D.while 12.有如下VB程序段: L = 0: R = 7: i = 1 Do While i < R     If a(i) = 0 Then         L = L + 1         t = a(i):a(i) = a(L):a(L) = t         i = i + 1     ElseIf a(i) = 2 Then         R = R - 1         t = a(i):a(i) = a(R):a(R) = t     Else         i = i + 1     End If Loop 数组元素 a(1)到 a(6)的值依次为“2, 0, 2, 1, 1, 0”。执行该程序段后,下列说法不正确的是(  ) A.变量 L 的值为 2 B.变量 R 的值为 5 C.变量 i 的值为 4 D.数组元素值依次为“0, 0, 1, 1, 2, 2” 13.在下列程序中,若程序运行后输入20,输出的s的值为(   ) A.30 B.50 C.40 D.20 14.有如下VB程序段: Const s= "3123abc21d64" Dim flag (0 To 9) As Integer Dim i As Integer,c As String For i=0 To 9 flag (i)=0 Next i For i=1 To Len(s) c=Mid (s,i,1) If c>="0" And c <= "9" Then flag(Val(c))=flag(Val(c))+1 Next i 执行该程序后,数组变量flag(3)的值为(    ) A.0 B.1 C.2 D.3 15.周文设计了如图所示的程序,对班上同学的英语成绩进行判断,周华的英语成绩为84分,此时输出结果为(  ) A.您的成绩等级为: A B.您的成绩等级为: B C.您的成绩等级为: C D.您的成绩等级为: D 16.有如下程序段: key=5:pmin=a(1) For i=2 To 6   If a(i)>key And a(i)<pmin Then pmin =a(i) Next i 数组元素a(1)到a(6)的值依次为“9,1,7,3,8,4”,执行程序后,变量pmin的值为(  ) A.1 B.4 C.7 D.9 17.用 VB 程序编写了一个找最大值的程序,程序功能:在文本框中输入数字串(数据间用逗号分隔,以数字开头,逗号结尾),单击“寻找”按钮 Command1 后,在 Label3中输出最大的数值。程序运行界面如图所示: Private Sub Command1_Click() Dim i As Integer, max As Integer, j As Integer Dim s As String, c As String, t As String s = Text1.Text i = 1 : j = 1 max = 0 : t = "" Do While j <= Len(s) c = Mid(s, j, 1) If c = "," Then t = Mid(s, i, j - i) If Val(t) > max Then max = Val(t) ① End If ② Loop Label3.Caption = Str(max) End Sub 将划线处代码补充完成,正确的是(      ) A.① i=i+1    ② j=j+1 B.① i=j+1    ② j=j+1 C.① j=j+1    ② i=i+1 D.① j=i+1    ② i=i+1 18.有如下VB程序段: Private Sub Command1_Click() Dim s As String, ch As String Dim n As Integer, t As Integer, c As Integer s = "Go-2020-12" n = Len(s):t = 0 For i = 1 To n       ch = Mid(s,i,1)       If ch >= "0" And ch <= "9" Then         t = t + Val(ch)       Else         c = t:t = 0       End If Next i Label1.Caption = Str(c) End Sub 执行完以上程序段后,标签Label1上显示的内容为(   ) A.7 B.2 C.3 D.4 19.用 VB 编写统计某字母开头的单词个数的程序。程序功能:在文本框 Text1 中输入待统计的句子,在文本框 Text2 中输入某字母,单击“统计”按钮Command1后,将结果显示在Label3中。输入要求:句子以“.”结束;单词之间用空格分隔,单词没有缩写或其他特殊形式。程序运行界面如图所示: Private Sub Command1_Click() Dim i As Integer, n As Integer,b As Integer Dim c As String, t As String, s As String, f As Boolean s = Text1.Text t = Text2.Text b = Len(s) f = True For i = 1 To b c = Mid(s, i, 1) If   ① Then     n = n + 1 ② ElseIf c = " " Or c = "." Then ③ Else f = False End If Next i Label3.Caption = "以" + t + "为开头的单词个数:" + Str(n) End Sub 为实现上述程序,空格处应填入的代码是(    ) A.① f And c = t                ② f = False             ③ f = True B.① f = False And c = t            ② f = False              ③ f = True C.① c = t                       ② f = True            ③ f = False D.① f = True And c = t            ② f = True                ③ f = False 20.某产品质量检测综合指标x,当0≤x<6为不合格,6≤x<8为合格,8≤x≤10为优秀。设计Python程序段,输入x(O≤x≤10),输出质检等级,则能实现该功能的是(   ) A. x =int (input ()) s=" " if 0<=x:     s= "不及格" elif 6<=x:     s ="及格" else:     s="优秀" print (s) B. x =int (input ()) s=" " if 8<=x:     s= "优秀" elif 6<=x:     s="及格" else:     s ="不及格" print (s) C. x=int (input ()) s=" " if 0<=x:     s="不及格" if 6<=x:     s ="及格" else:     s = "优秀" print (s) D. x=int (input ()) s =" " if 8<=x:     s= "优秀" if 6<=x:     s ="及格" if 0<=x:     s = "不及格" print (s) A.A B.B C.C D.D 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.B 【详解】本题考查的是Python的选择语句。if条件满足时,执行 print("True"),a=5,b=8,故画线处应填入:a<b。故本题应选B。 2.A 【详解】本题考查的是Python多分支语句。输入充值金额53时,不满足 cz<=38,不满足cz<=50,满足cz<=100,执行zf=cz-6=53-6=47。故本题应选A。 3.D 【详解】本题主要考查VB程序的执行与调试。第一个for循环产生30个[1,100]范围内的随机整数,第二个for循环统计每个数字的出现次数,故填b(a(i)) = b(a(i)) + 1,第三个for循环统计出现的所有数字,即所有b(i)不等于0的值(重复数字为一个),故本题选D选项。 4.C 【详解】本题主要考查VB程序的执行。根据题干要求可知,奇数位保存的字符不变,偶数位逆着保存字符,故当i是奇数时,即 i Mod 2 = 1 ,执行 a(i) = Mid(s, i, 1),当i是偶数时,执行a(Len(s) - i+1) = Mid(s, i, 1),故本题选C选项。 5.A 【详解】本题主要考查VB程序的执行。数组元素的初值均为0, x=Int(Rnd*10)*2+1,x是随机生成[1,19]之间的整数,故执行程序段后,a(1)至a(5)的值不可能有0,故本题选A选项。 6.C 【详解】本题主要考查VB程序的执行。当i=1时,k=(k+a(k)-1)Mod 6+1=5;当i=2时,k=(k+a(k)-1)Mod 6+1=2;当i=3时,k=(k+a(k)-1)Mod 6+1=1;当i=4时,k=(k+a(k)-1)Mod 6+1=5,故k的值每循环3次重复一次,5000 mod 3=2,故i=5000时,k=2,执行该程序段后,变量k的值为2,故本题选C选项。 7.A 【详解】本题主要考查VB程序的执行。程序通过嵌套循环逐位比较字符串ABCDEA和BAECAD,若相等执行a(i)= j,i=1时,a(1)=2,f(2)=True,退出循环,i=2时,a(2)=1,f(1)=True,退出循环,i=3时,a(3)=4,f(4)=True,退出循环,以此类推,最后将a(i)的值加到Text3.Text中,则执行该程序段后,文本框Text3中显示的内容是2 1 4 6 3 5,故本题选A选项。 8.B 【详解】本题主要考查VB程序的执行与调试。第二个嵌套for循环实现将保留的k个数,逐个对比找出最大的数加到字符变量xs中,外层循环变量i的范围是从1到k,故内层循环变量j的范围从h到n-k+i(在保留的n-k个值中进行比较,当外层循环是i时,则内层循环的最后一位是n-k+i),如果a(j)>a(h),则更新h的值(即将最大值赋给a(h)),故①②处语句依次是①n-k+i ⑤h=j,故本题选B选项。 9.D 【详解】本题考查的是Python选择结构。x=-64,不满足x > 0,也不满足x = 0,故执行else后缩进的语句:y = -1。故本题应选D。 10.B 【详解】本题考查VB程序段阅读,枚举算法,循环嵌套。根据题干以及算法整体结构,可推知程序采用枚举算法将所有数据全都列举,然后逐一判断是否包含x,进行统计。①处可根据下方Do while temp<>0 得知,此处应该是对temp赋值,将循环变量赋值给temp,故temp=i ②处根据上下两条语句,y= temp Mod 10以及temp = temp \ 10,可知,Do while循环中将temp从低位开始每一位取出存入y,进而判断y和x是否相等,如相等,则temp中存在一个x,统计变量k=k+1。故推出②处的语句为y=x 11.B 【详解】本题主要考查Python多分支结构。Python多分支结构格式是if…elif…else,故划线处填elif,故本题选B选项。 12.C 【详解】本题主要考查VB程序的执行与调试。数组元素 a(1)到 a(6)的值依次为“2, 0, 2, 1, 1, 0”,L=0,R=7,i=1,第一遍循环,a(1)=2,R=R-1=6,交换a(1)与a(7)的值,a(1)=0,a(7)=2;第二遍循环,i=1,a(1)=0,L=L+1=1,i=i+1=2;第三遍循环,i=2,a(2)=0,L=L+1=2,i=i+1=3;第四遍循环,i=3,a(3)=2,R=R-1=5,交换a(3)与a(5)的值,a(3)=1,a(5)=2,i=i+1=4,第五遍循环,i=4,a(4)=1,i=i+1=5,循环结束。故执行该程序段后,变量L 的值为 2;变量 R 的值为 5;变量 i 的值为5;数组元素值依次为“0, 0, 1, 1, 2, 2”,故本题选C选项。 13.A 【详解】本题主要考查分支结构。当s的值为20,20>60不满足条件,则s+=20不执行。只执行s+=10(扩写表达式:s=s+10),s=20+10=30,故本题选A选项。 14.C 【详解】本题主要考查VB程序的执行。第一个for循环将flag数组全部赋值为0,第二个for循环,截取字符串的s的每一个字符,若是数字,则执行 flag(Val(c))=flag(Val(c))+1,字符串s中有两个3,故执行该程序后,数组变量flag(3)的值为2,故本题选C选项。 15.B 【详解】本题考查的是Python多分支语句。84满足70<=score<85条件,故执行level='B',故最后输出的结果为:您的成绩等级为: B,选项B正确。 16.C 【详解】本题主要考查VB程序的执行。设定最小值是pmin,从数组中的第2个数据开始遍历,直到数组中的最后一个数据,key=5,若出现比key大,且比最小值pmin小的数据,更新pmin,遍历过程中,7、8是比key大的数据,且7比当前的pmin小,故程序执行后,pmin的值是7,故本题选C选项。 17.A 【详解】本题主要考查VB程序的执行。 c = Mid(s, j, 1),如果c不是“,”,则j递增,继续截取下一位,故②处填j=j+1,如果c是“,”,则执行t = Mid(s, i, j - i),并且判断t与max的大小,i递增,故①处填i=i+1,故本题选A选项。 18.D 【详解】本题主要考查VB程序的执行。s = "Go-2020-12",n=Len(s)=10,t=0,ch是截取字符串s位置i处长度为1的字符赋给变量ch,如果ch是数字,将该字符转换为数据型并累加到t中,否则执行c=t,t=0,当i=8时,t=2+0+2+0=4,c=t=4,t=0;当i=10时,t=1+2=3,循环结束,故执行完以上程序段后,标签Label1上显示的内容为4(显示c的内容,c=4),故本题选D选项。 19.D 【详解】本题主要考查VB程序的调试。① 变量t保存输入开头字母,变量n保存以s为开头的单词个数,如果f为True且c等于t,则变量n递增,故此处填f=True And c=t。 ②如果f为True且c等于t,则变量n递增,同时赋值f为True,故此处填f=True。 ③截取的字符c是空格或是符号"."时,赋值f为False,故此处填f=False。故本题选D选项。 20.B 【详解】本题考查分支结构。A选项错误,0<=x这个条件始终为真,所以s总是被设置为"不及格",不会执行后面的elif和else。C选项错误,当x在[8,10]之间,if 0<=x仍然会执行,s被先设置为"不及格",然后设置为"及格",这与题目不符合。D选项错误,所有if条件都是独立判断的,最后s都会被if 0<=x覆盖为"不及格"。故答案为:B。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

4.3运用选择结构描述问题求解过程2023—2024学年高中信息技术粤教版(2019)必修1
1
4.3运用选择结构描述问题求解过程2023—2024学年高中信息技术粤教版(2019)必修1
2
4.3运用选择结构描述问题求解过程2023—2024学年高中信息技术粤教版(2019)必修1
3
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。