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

2024-06-26
| 14页
| 94人阅读
| 0人下载

内容正文:

4.3运用选择结构描述问题求解过程 2023—2024学年高中信息技术粤教版(2019)必修1 1.某VB程序段如下: n = 6 :i = 1 j = i+1 : key = a(i) Do While j <= n   If key = a(j) Then     k =i     Do While k < n       a(k)= a(k + 1):k = k + 1     Loop     key =a(j - 1): n = n - 1   Else     j = j + 1   End If Loop For i = 1 To n   List1.AddItem a(i) Next 数组元素a(1)到a(6)的值依次为 “a1,a3,a5,b3,a1,c1”,则经过该程序段“加工”后,列表框List1显示的项依次为(  ) A.“a3,a5,b3,a1,c1,c1” B.“a1,a3,a5,b3,c1,c1” C.“a3,a5,b3,a1,c1” D.“a1,a3,a5,b3,c1” 2.有如下VB程序段: Dim a(1 To 10) As Integer s = “8+9+10=”: n = 1 For i = 1 To Len(s)     ch = Mid(s, i, 1)     If ch >= “0” And ch <= “9” Then         a(n) = a(n) * 10 + Val(ch)     Else         If a(n) > 0 Then n = n + 1     End If Next i Text1.Text = Str(n) 数组a各元素的初始值都为0,若执行该程序后,在文本框Text1中显示的值为(   ) A.2 B.3 C.4 D.5 3.有如下VB程序段: sl=Text1. Text i=l∶t=〞〞   Do While i<= Len(sl)      c=Mid(sl, i, l)      If c >=〞a〞And c <=〞z〞Then t=t+c      Else Text2. Text=t End If i=i+2 Loop 在文本框 Textl中输入“Hello_New_World!”,执行该程序段后,则文本框Text2中显示的内容是(   ) A.low B.orld C.lowrd D.HloNw01! 4.有如下VB程序段: Const n=7 Dim a(1 To n)As Integer k=Int(Rnd*(n\2))+1 For i=k+1 To 2*k j=i-k If a(i)<a(j)Then t=a(i):a(i)=a(j):a(j)=t List1.AddItem Str(a(i)) Next i 若数组元素a(l)〜a(7)的值依次为44,24,32,67,77,58,12,则执行该程序段后,在列表框List1中显示的内容可能为(    ) A.67,77,58 B.44,24,32 C.32,24 D.32,58 5.运行以下Python程序段,变量y的值为(   ) x=10 if  x>=10:   y=10*x else:   y=9*x A.100 B.90 C.80 D.70 6.有如下VB 程序段: For i = 1 To 4   a(i) = Int(Rnd * 9 + 1)   b(i) = 1 Next i For i = 1 To 3   For j = i + 1 To 4     If a(i) < a(j) Then       b(i) = b(i) + 1     Else       b(j) = b(j) + 1     End If   Next j Next i 执行该程序段后,数组b各元素的值依次是1,4,2,3,则数组a各元素的值不可能是( ) A.4 1 3 2 B.6 4 5 1 C.6 4 5 5 D.9 1 8 3 7.Python中,分支语句使用的关键字是(   ) A.if B.while C.for D.def 8.有如下VB程序段:     Dim s1 As String, s2 As String     s1 = "what doesn't kill you makes you stronger."     s2 = text1.text     i = 1: j = 1     Do While i <= Len(s1) And j <= Len(s2)         If Mid(s1, i, 1) = Mid(s2, j, 1) Then j = j + 1         i = i + 1     Loop If j > Len(s2) Then s3 = "true" Else s3 = "false" EndIf 执行该程序段后,s3的值为“false”,则text1输入的文本可能是(   ) A."skills" B."waste" C."damage" D."note" 9.有如下VB程序段: Dim i As Integer,c As String,s As String,t As Integer Dim s2 As String,pwd As String s=Text1.Text:pwd="71zhYEAR":s2="":t=0 For i = 1 To Len(s)    c=Mid(s,i,1)    If c>="0" And c<="9"Then       t=t*10+Val(c)    Else       s2=s2+Mid(pwd,t Mod 8+1,1)    End If Next i Text2.Text=s2 运行该程序段,在文本框Text1中输入“20B13A8”,文本框Text2输出的是(   ) A.hY B.YE C.YE7 D.hYA 10.有如下VB程序段: Dim x As String, s As String x = Text1.Text:s="" For i= 1 To Len(x)     c = Mid(x, i,1)     If c = "a" Then         s= s + "z"     Else         s= s +Chr(Asc(c)- 1)     End If Next i 在文本框Text1 中输入“dream”,执行该程序段后,变量s的值是(   ) A.cqdal B.csdzn C.esfzn D.cqdzl 11.在Python中,下列程序段执行后,变量s的值是(    ) w=2 h=5 if h>8:    s=w*2 else:    s=w+1 A.1 B.2 C.3 D.4 12.某商场做促销打折活动,消费金额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 13.有如下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” 14.运行下面Python程序,从键盘输入781,运行结果为(   ) x=lnt(input("请输入一个正整数:")) if x%2==0:     print(x,"是偶数") else:     print(x,"是奇数") A.是偶数 B.是奇数 C.781是偶数 D.781是奇数 15.以下Python程序段执行后,输出结果为(    ) m=29 if m%3!=0     print(m, "不能被3整除") else:     print(m, "能被3整除") A.m不能被3整除 B.29不能被3整除 C.29能被3整除 D.m能被3整除 16.有如下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 17.有如下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 18.有以下 VB 程序段 For i = 1 To 3    For j = 1 to 10       If j Mod i = 0 Then           a(j) = 1 – a(j)    Next j Next i sum = 0 For i = 1 To 10    sum = sum + a(i) Next i 已知数组 a 的所有元素初值均为 0,运行上述程序段后,变量 sum 的值是(   ) A.2 B.3 C.4 D.5 19.有如下VB程序段: s=Textl. Text st="" n= Len(s) For i=1 To n     a(i)=Mid(s, i, 1)     If a(i)>="A" And a(i) <= "Z" Then a(i)=Chr(Asc("Z") - Asc(a(i))+Asc("A"))     If a(i)>="a" And a(i) <= "z" Then a(i)=Chr(Asc("z") - Asc(a(i))+Asc("a"))     st=st+a(i) Next i 在文本框Text 1中输入“Happy”,执行该程序段后,变量st的值为(   ) A.“Szkkc” B.“yppaH” C.“Happy” D.“Szkkb” 20.有如下VB程序段: max=a(1)∶c=0∶k=0 For i=1 To 8 If a(i) Mod 2 =1 Then c=c+1 If a(i)> max Then max=a(i) Else k=k+1 End If Next i 已知数组元素a(1)~a(8)的值分别是“61,23,54,66,84,42,55,98”,执行该程序段后,下列变量的值,正确的是(   ) A.c=5 B.i=8 C.max=61 D.k=3 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.C 【详解】本题主要考查VB程序的执行。n=6,i=1,j=i+1=2,key=a(1)=a1,j=5时,key=a(5)=a1,k=i=1,执行完内层循环后,a(1)=a(2)=a3,a(2)=a(3)=a5,a(3)=a(4)=b3,a(4)=a(5)=a1,a(5)=a(6)=c1,key=a(4)=a1,n=n-1=5,j=j+1=6,退出while循环,最后一个for循环中,输出a(1)~a(5),故经过该程序段“加工”后,列表框List1显示的项依次为“a3,a5,b3,a1,c1”,故本题选C选项。 2.C 【详解】本题主要考查VB程序的执行。s=“8+9+10=”,n=1,Len(s)=7,当i=1时,ch=“8”,a(1)=8,当i=2时,ch=“+”,满足a(1)>0,n=n+1=2,当i=3时,ch=“9”,a(2)=9,当i=4时,ch=“+”,满足a(2)>0,n=n+1=3,当i=5时,ch=“1”,a(3)=1,当i=6时,ch=“0”,a(3)=10,当i=7时,ch=“=”,满足a(3)>0,n=n+1=4,程序结束,故执行该程序后,在文本框Text1中显示的值为4,故本题选C选项。 3.C 【详解】本题主要考查VB程序的执行。s1="Hello_New_World!",i=1,t="",i每次递增2,c是截取字符串s1中位置i长度为1的子串,当遇到小写字母时,将其加到变量t中,故执行该程序段后t="lowrd",文本框Text2中显示的内容是lowrd,故本题选C选项。 4.A 【详解】本题主要考查VB程序的执行与调试。k=Int(Rnd*(n\2))+1,k是随机生成[1,3]之间的整数,当k=1时,执行完for循环后,列表框List1中显示的内容为a(2)的值即44(a(1)与a(2)交换);当k=2时,执行完for循环后,列表框List1中显示的内容为44,67;当k=3时,执行完for循环后,列表框List1中显示的内容为67,77,58,故执行该程序段后,在列表框List1中显示的内容可能为67,77,58,故本题选A选项。 5.A 【详解】本题主要考查Python分支结构。x=10,满足x>=10,执行y=10*x=10*10=100,故运行该程序段后变量y的值为100,选A选项。 6.B 【详解】本题主要考查VB程序的执行与调试。第一个for循环实现,随机生成数组a,范围是[1,9],数组b均赋值为1,第二个嵌套for循环,当a(i) < a(j)时,执行b(i) = b(i) + 1,否则执行b(j) = b(j) + 1,由数组b各元素的值依次是1,4,2,3,可知,当i=1时,a(1)>a(2),a(1)>a(3),a(1)>a(4),当i=2时,因为b(2)=4,故b(2)<b(3),b(2)<b(4),故数组a各元素的值不可能是6 4 5 1,故本题选B选项。 7.A 【详解】本题考查的是Python分支语句。if是分支语句使用的关键字;while、for是循环语句使用的关键字;def是自定义函数的关键字。故选A。 8.C 【详解】本题主要考查VB程序的执行与调试。执行该程序段后,s3的值为“false”,表明j<= Len(s2),当Mid(s1, i, 1) = Mid(s2, j, 1)时,j才会递增,若text1输入的文本是选项A、B、D,则执行完后,j>Len(s2),不符合。当text1输入的文本是"damage",执行完后j=2,满足j<=Len(s2),故本题选C选项。 9.B 【详解】本题主要考查VB程序的执行。s=“20B13A8”,该程序通过for循环截取字符串s的每一位进行判断,当截取的是数字时,执行 t=t*10+Val(c),否则执行s2=s2+Mid(pwd,t Mod 8+1,1),i=1时,c=“2”,t=2,i=2时,c=“0”,t=2*10+0=20,i=3时,c="B",20 mod 8+1=5,s2=“Y”,i=4时,c=“1”,t=20*10+1=201,i=5时,c=“3”,t=201*10+3=2013,i=6时,c=“A”,2013 mod 8+1=6,s2=“Y”+“E”=“YE”,后面是数字8,s2的值无变化,故文本框Text2输出的是YE,故本题选B选项。 10.D 【详解】本题主要考查VB程序的执行。c是截取字符串x位置i处长度为1的字符,当c="a"时,将字符“z”加到变量s中,其他字符,将其前面一位字符加到s中(即其ASCII码值减1,再将结果转为字符),故在文本框Text1 中输入“dream”,执行该程序段后,变量s的值是cqdzl,故本题选D选项。 11.C 【详解】本题考查的是Python选择语句。初始w=2,h=5。不满足h>8,执行s=w+1=2+1=3。故本题应选C。 12.B 【详解】本题主要考查Python多分支结构。Python多分支结构格式是if…elif…else,故划线处填elif,故本题选B选项。 13.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选项。 14.D 【详解】本题考查的是Python选择结构。从键盘输入781,即x=781, x%2=1,故执行 print(x,"是奇数."),输出:781是奇数。故选D。 15.B 【详解】本题考查Python选择语句。m=29,m%3=1执行 print(m, "不能被3整除"),输出:29不能被3整除。故选B。 16.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选项。 17.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选项。 18.C 【详解】本题主要考查VB程序的执行。i=1时,a(1)到a(10)均等于1;i等于2时,a(2)=0,a(4)=0,a(6)=0,a(8)=0,a(10)=0,;i等于3时,a(3)=0,a(6)=1,a(9)=0,故程序结束后,sum=1+0+0+0+1+1+1+0+0+0=4,故本题选C选项。 19.D 【详解】本题主要考查VB程序的执行。s=“Happy”,n=5,i=1时,a(1)=H,执行 a(1)=Chr(Asc("Z") - Asc("H")+Asc("A"))=Chr(90-72+65)=Chr(83)="S",当a(i)是小写时执行a(i)=Chr(Asc("z") - Asc(a(i))+Asc("a")),其中Asc("Z")=90,Asc("A")=65,Asc("z")=122,Asc("a")=97,依次类推,执行该程序段后,变量st的值为“Szkkb”,故本题选D选项。 20.C 【详解】本题主要考查VB程序的执行。max=a(1)=61,c=0,k=0,当a(i)为奇数时,c递增,当a(i)大于max时,执行max=a(i)(即当a(i)为奇数时且大于max时,才更新max的值),当a(i)为偶数时,k递增,数组元素a(1)~a(8)没有大于61的奇数,故执行该程序段后max值没有发生变化,max=61,故本题选C选项。 答案第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
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。