![浙教版 信息技术选择、循环结构程序的设计课件_第1页](http://file4.renrendoc.com/view10/M03/33/06/wKhkGWV3dNKAGa1hAABUXAZQ6As933.jpg)
![浙教版 信息技术选择、循环结构程序的设计课件_第2页](http://file4.renrendoc.com/view10/M03/33/06/wKhkGWV3dNKAGa1hAABUXAZQ6As9332.jpg)
![浙教版 信息技术选择、循环结构程序的设计课件_第3页](http://file4.renrendoc.com/view10/M03/33/06/wKhkGWV3dNKAGa1hAABUXAZQ6As9333.jpg)
![浙教版 信息技术选择、循环结构程序的设计课件_第4页](http://file4.renrendoc.com/view10/M03/33/06/wKhkGWV3dNKAGa1hAABUXAZQ6As9334.jpg)
![浙教版 信息技术选择、循环结构程序的设计课件_第5页](http://file4.renrendoc.com/view10/M03/33/06/wKhkGWV3dNKAGa1hAABUXAZQ6As9335.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3.8选择、循环结构程序的设计考点1考点2考点1选择结构程序的设计选择语句:根据不同的判断结果,选择执行不同的语句。选择语句主要有If语句,在VB中,If语句又分为两种形式,行If语句和块If语句。
1.行If语句行If语句必须在一行内写完。该语句的执行过程是先计算条件表达式的值,如果条件表达式的计算结果是True,就执行Then后面的语句,否则执行Else后面的语句。如果Else和它的后随语句不出现,则条件表达式值为True时执行Then后面的语句,否则就什么也不执行,程序转向IF语句下面的后继语句。行IF语句格式如下:If条件表达式Then语句1Else语句2或If条件表达式Then语句考点1考点22.块If语句块If语句的格式如下:If条件表达式1Then语句块1ElseIf
条件表达式2Then语句块2……ElseIf
条件表达式nThen语句块nElse语句块0EndIf考点1考点2其中的语句块可以由一个或多个语句组成。如果只有两种不同情形的分别处理,则中间所有的ElseIf部分都不必书写,只保留语句块1和语句块0相应的部分即可,即块If语句可以简化为以下格式:If条件表达式Then语句块1Else语句块0EndIf如果只须处理一种情况,则Else部分也不必书写,即块If语句可以简化为以下格式:If条件表达式Then语句块EndIf考点1考点2当条件表达式为True或False时进行处理的语句都只有一个时,可采用行If语句,也可采用块If语句;而如果分支中进行处理的语句不止一个时,必须采用块If语句。考点1考点2例1目前,世界上普遍采用空气污染指数API确定城市空气质量等级,API的分级标准如下表所示。若变量s已存入了API的值,现根据API值判断空气质量等级,并将等级显示在标签Label1中,下列程序不能正确完成要求的是(
)考点1考点2A.ifs<=50thengrade=″优″elseifs<=100thengrade=″良好″elseifs<=200thengrade=″轻度污染″elseifs<=300thengrade=″中度污染″elsegrade=″重度污染″endiflabel1.caption=″等级:″+grade考点1考点2B.ifs<=50thengrade=″优″elseifs<=100ands>=51thengrade=″良好″elseifs<=200ands>=101thengrade=″轻度污染″elseifs<=300ands>=201thengrade=″中度污染″elseifs>300thengrade=″重度污染″endiflabel1.caption=″等级:″+grade考点1考点2C.ifs<=50thengrade=″优″ifs<=100ands>=51thengrade=″良好″ifs<=200ands>=101thengrade=″轻度污染″ifs<=300ands>=201thengrade=″中度污染″ifs>300thengrade=″重度污染″label1.caption=″等级:″+gradeD.ifs<=50thengrade=″优″ifs<=100ands>=51thengrade=″良好″ifs<=200ands>=101thengrade=″轻度污染″ifs<=300ands>=201thengrade=″中度污染″elsegrade=″重度污染″label1.caption=″等级:″+grade答案:D考点1考点2解析:本题是关于选择结构程序的语法结构问题。If语句语法结构主要有行形式和块形式。对于多重判断的块形式If语句,它的语法结构如下:If条件1
Then
语句块1ElseIf条件2
Then
语句块2……ElseIf条件n
Then
语句块nElse
语句块0End
If考点1考点2其执行过程是当第1个条件满足时,如果该条件成立,执行语句块1,执行语句块1后不再判断其他的条件,直接跳转到End
If后面执行后续语句;若第1个条件不满足时,再执行判断第2个条件,如果不成立,再判断第3个条件……如果所有n个条件都不满足,则执行Else后面的语句块0。选项D用了4个独立的If语句,其中第4句的功能是如果API在201~300之间,等级是中度污染,如果不是这个范围,即API<=200或API>=301为重度污染,不合题意。考点1考点2变式有如下VB程序段PrivateSubCommand1_Click()s=val(text1.text)ifs>=62thengrade=″A″elseifs>=55thengrade=″B″elseifs>=50thengrade=″C″elseifs>=43thengrade=″D″else考点1考点2grade=″E″endiflabel1.caption=″等级:″+gradeEndSub运行该程序,在文本框中输入52,单击命令按钮Command1,在标签label1中显示的内容是
。
答案:等级:C解析:本题是关于选择结构程序的变量求值问题。选择结构涉及多种情况判断,在程序的执行过程中将会选择其中符合条件的一路分支执行。题中变量s的值是52,第3个条件判断s>=50的值为True,因此执行语句grade=″C
″,其他分支不再执行,在标签label1中显示的内容是“等级:C”。考点1考点2Do语句格式:DoWhile条件表达式语句块LoopDo语句与For语句的运行机制相近,但Do语句更侧重于循环次数未知情况下的程序。考点1考点2例2有如下程序:x=1Fori=1To5Step2x=x*iNexti该程序运行后,变量x的值是(
)A.120
B.15
C.5
D.1答案:B解析:本题涉及循环结构程序(For语句)的变量求值问题。For语句中的循环变量的值,会在[初值,终值]的范围内按照步长增加或减少,直至超出终值,循环结束。本题是通过循环体中的“x=x*i”语句,将i的值依次累积到变量x中,下表罗列了程序中各变量在语句执行过程中的变化情况:考点1考点2如果把本题中的步长改为-2,要完成同样功能,则程序可改为:x=1For
i=5
To
1
Step-2x=x*
iNext
i即如果步长为负值,那么初值须大于等于终值,循环变量i的值将依次是5、3、1、-1。考点1考点2变式有如下程序:x=1i=1dowhilei<=5x=x*ii=i+2loop该程序运行后,变量i的值是
。
答案:7解析:本题涉及循环结构程序(Do语句)的循环变量求值问题。For循环通过Next语句,按照步长改变循环变量的值,直至循环结束。Do语句则需要在其循环体内编写改变循环变量的语句,直至While条件表达式的值为False时,循环结束。程序运行中,各变量变化过程如下表所示:考点1考点2由上表结合程序可知,当语句块进入第3次循环时,执行语句i=i+2后,循环变量x的值将会变为7,从而使条件表达式i<=5的值为False,程序无法进入第4次循环,循环终止。1.有以下VB程序dimxasinteger,yasintegerx=val(text1.text)ifx>=0theny=x^3elsey=-x^3endiflabel2.caption=str(y)若要测试所有分支程序代码是否正确,下列测试数据中最恰当的一组是(
)A.0,10
B.-1,-2
C.-1,0
D.10,100答案:C
2.用VB语句描述:如果x≤10且x>1,则y=x3,否则y=-x3,是(
)A.If1<x<=10theny=x3elsey=-x3B.Ifx<=10,x>yTheny=x3elsey=-x3C.Ifx<=10andx>1theny=x^3elsey=-x^3D.Ifx<=10orx>1theny=x^3elsey=-x^3答案:C3.有如下VisualBasic程序段:a=2b=1c=3m=aIfb>aThenm=bIfc>mthenm=c该程序段运行后,变量m的值是(
)A.1
B.2 C.3
D.0答案:C
解析:程序中两个if语句实现了把a、b、c中的最大数赋值给m的功能。4.下列VB程序段用来判断某数的正负情况:x=val(text1.text)if
then
label1.caption=″正数″elselabel1.caption=″负数″endif则程序划线处应填入(
)A.x<0 B.x<>0 C.x>0 D.x<=0答案:C5.以下事件处理过程用来判断三边能否组成三角形:PrivateSubCommand1_Click()a=3b=4c=5ifa+b>candb+c>aanda+c>bthenlabel1.caption=″可以″elselabel1.caption=″不行″endifEndSub运行程序后,单击命令按钮Command1后,结果是(
)A.标签label1显示“不行”B.标签label1显示“可以”C.出现“语法错误”的错误信息D.出现“块if没有endif”的错误信息答案:C
解析:行if语句结尾不需要end
if。6.某算法的部分程序代码和其相对应的流程图分别表示如下:PrivateSubCommand1_click()
dimsasinteger,iasinteger
dimnasinteger
n=val(text1.text)
s=0
for
①
②
nexti
label1.caption=str(s)EndSub则程序①②处应填入的代码是(
)A.①i=0tonstep2
②s=s+iB.①i=0ton
②s=s+iC.①i=1tonstep2
②s=s+iD.①i=0tonstep2
②s=s*i答案:A
解析:由流程图可知,i是循环变量,初值是0,终值是n,步长为2,则1处代码是i=0
to
n
step
2;每次循环把i的值累加到S中,则2处代码是s=s+i。7.有以下VB程序段:s=0fori=1to10step3s=s+inext该程序执行后,变量i和s的值分别为(
)A.13,22 B.10,22 C.13,35 D.10,35答案:A
解析:for语句步长是3,循环变量i的值依次是1、4、7、10,循环4次,最后i=13,每次循环把i的值累加到s中,所以s=1+4+7+10=22。8.为计算1+3+5+…+99的值,某人编程如下:k=1s=0dowhilek<=99k=k+2s=s+kloopprints在调试时发现运行结果有错误,需要修改。下列对于错误原因和修正方案的描述正确的是(
)A.dowhile...loop循环语句错误,应改为Fork=1To99...NextkB.循环条件错误,应改为k<99C.循环前的赋值语句k=1错误,应改为k=0D.循环中两条赋值语句的顺序错误,应改为s=s+k:k=k+2答案:D9.有以下VB程序段:s=1:i=1dowhiles<100s=s*ii=i*2loop该程序执行后,变量i和s的值分别为(
)A.8,64 B.16,1024 C.32,1024 D.16,64答案:C
解析:程序运行中,各变量变化过程如下表所示:10.有以下VB程序段:s=0fori=10to
step-2
s=s+inexti若要使语句s=s+i执行6次,则循环变量i终值应为
(
)A.0 B.1 C.2 D.-2答案:A11.有如下VB程序s=0:i=1dowhile
s=s+ii=i+2loop该程序运行后,变量S的值等于16,则程序划线处的语句是(
)A.i<=5 B.i<=7 C.i<7 D.i<=9答
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论