2.3程序的选择结构_第1页
2.3程序的选择结构_第2页
2.3程序的选择结构_第3页
2.3程序的选择结构_第4页
2.3程序的选择结构_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

§2.3

程序的选择结构《算法与程序设计》(粤教版)复习上一节课1.顺序结构2.赋值语句3.输入数据的函数InputBox()4.输出数据的方法Print2.3.1引入条件语句问题:任意输入一个数,求它的绝对值,并输出来。(不用绝对值函数)X>=0Y=xY=-xYN选择结构2.3.1引入条件语句问题:任意输入一个数,求它的绝对值,并输出来。PrivateSubCommand1_Click()Dimx,yAsSinglex=InputBox("x=","输入x")Ifx>=0Theny=xElsey=-xEndIfPrint"x=";x,"y=";yEndSub2.3.2条件语句开始判断条件语句组真假单分支结构结束开始判断条件语句组1真假双分支结构结束语句组21.条件语句格式(1)If<条件>Then<语句组>(2)If<条件>Then<语句组>EndIf(1)If<条件>Then<语句组1>Else<语句组2>(2)If<条件>Then<语句组1>Else<语句组2>EndIf2.条件语句的执行过程条件语句的执行过程是:当条件成立时,执行Then后面的语句组1,否则执行Else后面的语句组2。3.关系表达式关系表达式是用关系运算符连接起来的式子。如:x>0。关系运算符号有:运算符号=>>=<<=<>

含义等于大于大于等于小于小于等于不等于当关系表达式成立时其值为真(True),当关系表达式不成立时其值为假(False),真和假均属于逻辑型。3.关系表达式关系表达式的值定义如下:(1)对数值型数据的比较,是按数值的大小来比较它们的关系。13>6值为True,98=89值为False。(2)对其他类型数据的比较,则按其序号来进行比较它们的。“A”<”B”值为True,”C”>”D”值为False。3.关系表达式(1)a=2:b=7:c=5d=b^2-4*a*c判断d>=0的值为真还是为假。

True

(2)a=5:b=11:c=6判断这三边能否构成三角形。如何判断?4.逻辑表达式

将多个关系式用逻辑运算符连接起来的式子称为逻辑表达式,其值为逻辑型。常用的逻辑运算符有:

Not(非)取操作数的相反值。

And(与)当两个操作数都为真时,结果为真,否则为假。

Or(或)当两个操作数至少一个为真时,结果为真,否则为假。4.逻辑表达式

(1)判断下列逻辑表达式的真假情况。(a)Not(3>7)

Not(13>7)

(b)(3<8)And

(5<10)

(3<8)And

(5>10)(c)(0<5)Or(3<1)

(5<0)Or(3<1)

(2)假设year表示年份,判断year是否为闰年。

((yearMod100<>0)And(yearMod4=0))Or(yearMod400=0)TrueFalseTrueFalseTrue

False5.运算顺序(1)只有逻辑运算符,顺序为:

Not,And,

Or

(2)三种运算均有,顺序为:算术运算→关系运算→逻辑运算思考??????若a=5:b=7:c=-2:d=1则a+b>c+dAnda>=5OrNotc>0Ord<0的值是什么?

True若记不清楚可加上括号

课堂练习1.语句Ifx=1Theny=1,下列说法正确的是(

)。A、x=1和y=1均为赋值语句B、x=1和y=1均为关系表达式C、x=1为关系表达式,y=1为赋值语句D、x=1为赋值语句,y=1为关系表达式课堂练习2.电梯的最大容量为13人,在此范围内电梯能正常运行,超出了这个范围电梯将发出警报。正确格式为(

)DimaasIntegera=Val(inputbox(“请输入进入电梯的人数”))ifa<=13thenprint“正常运行”elseprint“发出警报”endifA.if…….then……endif……else B.then……if……else……endifC.if……then……else……endif D.if……else……then……endif课堂练习3.以下程序段运行后,分别输入5和6,则输出字符的排列顺序是I=Val(InputBox("请输入I的值"))IfI<6ThenPrint"#";ElsePrint"*"EndIfA.*#B.#*C.##D.**范例1某商场为了对苹果进行促销,规定购买20千克以上可以在原价每千克1.5元的基础上打8折。编程计算购买x千克苹果应付多少钱。PrivateSubCommand1_Click(

)Dimx,yAsSinglex=InputBox("x=","输入苹果重量")Ifx>20Theny=x*1.5*0.8Elsey=x*1.5EndIfPrint"x=";x,"y=";yEndSub范例2任意输入三个数a,b,c,找出其中最小的一个,并输出来。PrivateSubCommand1_Click(

)Dima,b,c,MinAs

Single

a=InputBox("a=","输入a")b=InputBox("b=","输入b")c=InputBox("c=","输入c")Ifa<bThenMin=aElseMin=bEndIfIfc<MinThenMin=cEndIfPrint"Min=";MinEndSub找a,b中较小者找Min,c中较小者练习P49(1)编写一元二次方程的求解程序,要求能够判断方程是否有根,如果没有根则给出相应的提示信息。(2)编写一个程序,输入三个数,输出其中的最大数。练习P49(1)PrivateSubCommand1_Click()Dima,b,c,d,x1,x2AsSinglea=InputBox("a=","输入a")b=InputBox("b=","输入b")c=InputBox("c=","输入c")d=b^2-4*a*cIfd>=0Thenx1=(-b+Sqr(d))/(2*a)x2=(-b-Sqr(d))/(2*a)Print"x1=";x1,"x2=";x2

ElsePrint"此方程无实数解!"

EndIfEndSub练习P49(2)PrivateSubCommand1_Click()Dima,b,c,MaxAsSinglea=InputBox("a=","输入a")b=InputBox("b=","输入b")c=InputBox("c=","输入c")Ifa>bThenMax=aElseMax=bEndIfIfc>MaxThenMax=cEndIfPrint"Max=";MaxEndSub2.3.3多重选择语句

SelectCase语句引入编写程序判定某个同学考试成绩的等级:90分以上为优秀,80至89分为良好,70至79分为中等,60-69分为及格,60分以下为不及格。2.3.3多重选择语句PrivateSubCommand1_Click()DimScoreAsIntegerScore=InputBox("Score=","请输入成绩")

SelectCaseScore

CaseIs>=90Print"优秀"

Case80To89Print"良好“

Case70To79Print“中等”

Case60To69Print"及格"

CaseElsePrint"不及格"

EndSelectEndSub2.3.3多重选择语句

SelectCase语句流程图:SelectCase<表达式>Case①Case②NoCase③NoEndSelect的下个语句语句块N+1No①②③为表达式取值范围,可以是:常量或常量列表如:10,20值1To值2如:30To50Is<比较符>常量如:Is>50语句块1Yes语句块2Yes语句块3YesCaseElse…2.3.3多重选择语句SelectCase表达式

Case表达式列表1

语句组1Case表达式列表2

语句组2…CaseElse

语句组N+1EndSelectSelectCase语句的格式2.3.3多重选择语句SelectCase语句的格式说明:(1)表达式和表达式列表可以是数值型或字符型,表达式列表还可以是多个逗号分开的表达式。(2)表达式列表和表达式的数据类型必须一致。(3)表达式列表又称为值域,有如下三种形式:①表达式1,表达式2,…例:Case1,3,5表达式的值等于1或3或5时执行。②表达式1To表达式2例:Case1To5表达式的值在1到5范围内时执行。③Is关系表达式例:CaseIs>6表达式的值大于6时执行。2.3.3多重选择语句分析PrivateSubCommand1_Click()DimScoreAsIntegerScore=InputBox("Score=","请输入成绩")SelectCaseScoreCaseIs>=90Print"优秀"Case80To89Print"良好“Case70To79Print“中等”Case60To69Print"及格"CaseElsePrint"不及格"EndSelectEndSub练习P49(3)键盘字符分类:大写字母A…Z,小写字母a…z,数字0…9,其他字符。编程,根据上述分法,输入任意字符,输出该字符所属类型。练习P49(3)PrivateSubCommand1_Click()DimcharAsStringchar=InputBox("char=","请输入任意字符")SelectCasecharCase"A"To"Z"Print"大写字母"Case"a"To"z"Print"小写字母"Case"0"To"9"Print"数字"CaseElsePrint"其他字符"EndSelectEndSub

课堂练习1.假设year表示年份,判断year是否为闰年(写逻辑表达式)2.编程,任意输入三个数a,b,c,找出其中最小的一个,并输出来。3.某商场为了对苹果进行促销,规定购买30千克以上可以在原价每千克4.5元的基础上打9折。编程计算购买x千克苹果应付多少钱。4.

编写程序判定某个同学考试成绩的等级:90分以上为优秀,80至89分为良好,70至79分为中等,60-69分为及格,60分以下为不及格。课堂练习(1).假设year表示年份,判断year是否为闰年。

((yearMod100<>0)And(yearMod4=0))Or(yearMod400=0)课堂练习(2).

PrivateSubCommand1_Click(

)Dima,b,c,MinAs

Single

a=InputBox("a=","输入a")b=InputBox("

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论