441for循环的应用粤教版高中信息技术必修一练习解析版.docx
- 文档编号:11779692
- 上传时间:2023-04-01
- 格式:DOCX
- 页数:21
- 大小:130.54KB
441for循环的应用粤教版高中信息技术必修一练习解析版.docx
《441for循环的应用粤教版高中信息技术必修一练习解析版.docx》由会员分享,可在线阅读,更多相关《441for循环的应用粤教版高中信息技术必修一练习解析版.docx(21页珍藏版)》请在冰豆网上搜索。
441for循环的应用粤教版高中信息技术必修一练习解析版
4.4.1for循环的应用-粤教版(2019)高中信息技术必修一练习
学校:
___________姓名:
___________班级:
___________考号:
___________
一、选择题
1.下面的程序段运行后的结果为()
s=0
foriinrange(1,6,2):
s=s+i
print(s)
A.15B.10C.12D.9
【答案】D
【解析】
【详解】
本题考查的是Python循环语句。
range(1,6,2)生成的是1,3,5的整数,故s=0+1+3+5=9。
选项D正确。
2.下面的程序运行后的输出结果为()
n=1
foriinrange(0,5):
n=n*i
print(n)
A.120B.24C.0D.25
【答案】C
【解析】
【详解】
本题考查的知识点是Python的列表函数。
python中range()函数可创建一个整数列表,一般用在for循环中。
range(0,5)等价于列表[0,1,2,3,4],故程序结果为1*0*1*2*3*4=0,故选项C正确。
3.有以下程序段:
forvaluein[1,2,3]:
print(value)
print("no")
程序运行后输出的结果为:
()
A.1no2no3noB.123no
C.1"no"2"no"3"no"D.123"no"
【答案】A
【解析】
【分析】
【详解】
本题考查程序执行的相关知识点
每一次for循环里面都执行一遍print(value)和print("no")。
故本题选A选项
4.有如下VB程序段:
Fori=1To1000
a=Int(Rnd*100+1)
b=Int(Rnd*100+1)
x=a+b
y=a-b
c=Sqr(x)
d=Sqr(y)
Nexti
调试时出现如图所示的错误提示,产生此错误的语句是()
A.a=Int(Rnd*100+1)B.y=a–bC.c=Sqr(x)D.d=Sqr(y)
【答案】D
【解析】
【详解】
本题考查VB相关知识。
无效的过程调用或参数是指函数或者过程的参数有误,代码中涉及函数sqr和Int,a=Int(Rnd*100+1),b=Int(Rnd*100+1),这两条代码没有问题,y=a-b,会出现y<0,导致Sqr(y)参数有误,sqr为平方根函数,参数必须大于0,小于0则代码会出错。
故产生错误语句是d=Sqr(y),本题选D。
5.有如下程序段:
Fori=1ToLen(Text1.Text)
c=Mid(Text1.Text,i,1)
Ifc>="0"Andc<="9"Thenc=Chr(Asc(c)+1)
Ifc>="A"Andc<="Z"Thenc=Chr(Asc(c)+32)
s=s+c
Nexti
若文本框Text1的内容为“Number2468!
”执行程序后,变量s的值为()
A.NUMBER3579!
B.NUMBER2468!
C.number3579!
D.number2468!
【答案】C
【解析】
【详解】
本题考查VB程序段。
若文本框Text1的内容为“Number2468!
”,根据代码fori=1tolen(text1.text),c=Mid(Text1.Text,i,1),Ifc>=“0”Andc<=“9”Thenc=Chr(Asc(c)+1),若取出的字符c是数字,则往后推移一个数字。
Ifc>=“A”Andc<=“Z”Thenc=Chr(Asc(c)+32),如果取出的字符c是大写字母,则变为小写字母。
其余字符不变。
故可知本题选C。
6.有如下VB程序段:
s=Text1.Text
Fori=1ToLen(s)
ch=Mid(s,i,1)
Ifch>="A"Andch<="Z"Thent=t+ch
Ifch>="a"Andch<="z"Then
ch=Chr(Asc(ch)-32)
t=t+ch
ElseIfch>="0"Andch<="9"Then
t=ch+t
EndIf
Nexti
Text2.Text=t
已知'A'的ASCI码为65,'a'的ASCI码为97.程序运行后,在文本框Textl中输人“Text2.text=”Abc1234“”(外括号不包括),则在Text2中显示的内容是(
A.TEXT2.TEXTABC1234B.43212TexttextABC
C.43212TEXTTEXTABCD.TEXTTEXTABC43212
【答案】C
【解析】
【详解】
本题考查VB程序段。
根据判断条件Ifch>=“A”Andch<=“Z”Thent=t+ch,大写字母直接顺序叠加,又Ifch>=“a”Andch<=“z”Thench=Chr(Asc(ch)-32)t=t+ch,可知,小写字母转换为大写字母后叠加。
再看Ifch>=“0”Andch<=“9”Thent=ch+t,可知数字采取倒序叠加,故最后结果数字在前,全都是大写字母,故选C。
7.有如下程序段:
DimiAsInteger,tAsInteger,sAsInteger
s=0:
t=0
Fori=0To10
IfiMod5=0thens=s+1
t=t+i
Nexti
Text1.Text=Str(s)
执行该程序段后,变量s和t的值分别是()
A.355B.315C.215D.255
【答案】A
【解析】
【详解】
本题主要考查VB程序的执行。
for循环中,变量i的范围是从0-10,当i是5的倍数时(i=0,5,10),变量s递增,故s=s+1执行了3次,每次循环都执行t=t+i,故程序结束时t=0+1+2+3+4+5+6+7+8+9+10=55,所以执行该程序段后,变量s和t的值分别是355,故本题选A选项。
8.编写VB程序,计算斐波那契数列中第n项(n>=3)的值,并在标签Label2中输出结果。
(斐波那契数列是指这样的数列:
1,1,2,3,5,8,13…。
即:
第1项和第2项的值均为1,从第3项开始,每一项的值是它前面两项之和),主要代码如下:
n=Val(Text1.Text)
f1=1:
f2=1
Fork=3Ton
f=f1+f2
①
②
Nextk
Label2.Caption="斐波那契数列第"+Str(n)+"项的值为"+Str(f)
代码中①②两处分别应为()
A.①f2=f1②f1=fB.①f1=f2②f2=f
C.①f1=f②f2=f1D.①f2=f②f1=f2
【答案】B
【解析】
【详解】
本题主要考查VB程序的执行。
f=f1+f2,接下来应该将f2的值赋给f1,将f的值赋给f2,故代码中①②两处分别应为①f1=f2②f2=f,故本题选B选项。
9.有如下VisualBasic程序段:
PrivateSubCommand1_Click()
Dima(1To10)AsInteger,iAsInteger,kAsInteger
a
(1)=1:
a
(2)=17:
a(3)=8:
a(4)=9:
a(5)=18
a(6)=15:
a(7)=20:
a(8)=13:
a(9)=7:
a(10)=11
k=0
Fori=2To9
If(a(i)-a(i-1))*(a(i+1)-a(i))<0Thenk=k+1
Nexti
Text1.Text=Str(k)
EndSub
该程序段运行后后,文本框Text1中显示的内容是()
A.6B.7C.8D.9
【答案】A
【解析】
【详解】
本题考查VB程序段。
在FOR循环中,If(a(i)-a(i-1))*(a(i+1)-a(i))<0成立时共有六种情况,分别是i=2,3,5,6,7,9。
故本题选A。
10.有如下VB程序段:
Fori=1To6
a(i)=Int(Rnd*20)+1:
b(i)=i
Nexti
Fori=1To5
Forj=i+1To6
Ifa(b(i))>a(b(j))Then
t=b(j):
b(j)=b(i):
b(i)=t
EndIf
Nextj
Nexti
i=1:
j=6:
s="":
Key=Val(Text1.Text)
DoWhilei<=j
m=(i+j)\2
IfKey=a(b(m))ThenExitDo
IfKey s=s+Str(m) Loop Text2.Text=s 在文本框Text1中输入10,运行以上程序段后,文本框Text2中显示的内容为354,则a数组中a (1)到a(6)各元素的值可能的是() A.11,6,4,13,18,15B.4,5,8,19,10,17 C.2,11,7,6,3,18D.9,2,11,21,5,16 【答案】A 【解析】 【详解】 本题主要考查VB程序的执行。 rnd()函数随机生成[0,1)之间的数,故a(i)是随机生成[1,21)的整数,第二个嵌套for循环实现a数组升序,i=1,j=6,s="",key=10,while循环实现折半查找,第一遍循环,m=(1+6)/2=3,显然a(3)<10,i=m+1=4;s=3,第二遍循环,m=(4+6)/2=5,根据文本框Text2中显示的内容为354,所以判断key10,故本题选A选项。 11.数组a中存储着某市2010年到2019年的GDP数值,编写VB程序,实现找出相邻两年GDP变化最大(即相邻两年GDP差值最大)的年份区间。 若有多个符合要求的年份区间,只输出距今最近的年份区间。 部分代码如下所示 DimiAsInteger,imaxAsInteger ① Fori=3To10 IfAbs(a(i)-a(i-1))>=②Thenimax=i Nexti Text1.Text="GDP变化最大的年份区间是"+Str(imax+2008)+"-"+Str(imax+2009) 划线处①、②应填入的代码为() A.①imax=1②Abs(a(i-1)-a(i-2))B.①imax=1②Abs(a(imax)-a(imax-1)) C.①imax=2②Abs(a(i-1)-a(i-2))D.①imax=2②Abs(a(imax)-a(imax-1)) 【答案】D 【解析】 【详解】 本题主要考查VB程序的执行。 abs()是求绝对值函数,i的初值为3,a(i)-a(i-1)=a(3)-a (2),这个区间应该首先与a (2)-a (1)进行比较,故imax=2,第二空填Abs(a(imax)-a(imax-1)),故本题选D选项。 12.有如下VB程序段: s="cbafedgh" m=3: c="": n=Len(s) Fori=1Ton j=(i-1)Mod3+1 Ifm>nThenExitFor'退出For循环 c=c+Mid(s,m-j+1,1) IfjMod3=0Thenm=m+3 Nexti Ifi 执行该程序段后,变量c的值是() A.abcdefB.abcdefghC.ghabcdefD.hgabcdef 【答案】C 【解析】 【分析】 【详解】 本题考查执行VB程序相关的知识点 第一次循环m-j+1=3,截取s中的a赋值给c 第二次循环i=2,j=2,m-j+1=2,c=ab 第三次循环i=3,j=3,m-j+1=1,c=abc,m=6 第四次循环i=4,j=1,m-j+1=6,c=abcd 第五次循环i=5,j=2,m-j+1=5,c=abcde 第六次循环i=6,j=3,m-j+1=4,c=abcdef,m=9 第七次循环i=7,j=1,退出循环c=ghabcdef 故本题选C 13.下面的程序段运行后的结果为() s=1 foriinrange(1,6,2): s=s+i print(s) A.15B.10C.12D. 9 【答案】B 【解析】 【详解】 本题主要考查程序的运行。 for循环中,变量i的变化是1,3,5,7,当i=7时退出循环,此时s的值为,s=1+1+3+5=10,故本题选B选项。 14.下列有关for循环语句说法正确的是()。 A.for循环变量in列表后面必须加冒号 B.For循环所包含的语句是不以缩进为标志的。 C.列表的几种表达方式有直接罗列,先定义后使用和使用range()函数 D.For循环所包含的语句是以缩进为标志的。 【答案】ACD 【解析】 【详解】 本题主要考查Python的for循环语句。 for循环变量in列表后面必须加冒号、列表的几种表达方式有直接罗列,先定义后使用和使用range()函数、For循环所包含的语句是以缩进为标志的。 故本题选ACD选项。 15.有如下VB程序段,执行该程序段后,a (1)到a(6)各元素的值可能为( ) Randomize Fori=1To6 a(i)=Int(Rnd*21)*2+11 IfIMod2=1Then a(i)=a(i)+2 Else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 441 for 循环 应用 粤教版 高中 信息技术 必修 练习 解析