选择结构与循环结构程序设计.ppt_第1页
选择结构与循环结构程序设计.ppt_第2页
选择结构与循环结构程序设计.ppt_第3页
选择结构与循环结构程序设计.ppt_第4页
选择结构与循环结构程序设计.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

,第五章 选择结构与循环结构程序设计,本章主要内容 5.1 选择机构程序设计 5.2 For循环结构程序设计 5.3 While循环结构程序设计 5.4 Do循环结构程序设计 5.5 多重循环 5.6 程序举例,5.1 选择结构程序设计,单行结构条件语句 格式:If Then Else 功能:若条件成立或为非0值,则执行“语句1”,否则执行语句2。 其中:“条件”通常是关系表达式或逻辑表达式。 “语句1”和“语句2”可以是简单句或复合句。 Else子句为可选项。,例51 输入三个数,输出其中最大值。,Private Sub Command1_Click() Dim a!, b!, c!, max! a = InputBox(“请输入第一个数“) b = InputBox(“请输入第二个数“) c = InputBox(“请输入第三个数“) max = a If b max Then max = b If c max Then max = c Print a; “,“; b; “,“; c; “中最大值是:“; max End Sub,例52 编程求符号函数sign(x)的值。 P102,块结构条件语句,格式:If condition1 Then ElseIf condition2 Then . Else End If,功能:若“条件1”成立,执行“语句块1”;否则若“条件2”成立,执行“语句块2”;若上述条件均不成立,执行“语句块n”。 例53 输入系数a,b和c,求二次方程ax2+bx+c=0的实根。编程如下: 例54 给出a,b,c的值,问它们能否构成三角形的3边。如能构成三角形,计算此三角形的面积。,Private Sub Command1_Click() Dim a!, b!, c!, d!, x1!, x2!, x a = Val(InputBox(“请输入系数a:“):b = Val(InputBox(“请输入系数b:“) c = Val(InputBox(“请输入系数c:“):d = b * b - 4 * a * c If d 0 Then x1 = (-b + Sqr(d) / (2 * a): x2 = (-b - Sqr(d) / (2 * a) Print “x1=“; x1, “x2=“; x2 Else If d = 0 Then x = -b / (2 * a): Print “x=“; x Else Print “此方程无实根“ End If End If End Sub Private Sub Command2_Click() End End Sub,Goto语句,格式:GoTo 功能:把控制转移到“标号”所在的程序行,并从该行开始往下执行。 说明:1、标号实一个标识符或整型数; 2、程序必须给GoTo语句提供唯一的转向入口,入口处格式为:: 3、不能用GoTo语句转向另一个过程。 例55:设计一个程序,从键盘上输入学生的分数,统计其中及格的人数以及总平均分。P106,情况语句,Select Case Case Case Case Else End Select,功能:根据“测试表达式”的值,从多个语句块中选择符合条件的一个语句块执行。 说明: 1、“测试表达式”的值与“表达式表列”的值均不匹配的时候,执行case else 子句。 2、测试表达式可以是数值表达式或字符串表达式。 3、Case子句可以是一行或多行语句。 4、“表达式表列”中的表达式必须与测试表达式的类型一致。 5、“表达式表列”称为域值,可以是下列形式之一:,1), 当“测试表达式”的值与其中之一相同,就执行该Case子句中的语句块。 2) To 当“测试表达式”的值落在表达式1和表达式2之间(含自身),则执行该Case子句中的语句块。表达式1 当“测试表达式”的值满足“关系表达式”指定条件时,执行该Case子句中的语句块。,例56 从键盘上输入学生成绩,然后在文件框中显示其等级(按5级计分值输出不及格、及格、中等、良好、优秀)。,Private Sub Command1_Click() Dim score As Integer, strx As String start: score = InputBox(“请输入学生成绩”) Select Case score Case 0 To 59: strx$ = “不及格” Case 60 To 69:strx$ = “及格” Case 70 To 79:strx$ = “中等” Case 80 To 89:strx$ = “良好” Case 90 To 100:strx$ = “优秀” Case Else MsgBox “请输入0100范围内的整数”, “错误提示” GoTo start End Select Text1.Text = score Text2.Text = strx$ End Sub,例57 商店售货,按购买货物的款数多少分别给予不同优惠折扣如下,编程计算购物款数。,Private Sub Command1_Click() Dim m!, d! m = InputBox(“请输应付款:“) Select Case m Case Is 250: d = 0 Case Is 500: d = 0.05 Case Is 1000: d = 0.075 Case Is 2000: d = 0.1 Case Else: d = 0.15 End Select Text1.Text = Str$(m) Text2.Text = Str$(d) Text3.Text = Str$(m * (1 - d) End Sub Private Sub Command2_Click() End End Sub,IIf函数,格式: Iif(条件,True部分,False部分) 功能:当条件为真时,返回true部分的值为函数值,而当条件为假时,返回False部分的值为函数值。 说明: 1、条件是逻辑表达式或关系表达式。 2、True部分和False部分是表达式。 3、True部分和False部分的返回值必须与结果变量类型一致。,5.2 For循环结构程序设计,格式: For = To Step Exit For Next 功能: For循环按确定的次数执行循环体,该次数由循环变量的初值、终值和步长确定的。,说明: 1、循环变量:数值变量。 2、初值、终值、步长:数值表达式,值若为实数,则自动取整。步长在不同情况下可为正、负,若省略则为1。 3、循环体:需重复执行的语句,可以是一句或多句。 4、Exit For:用于退出循环。 5、Next:循环终端语句。其后的循环变量与For语句中的“循环变量”必须相同。 6、循环次数Int(终值初值)/步长 1 循环可以嵌套,三种形式见P113114,例58 求自然数n的阶乘。,Private Sub Form_Click() Dim n%, i%, k% n = InputBox(“请输入n值“) k = 1 For i = 1 To n k = k * i Next i Print n; “!=“; k End Sub,例59 输入一个班的学生成绩,统计其中及格的学生人数,并计算出全班的平均分数。,Private Sub Command1_Click() Dim score%, i%, passn%, sum%, n% sum = 0: passn = 0: n = 0 For i = 1 To 50 score = InputBox(“请输入学生成绩“) If score = 60 Then passn = passn + 1 n = n + 1:sum = sum + score End If Next i Text1.Text = Str$(n):Text2.Text = Str$(passn) Text3.Text = Str$(sum / n) End Sub Private Sub Command2_Click() End End Sub,5.3 While循环结构程序设计,格式: While 条件 循环体 Wend 功能:当给定条件为True时,执行循环体。 说明:1、先对“条件”进行测试,才决定是否执行循环。 2、循环体中应含有对“条件”的修改操作,使循环体能正常结束。否则,会构成死循环。 3、循环可嵌套,不许交叉。每个Wend和最近的While相匹配。,例510 小红今年12岁,她父亲比她大30岁,编程计算出她父亲在几年后比她年龄大一倍,那时父女的年龄各为多少?,Private Sub Form_Click() Dim age As Integer age = 12 While age * 2 age + 30 age = age + 1 Wend Print “经过”; age - 12; “年,小红父女的年龄分别是:”;_ age + 30; “和“; age End Sub,5、4 Do循环结构程序设计,格式1: Do While|Until Exit Do Loop 格式2: Do Exit Do Loop While|Until,功能:,当循环“条件”为真(While条件)或直到指定的循环结束“条件”为真之前(Until条件)重复执行循环体。,说明:,1、注意While/Until的区别。 2、格式1中,先判断条件,再决定是否执行循环体;格式2中,先执行循环体,再判断条件决定是重复循环还是终止循环。,例511 编写程序,对任意输入的正整数n(n=3)判断其是否为素数。,Private Sub Form_Click() Dim n%, i%, k% n = InputBox(“请输入一个正整数(=3)“) i = 2: k = Int(n / 2) k=int(sqr(n) Do While i k Then Print n; “是素数“ Else Print n; “不是素数“ End Sub,例512 输入两个正整数,求它们的最大公约数,Private Sub Form_Click() Dim m%, n%, r%, t% m = InputBox(“请输入第一个整数“) n = InputBox(“请

温馨提示

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

最新文档

评论

0/150

提交评论