资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第五章 选择结构与循环结构程序设计本章主要内容本章主要内容 5.1 5.1 选择机构程序设计选择机构程序设计 5.2 5.2 ForFor循环结构程序设计循环结构程序设计 5.3 5.3 WhileWhile循环结构程序设计循环结构程序设计5.4 5.4 DoDo循环结构程序设计循环结构程序设计 5.5 5.5 多重循环多重循环5.6 5.6 程序举例程序举例5.1 选择结构程序设计u单行结构条件语句格式:If Then Else功能:若条件成立或为非0值,则执行“语句1”,否则执行语句2。其中:“条件”通常是关系表达式或逻辑表达式。“语句1”和“语句2”可以是简单句或复合句。Else子句为可选项。例51 输入三个数,输出其中最大值。Private Sub Command1_Click()Private Sub Command1_Click()Dim a!, b!, c!, max! Dim a!, b!, c!, max!a = a = InputBoxInputBox(“ (“请输入第一个数请输入第一个数“) “)b = b = InputBoxInputBox(“ (“请输入第二个数请输入第二个数“) “)c = c = InputBoxInputBox(“ (“请输入第三个数请输入第三个数“) “)max = amax = aIf b max Then max = b If b max Then max = bIf c max Then max = c If c max Then max = cPrint a; “,“; b; “,“; c; “ Print a; “,“; b; “,“; c; “中最大值是:中最大值是:“; “; maxmax End SubEnd Sub例例5 52 2 编程求符号函数编程求符号函数sign(x)sign(x)的值。的值。 P102P102u块结构条件语句格式:格式:If condition1 ThenIf condition1 Then ElseIfElseIf condition2 Then condition2 Then . . Else ElseEnd If End If功能:功能:若若“条件条件1”1”成立,执行成立,执行“语句块语句块1”1”;否则若;否则若“条件条件2”2”成立,执行成立,执行“语句块语句块2”2”;若上述条件均不若上述条件均不成立,执行成立,执行“语句块语句块n”n”。例例5 53 3 输入系数输入系数a,ba,b和和c c,求二次方程求二次方程axax2 2+bx+c=0+bx+c=0的的实根。实根。编程如下编程如下:例例5 54 4 给出给出a a,b b,c c的值,问它们能否构成三角形的的值,问它们能否构成三角形的3 3边。如能构成三角形,计算此三角形的面积。边。如能构成三角形,计算此三角形的面积。Private Sub Command1_Click()Private Sub Command1_Click() Dim a!, b!, c!, d!, x1!, x2!, xDim a!, b!, c!, d!, x1!, x2!, x a = a = Val(InputBoxVal(InputBox(“ (“请输入系数请输入系数a:“)a:“):b = b = Val(InputBoxVal(InputBox(“ (“请输入系数请输入系数b:“)b:“) c = c = Val(InputBoxVal(InputBox(“ (“请输入系数请输入系数c:“)c:“):d = b * b - 4 * a * cd = b * b - 4 * a * c If d 0 ThenIf d 0 Thenx1 = (-b + x1 = (-b + Sqr(dSqr(d) / (2 * a): x2 = (-b - ) / (2 * a): x2 = (-b - Sqr(dSqr(d) / (2 * a) / (2 * a)Print “x1=“; x1, “x2=“; x2 Print “x1=“; x1, “x2=“; x2 ElseElseIf d = 0 Then If d = 0 Thenx = -b / (2 * a): Print “x=“; x x = -b / (2 * a): Print “x=“; xElse ElsePrint “ Print “此方程无实根此方程无实根“ “End IfEnd If End IfEnd If End SubEnd Sub Private Sub Command2_Click()Private Sub Command2_Click() EndEnd End SubEnd SubGoto语句格式:格式:GoToGoTo 功能:功能:把控制转移到把控制转移到“标号标号”所在的程序行,并从该所在的程序行,并从该行开始往下执行。行开始往下执行。说明:说明:1 1、标号实一个标识符或整型数;、标号实一个标识符或整型数;2 2、程序必须给、程序必须给GoToGoTo语句提供唯一的转向入口语句提供唯一的转向入口,入口处格式为:,入口处格式为::3 3、不能用不能用GoToGoTo语句转向另一个过程。语句转向另一个过程。例例5 55 5:设计一个程序,从键盘上输入学生的分数,设计一个程序,从键盘上输入学生的分数,统计其中及格的人数以及总平均分。统计其中及格的人数以及总平均分。P106P106u情况语句Select Case Case Case Case ElseEnd Select功能:功能:根据根据“测试表达式测试表达式”的值,从多个语句块中选择符的值,从多个语句块中选择符合条件的一个语句块执行。合条件的一个语句块执行。说明:说明:1 1、“测试表达式测试表达式”的值与的值与“表达式表列表达式表列”的值均不匹的值均不匹配的时候,执行配的时候,执行case else case else 子句。子句。2 2、测试表达式可以是数值表达式或字符串表达式。、测试表达式可以是数值表达式或字符串表达式。3 3、CaseCase子句可以是一行或多行语句。子句可以是一行或多行语句。4 4、“表达式表列表达式表列”中的表达式必须与测试表达式的类中的表达式必须与测试表达式的类型一致。型一致。5 5、“表达式表列表达式表列”称为域值,可以是下列形式之一:称为域值,可以是下列形式之一: 1 1),当当“测试表达式测试表达式”的值与其中之一相同,就执行该的值与其中之一相同,就执行该CaseCase子子句中的语句块。句中的语句块。2 2) 1 To 2当当“测试表达式测试表达式”的值落在表达式的值落在表达式1 1和表达式和表达式2 2之间(含自之间(含自身),则执行该身),则执行该CaseCase子句中的语句块。表达式子句中的语句块。表达式1 当当“测试表达式测试表达式”的值满足的值满足“关系表达式关系表达式”指定条件时,执指定条件时,执行该行该CaseCase子句中的语句块。子句中的语句块。例56 从键盘上输入学生成绩,然后在文件框中显示其等级 (按5级计分值输出不及格、及格、中等、良好、优秀)。Private Sub Command1_Click()Private Sub Command1_Click() Dim score As Integer, Dim score As Integer, strxstrx As String As String start: score = start: score = InputBoxInputBox(“(“请输入学生成绩请输入学生成绩”)”) Select Case scoreSelect Case scoreCase 0 To 59 Case 0 To 59: strxstrx$ = “$ = “不及格不及格”Case 60 To 69Case 60 To 69:strx$ = “strx$ = “及格及格”Case 70 To 79Case 70 To 79:strx$ = “strx$ = “中等中等”Case 80 To 89Case 80 To 89:strx$ = “strx$ = “良好良好”Case 90 To 100Case 90 To 100:strx$ = “strx$ = “优秀优秀”Case ElseCase ElseMsgBoxMsgBox “ “请输入请输入0 0100100范围内的整数范围内的整数”, “”, “错误提示错误提示”GoToGoTo start start End SelectEnd Select Text1.Text = scoreText1.Text = score Text2.Text = Text2.Text = strxstrx$ $ End SubEnd Sub例57 商店售货,按购买货物的款数多少分别给予不 同优惠折扣如下,编程计算购物款数。Private Sub Command1_Click()Private Sub Command1_Click() Dim m!, d!Dim m!, d! m = m = InputBoxInputBox(“ (“请输应付款请输应付款:“):“) Select Case mSelect Case mCase Is = = To To Step Step Exit ForExit ForNext Next 功能:功能:For For循环按确定的次数执行循环体,该次数由循环变量的循环按确定的次数执行循环体,该次数由循环变量的初值、终值和步长确定的。初值、终值和步长确定的。说明:说明:1 1、循环变量:数值变量。、循环变量:数值变量。2 2、初值、终值、步长:数值表达式,值若为实数,则、初值、终值、步长:数值表达式,值若为实数,则自动取整。步长在不同情况下可为正、负,若省略则为自动取整。步长在不同情况下可为正、负,若省略则为1 1。3 3、循环体:需重复执行的语句,可以是一句或多句。、循环体:需重复执行的语句,可以是一句或多句。4 4、Exit ForExit For:用于退出循环。用于退出循环。5 5、NextNext:循环终端语句。其后的循环变量与循环终端语句。其后的循环变量与ForFor语句语句中的中的“循环变量循环变量”必须相同。必须相同。6 6、循环次数、循环次数IntInt( (终值初值终值初值)/)/步长步长 1 1循环可以嵌套,三种形式见循环可以嵌套,三种形式见P113P113114114例例5 58 8 求自然数求自然数n n的阶乘。的阶乘。Private Sub Form_Click()Private Sub Form_Click() Dim n%,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号