欢迎来到天天文库
浏览记录
ID:48153024
大小:258.01 KB
页数:26页
时间:2020-01-16
《选择结构与循环结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第五章选择结构与循环结构程序设计本章主要内容5.1选择机构程序设计5.2For循环结构程序设计5.3While循环结构程序设计5.4Do循环结构程序设计5.5多重循环5.6程序举例5.1选择结构程序设计单行结构条件语句格式:If<条件>Then<语句1>[Else<语句2>]功能:若条件成立或为非0值,则执行“语句1”,否则执行语句2。其中:“条件”通常是关系表达式或逻辑表达式。“语句1”和“语句2”可以是简单句或复合句。Else子句为可选项。例5-1输入三个数,输出其中最大值。PrivateSubCommand1_C
2、lick()Dima!,b!,c!,max!a=InputBox("请输入第一个数")b=InputBox("请输入第二个数")c=InputBox("请输入第三个数")max=aIfb>maxThenmax=bIfc>maxThenmax=cPrinta;",";b;",";c;"中最大值是:";maxEndSub例5-2编程求符号函数sign(x)的值。P102块结构条件语句格式:Ifcondition1Then[ElseIfcondition2Then3、block-2>]...[Else]EndIf功能:若“条件1”成立,执行“语句块1”;否则若“条件2”成立,执行“语句块2”;……若上述条件均不成立,执行“语句块n”。例5-3输入系数a,b和c,求二次方程ax2+bx+c=0的实根。编程如下:例5-4给出a,b,c的值,问它们能否构成三角形的3边。如能构成三角形,计算此三角形的面积。PrivateSubCommand1_Click()Dima!,b!,c!,d!,x1!,x2!,xa=Val(InputBox("请输入系数a:"4、)):b=Val(InputBox("请输入系数b:"))c=Val(InputBox("请输入系数c:")):d=b*b-4*a*cIfd>0Thenx1=(-b+Sqr(d))/(2*a):x2=(-b-Sqr(d))/(2*a)Print"x1=";x1,"x2=";x2ElseIfd=0Thenx=-b/(2*a):Print"x=";xElsePrint"此方程无实根"EndIfEndIfEndSubPrivateSubCommand2_Click()EndEndSubGoto语句格式:GoTo<标号>功能:5、把控制转移到“标号”所在的程序行,并从该行开始往下执行。说明:1、标号实一个标识符或整型数;2、程序必须给GoTo语句提供唯一的转向入口,入口处格式为:<标号>:<语句>3、不能用GoTo语句转向另一个过程。例5-5:设计一个程序,从键盘上输入学生的分数,统计其中及格的人数以及总平均分。P106情况语句SelectCaseCase[][Case6、>]……[CaseElse]EndSelect功能:根据“测试表达式”的值,从多个语句块中选择符合条件的一个语句块执行。说明:1、“测试表达式”的值与“表达式表列”的值均不匹配的时候,执行caseelse子句。2、测试表达式可以是数值表达式或字符串表达式。3、Case子句可以是一行或多行语句。4、“表达式表列”中的表达式必须与测试表达式的类型一致。5、“表达式表列”称为域值,可以是下列形式之一:1)<表达式1>[,<表达式2>]……当“测试表达式”的值与其中之一相同,就执行该Ca7、se子句中的语句块。2)<表达式1>To<表达式2>当“测试表达式”的值落在表达式1和表达式2之间(含自身),则执行该Case子句中的语句块。表达式1<表达式2。3)Is<关系表达式>当“测试表达式”的值满足“关系表达式”指定条件时,执行该Case子句中的语句块。例5-6从键盘上输入学生成绩,然后在文件框中显示其等级(按5级计分值输出不及格、及格、中等、良好、优秀)。PrivateSubCommand1_Click()DimscoreAsInteger,strxAsStringstart:score=InputBox(8、“请输入学生成绩”)SelectCasescoreCase0To59:strx$=“不及格”Case60To69:strx$=“及格”Case70To79:strx$=“中等”Case80To89:strx$=“良好”Case90To100:strx$=“优秀”CaseElseMsgBox“请输入0~100范围内的整数”,“错误提
3、block-2>]...[Else]EndIf功能:若“条件1”成立,执行“语句块1”;否则若“条件2”成立,执行“语句块2”;……若上述条件均不成立,执行“语句块n”。例5-3输入系数a,b和c,求二次方程ax2+bx+c=0的实根。编程如下:例5-4给出a,b,c的值,问它们能否构成三角形的3边。如能构成三角形,计算此三角形的面积。PrivateSubCommand1_Click()Dima!,b!,c!,d!,x1!,x2!,xa=Val(InputBox("请输入系数a:"
4、)):b=Val(InputBox("请输入系数b:"))c=Val(InputBox("请输入系数c:")):d=b*b-4*a*cIfd>0Thenx1=(-b+Sqr(d))/(2*a):x2=(-b-Sqr(d))/(2*a)Print"x1=";x1,"x2=";x2ElseIfd=0Thenx=-b/(2*a):Print"x=";xElsePrint"此方程无实根"EndIfEndIfEndSubPrivateSubCommand2_Click()EndEndSubGoto语句格式:GoTo<标号>功能:
5、把控制转移到“标号”所在的程序行,并从该行开始往下执行。说明:1、标号实一个标识符或整型数;2、程序必须给GoTo语句提供唯一的转向入口,入口处格式为:<标号>:<语句>3、不能用GoTo语句转向另一个过程。例5-5:设计一个程序,从键盘上输入学生的分数,统计其中及格的人数以及总平均分。P106情况语句SelectCaseCase[][Case6、>]……[CaseElse]EndSelect功能:根据“测试表达式”的值,从多个语句块中选择符合条件的一个语句块执行。说明:1、“测试表达式”的值与“表达式表列”的值均不匹配的时候,执行caseelse子句。2、测试表达式可以是数值表达式或字符串表达式。3、Case子句可以是一行或多行语句。4、“表达式表列”中的表达式必须与测试表达式的类型一致。5、“表达式表列”称为域值,可以是下列形式之一:1)<表达式1>[,<表达式2>]……当“测试表达式”的值与其中之一相同,就执行该Ca7、se子句中的语句块。2)<表达式1>To<表达式2>当“测试表达式”的值落在表达式1和表达式2之间(含自身),则执行该Case子句中的语句块。表达式1<表达式2。3)Is<关系表达式>当“测试表达式”的值满足“关系表达式”指定条件时,执行该Case子句中的语句块。例5-6从键盘上输入学生成绩,然后在文件框中显示其等级(按5级计分值输出不及格、及格、中等、良好、优秀)。PrivateSubCommand1_Click()DimscoreAsInteger,strxAsStringstart:score=InputBox(8、“请输入学生成绩”)SelectCasescoreCase0To59:strx$=“不及格”Case60To69:strx$=“及格”Case70To79:strx$=“中等”Case80To89:strx$=“良好”Case90To100:strx$=“优秀”CaseElseMsgBox“请输入0~100范围内的整数”,“错误提
6、>]……[CaseElse]EndSelect功能:根据“测试表达式”的值,从多个语句块中选择符合条件的一个语句块执行。说明:1、“测试表达式”的值与“表达式表列”的值均不匹配的时候,执行caseelse子句。2、测试表达式可以是数值表达式或字符串表达式。3、Case子句可以是一行或多行语句。4、“表达式表列”中的表达式必须与测试表达式的类型一致。5、“表达式表列”称为域值,可以是下列形式之一:1)<表达式1>[,<表达式2>]……当“测试表达式”的值与其中之一相同,就执行该Ca
7、se子句中的语句块。2)<表达式1>To<表达式2>当“测试表达式”的值落在表达式1和表达式2之间(含自身),则执行该Case子句中的语句块。表达式1<表达式2。3)Is<关系表达式>当“测试表达式”的值满足“关系表达式”指定条件时,执行该Case子句中的语句块。例5-6从键盘上输入学生成绩,然后在文件框中显示其等级(按5级计分值输出不及格、及格、中等、良好、优秀)。PrivateSubCommand1_Click()DimscoreAsInteger,strxAsStringstart:score=InputBox(
8、“请输入学生成绩”)SelectCasescoreCase0To59:strx$=“不及格”Case60To69:strx$=“及格”Case70To79:strx$=“中等”Case80To89:strx$=“良好”Case90To100:strx$=“优秀”CaseElseMsgBox“请输入0~100范围内的整数”,“错误提
此文档下载收益归作者所有