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

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

内容正文:

4.3运用选择结构描述问题求解过程 2023—2024学年高中信息技术粤教版(2019)必修1 1.有如下VB 程序段: (    ) a(1) = 8: a(2) = 7: a(3) = 1: a(4) = 6 a(5) = 9: a(6) = 5: a(7) = 4: a(8) = 7 m = Int(Rnd * 4) * 2 + 1 For i = 1 To m - 1    k = i    For j = i + 1 To m      If a(j) < a(k) Then k = j    Next j    If i <> k Then      t = a(i): a(i) = a(k): a(k) = t    End If Next i 执行该程序段后,数组a各元素的值不可能是(   ) A.8 7 1 6 9 5 4 7 B.1 7 8 6 9 5 4 7 C.1 4 5 6 7 8 9 7 D.1 4 5 6 7 7 8 9 2.有如下VB程序段: Const n = 5 Dim b(n)As Integer For i = 1 To 5     b(i)= i Next i For i = 1 To 2     For j = n – 1 To I Step -1         If a(b(j))> a(b(j + 1))Then             t = b(j):b(j)=b(j + 1):b(j + 1)= t         End If     Next j Next i 数组元素a(1)~a(5)的值依次为“35,24,45,16,77”,运行上述程序段后,数组元素b(1)到b(5)的值依次为(    ) A.1,3,5,2,4 B.5,3,1,2,4 C.2,4,1,3,5 D.4,2,1,3,5 3.周文设计了如图所示的程序,对班上同学的英语成绩进行判断,周华的英语成绩为84分,此时输出结果为(  ) A.您的成绩等级为: A B.您的成绩等级为: B C.您的成绩等级为: C D.您的成绩等级为: D 4.一名高中生在以下程序输入自己的年龄会得到的结果是(    ) s = input("请输入一个数字") print("s是个小于10的数字" if int(s)<10 else "s是大于10的数字") A.请输入一个数字 B.s是个小于10的数字 C.s是大于10的数字 D.自己年龄的数值 5.有如下VB程序段: For i=1 To 5 a(i)=Int(Rnd*9)+1 Next i For i=1 To 51 If i Mod 2=0 Then a(i)=a(i)\i E1se a(i)=a(i)Mod i End If Next i 执行该程序段后,在下列选项中a(1)至a(5)各元素可能是(   ) A.0  3  2  1  4 B.1  2  3  4  5 C.0  1  4  2  3 D.0  5  2  2  4 6.有如下部分程序段: a(1) = "20": a(2) = "16": a(3) = "12": a(4) = "o": a(5) = "k" For i = 1 To 4 For j = 5 To i + 1 Step -1 If a(j) >a(j - 1) Then t = a(j): a(j) = a(j - 1): a(j - 1) = t Next j List1.Additem a(i) Next i 程序运行后列表框中显示的结果是 A.12,16,20,o,k B.o,k,20,16 C.o,k,20,16,12 D.20,16,12 7.有如下VB程序段,其中数组a各元素已赋值,且a(1)=1, a(2)=2: t = True For i=3 To 10 d = a(i - 1)- a(i - 2) If a(i) - a(i - 1)<>2*d Then t = False End If Next i 执行程序后,t的值是True,则a(10)的值为(    ) A.64 B.128 C.256 D.512 8.下列VB程序段功能为:在文本框Text1中显示数组元素a(1)到a(n)中的最大偶数,数组元素均为正整数。 x = 0 i = 1: j = n Do While If a(i)Mod 2 =a(j)Mod 2 Then If   Then If a(i)>a(j)And a(i)>x Then x=a(i) If a(j)>a(i)And a(j)>x Then x=a(j) End If Else If   Then x = a(i) Else If Then x = a(j) End If i = i + i: j = j- 1 Loop Text1. Text= Str (x) 上述程序段中方框处可选语句为: ①a(i) Mod 2 = 0 ②i<= j ③a(j) > x ④a(i) Mod 2= 0 And a(i) > x 则(1)(2)(3)(4)处语句依次可为(    ) A.④③②① B.②④③① C.②①④③ D.④②①③ 9.有如下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 10.有如下VB程序段 Const n=9 k = 1 For i = 1 To (n + 1)/ 2 - 1      For j = 1 To n - i * 2       If a(j)* k < a(j + 2)* k Then            t = a(j): a(j)= a(j + 2): a(j + 2)= t       End If       k = -k      Next j Next i For i = 1 To (n + 1)\ 2      List2.AddItem Str(a(2 * i - 1)) Next i 已知数组元素 a(1)~a(9)分别是8、6、2、9、6、3、8、11、5,执行程序后list2输出的结果分别是(  ) A.2 5 6 8 8 B.8 8 6 5 2 C.6 8 5 8 2 D.2 6 6 8 9 11.使用Python编写一个输出门票价格的程序码,要测试所有分支程序代码是否正确。以下测试数据中,最恰当的一组是(   ) h=int(input(“W输入您的身高:”)) if h<=120:      p=0 elif h>140:       p=100 else:       p=50 print(“您需要支付的门票价格是:”,p) A.120,140 B.130,150 C.100,130,140 D.100,130,150 12.有如下VB程序段: Dim i As Integer, c As Integer Dim s As String, min As String, ch As String s = Text1. Text min="z":c=0 For i=1 To Len(s) ch=Mid(s,i,1) If ch >="a" And ch<="z" And ch < min Then min=ch c=1 ElseIf ch=min Then c=c+1 End If Next i Label1.Caption=Str(c) 在文本框Textl中输入“Twinkle, twinkle, little star.”,程序执行后,标签Label1中显示的内容是(   ) A.1 B.2 C.3 D.4 13.有如下Python 程序段:   x,y,z=142,125,120 res=0 if x>y:   res=x elif y>z:   res+=z res-=5 print(res) 运行该程序段后,输出结果是(  ) A.115 B.137 C.140 D.157 14.居家养老系统为老年人提供信息化、智能化的居家养老服务。手环可以实时心率检测、定时测量体温;时钟可以提供实时监控、语音互通;拐杖可以实时定位、一键呼救等。家人在手机上安装养老系统客户端软件,便可随时了解老人的身体基本情况,并获取针对性健康建议。老年人正常的心率(bpm)范围是60-100次/分钟,当检测心率不正常时,系统会提示异常信息,下列Python程序段符合要求的是(   ) A. status="正常" if bpm>100:     status="异常" elif bpm<60:     status="异常" B. if bpm<60:     status="异常" if bpm>100:     status="异常" else:     status="正常" C. status="异常" if bpm<=100:     status="正常" elif bpm>=60:     status="正常" D. if not (bpm>100 and bpm<60):     status="正常" else:     status="异常" A.A B.B C.C D.D 15.有如下VB程序段: sa = “xxyxyzzx”: sb = “xyz” i=1:c=0 Do While i <= Len(sa)- Len(sb) + 1 If Mid(sa, i, Len(sb)) = sb Then sa = Mid(sa, 1, i - 1) + Mid(sa, i + Len(sb),Len(sa)- i- Len(sb) + 1) i =1 c = c + 1 Else i = i + 1 End If Loop 执行该程序段后,变量c的值是(    ) A.1 B.2 C.3 D.4 16.若一个数是某个整数的平方,则该数被称为完全平方数。下列程序段用于找出字符串中用逗号分割的完全平方数。部分程序代码如下: Dim tmp As Single ,s As String ,ch As String ,i As Integer s = "1,20,36,29,3," tmp = 0 For i = 1 To Len(s)     ch = Mid(s, i, 1)     If ch <> "," Then (1)     Else         If (2) Then             List1.AddItem Str(tmp)         End If         tmp = 0     End If Next i 上述程序段中横线处可选语句为: ① tmp = tmp * 10 + Val(ch) ② tmp = tmp + ch   ③ Sqr(tmp) ^ 2 = tmp         ④ Int(Sqr(tmp)) = Sqr(tmp) 则(1)(2)处语句依次为(   ) A.①③ B.①④ C.②③ D.②④ 17.有如下VB程序段: For i = 1 To 5     k = i     For j = i + 1 To 6         If a(j) Mod 3 <= a(k) Mod 3 Then k = j     Next j     tmp = a(i): a(i) = a(k): a(k) = tmp Next i 数组元素a(1)~a(6)的值依次为“62,54,35,67,15,34”。执行该程序段后,a(1)~a(6)的值依次为(    ) A.15 54 34 67 35 62 B.54 15 67 34 62 35 C.15 34 35 54 62 67 D.15 34 67 62 54 35 18.根据国家标准,室内空气质量指数的正常范围为0.5~2.5,如果空气质量指数大于2.5,则表明空气质量较差,空气质量指数小于0.5,表明空气质量较好,下列选项能正确表示这三种情况的是(   ) A. if zs>2.5:     print ("较差") elif 0.5<zs<2.5:     print ("正常") else:     print ("较好") B. if 2.5>zs>0.5:     print ("正常") elif zs<0.5:     print ("较好") else:     print("较差") C. if zs>2.5:     print ("较差") elif not zs > 0.5:     print ("较好") else:     print ("正常") D. if zs<0.5:     print ("较好") elif not zs > 2.5:     print ("正常") else:     print ("较差") A.A B.B C.C D.D 19.如下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 20.有如下Python程序,当程序运行后输入15000,则程序输出结果为(    ) salary=float(input()) if salary<=5000: tax=0 elif salary<=7000: tax=(salary-5000 )*0.1 elif salary<=10000: tax=200+( salary-7000)*0.2 else: tax=800+( salary-10000 )*0.4 print(salary-tax) A.2800 B.2800.0 C.12200 D.12200.0 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.D 【详解】本题主要考查VB程序的排序算法。m = Int(Rnd * 4) * 2 + 1,m是随机生成[1,7]之间的整数,m的最大值为7,当m=7时,即内层循环j的范围从i+1到7,数组a中最后一位不参与排序,即a(8)一直为7,故数组a各元素的值不可能是1 4 5 6 7 7 8 9,故本题选D选项。 2.D 【详解】本题主要考查VB程序的执行。n=5,第一个for循环实现数组b的赋值,b(1)=1,b(2)=2,b(3)=3,b(4)=4,b(5)=5,嵌套for循环中,当i=1时,执行完内层循环后,数组元素b(1)到b(5)的值依次为4,1,2,3,5,当i=2是,执行完内层循环后,数组元素b(1)到b(5)的值依次为4,2,1,3,5,故本题选D选项。 3.B 【详解】本题考查的是Python多分支语句。84满足70<=score<85条件,故执行level='B',故最后输出的结果为:您的成绩等级为: B,选项B正确。 4.C 【详解】本题主要考查VB程序的执行。如果int(s)小于10,输出s是个小于10的数字,否则输出s是大于10的数字,一名高中生的年龄大约在15到18岁之间,所以输出s是大于10的数字,故本题选C选项。 5.A 【详解】本题主要考查VB程序的执行。第一个for循环随机生成5个[1,9]之间的整数。第二个for循环,变量i的范围是从1到51,当i是偶数时,执行a(i)=a(i)\i,当i是奇数时,执行a(i)=a(i)Mod i,当i=1时,a(1)=a(1) mod 1=0,排除B选项;当i=3时,执行a(3)=a(3) mod 3,执行后a(3)的范围是[0,2],排除C选项;当i=2时,执行a(2)=a(2)\2,执行后a(2)的范围是[0,4],排除D选项,故本题选A选项。 6.B 【详解】本题主要考查VB程序的执行。外层循环i的范围是1到4,内层循环完,列表框1中显示a(i)的值,所以程序运行后列表框中显示的结果应该是4个,观察选项可知程序运行后列表框中显示的结果是o,k,20,16,故本题选B选项。 7.D 【详解】本题主要考查VB程序的执行。执行程序后,t的值是True,说明a(i)-a(i-1)始终等于2*d。当i=3时,d=a(2)-a(1)=1,a(3)-a(2)=2d=2,可得a(3)=4;同理,当i=4时,可得a(4)=8;当i=5时,可得a(5)=16,依次类推,数组a分别为:1、2、4、8、16……,可知a数组是一个等比数列,等比是2,第十项是512,故a(10)的值为512,故本题选D选项。 8.C 【详解】本题主要考查VB程序的执行。i=1,j=n,while循环条件是i<=j,第二个空判断a(i)是不是偶数即a(i) Mod 2 = 0,第三个空如果a(i)Mod 2 <>a(j)Mod 2,继续判断a(i)是不是偶数并且是不是大于x,即 a(i) Mod 2= 0 And a(i) > x,若是更新x的值,第四个空,不满足前面的情况下,判断a(j)是不是大于x,即a(j)>x,若是更新x的值,程序结束后,x即为数组元素a(1)到a(n)中的最大偶数,故本题选C选项。 9.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选项。 10.C 【详解】本题主要考查程序的执行。程序代码仅输出奇数位置“8,2,6,8,5”的排序处理,故偶数位不考虑。第一轮奇数位1~9降序,完成后k=-1,第2轮时,奇数位1~7变为升序,依次类推,第3轮1、3、5降序,第4轮位置1和3升序,得出结果6 8 5 8 2,故本题选C选项。 11.D 【详解】本题考查的是Python程序调式。从程序可知h设定了三个范围: h<=120、 h>140、120 <h<=140,所以要测试所有分支是否正确,只要在这三个范围中取三个数就可以,100,130,150可以满足。故本题应选D。 12.A 【详解】本题主要考查VB程序的执行。s=“Twinkle, twinkle, little star.”,ch是截取字符串s位置i处长度为1的字符,当ch是小写字母且小于min时(min保存比较后最小的字母),更新min的值,且c=1,如果ch等于min时,c递增,当ch=“a”时,min=“a”,c=1,此后的执行,c无变化,故程序执行后,标签Label1中显示的内容是1,故本题选A选项。 13.B 【详解】本题考查的是Python选择语句。x,y,z=142,125,120,满足x>y,执行res=x=142,退出选择语句范围,执行res-=5,故res=142-5=137,选项B正确。 14.A 【详解】本题考查的是Python分支语句。选项B中当bpm<60时,还会执行else语句,不符合题意;选项C中,当bpm<60时,满足if条件,提示正常,不符合题意;选项D中,bpm>100 and bpm<60不可能为真,加上not,if条件肯定为真,输出一直都为正常,不符合题意。故本题应选A。 15.B 【详解】本题主要考查VB程序的执行。while循环条件是i<=Len(sa)- Len(sb) + 1=8-3+1=6,当i=4时,Mid(sa, 4, Len(sb)) = sb,sa=Mid(sa, 1,3) + Mid(sa,7,2)=“xxyzx”,i=1,c=c+1=1,此时while循环条件i<=Len(sa)- Len(sb) + 1=5-3+1=3,当i=2时,Mid(sa, 2, Len(sb)) = sb,sa=Mid(sa, 1,1) + Mid(sa,5,1)=“xx”,i=1,c=c+1=2,字符串sa中再没有子串sb,故执行该程序段后,变量c的值是2,故本题选B选项。 16.B 【详解】本题主要考查VB程序的执行与调试。第一空通过for循环取出字符串s中的整数,如果ch不是符号,则将其加到变量tmp中,故填mp = tmp * 10 + Val(ch) 。第二空如果ch是符号,则判断取到的数tmp是不是完全平方数,使用求平方函数Sqr(),故填 Int(Sqr(tmp)) = Sqr(tmp),故本题选B选项。 17.A 【详解】本题主要考查VB程序的执行。当i=1时,执行完循环后,k=5,交换a(1)与a(5)的值,数组元素a(1)~a(6)的值依次为“15,54,35,67,62,34”;当i=2时,执行完循环后,无交换;当i=3时,执行完循环后,k=6,交换a(3)与a(6)的值,数组元素a(1)~a(6)的值依次为“15,54,34,67,62,35”;当i=4时,执行完循环后,无交换;当i=5时,执行完循环后,k=6,交换a(5)与a(6)的值,数组元素a(1)~a(6)的值依次为“15,54,34,67,35,62”,故执行该程序段后,a(1)~a(6)的值依次为15 54 34 67 35 62,故本题选A选项。 18.D 【详解】本题考查Python程序设计相关内容。分析4个选项:A选项中,elif条件错误,应为0.5<=zs<=2.5;B选项中,if条件错误,应为2.5>=zs>=0.5;C选项中,elif中条件错误,应为not zs>=0.5;D选项正确。故本题答案为D选项。 19.D 【详解】本题考查的是Python选择结构。x=-64,不满足x > 0,也不满足x = 0,故执行else后缩进的语句:y = -1。故本题应选D。 20.D 【详解】本题考查的是Python分支语句。15000不满足<=5000,也不满足<=7000,也不满足<=10000,故执行tax=800+( salary-10000 )*0.4=800+(15000-10000)*0.4=800+2000=2800.0,salary-tax=15000-2800.0=12200.0。故本题应选D。 答案第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
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。