已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章 选择分支与循环 1 本章主要内容 5.1 分支结构与分支结构语句 5.2 循环结构与循环结构语句 5.3 程序示例 2 5.1 分支结构与分支结构语句 分支结构是程序的基本算法结构之一。VB提供 了实现分支结构的相关语句。 If-Then-Else-End If 结构语句 Select-Case-End Select 结构语句 3 If-Then-Else-End If 结构语句 该结构语句的一般形式 该结构的变形1 该结构的变形2 例5-1 已知三角形三个边的长度,设计求此三角 形面积的程序 例5-2一个有多个分支的示例程序 4 If 结构语句的一般形式 If e Then A组语句 Else B组语句 End If 5 If 结构的变形 1 If e Then A组语句 End If If e Then 6 If 结构的变形 2 If e1 Then A1组语句 ElseIf e2 Then A2组语句 . End if 7 例5-1 已知三角形三个边的长度,设计求此三角形 面积的程序 算法流程图 程序代码 当a+bc 且 a+cb 且 b+ca 时,三角形存在,其面积 式中: p=(a+b+c)/2 8 例5-1 算法流程图 9 10 例5-2一个有多个分支的示例程序 程序代码 11 例5-2 程序代码 Private Sub Command1_Click() Dim x As Integer x = Val(Text1.Text) If x 20; Is0 时,判断是否 ve2; 当 e30,则得到随机序列的下一个随机数; 参数 x =0,则返回上一次生成的随机数。不使用 x的结果与 x0相同。 对最初给定的种子都会生成相同的数列,因为每一 次调用 Rnd 函数都用数列中的前一个数作为下一 个数的种子。 调用 Rnd 之前,可先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有从系统计 时器获得到的种子。 28 5.3 程序示例 例5-7一个简易函数计算器程序 例5-8 个人收入调节税应用程序 例5-9 找出水仙花数 例5-10利用牛顿顿迭代法求方程根 例5-11 原码转换成反码的程序 29 例5-7 一个简易函数计算器程序 为了保证“计算器”在各种操作状况下都正常工作, 程序需要考虑在用户没有在文本框中输入数据或输 入的数据超出函数的定义域时的出错处理。 程序中使用的 IsNumeric()函数用于检测自变量s是 否是一个可转换成数值的数字串,如果是,则返回 逻辑值True,否则返回False。 程序代码 30 例5-8 个人收入调节税应用程序 按月收入额计个人收入调节税的计税公式 式中,income为纳税人的月收入。 程序代码 0 income 1600或离退休 (income - 1600)*0.05 1600 101600 tax= 31 例5-9 找出所有三位水仙花数 利用“穷举法”在三位数中查找具有“水仙花数”特征 的数 题中在判断一个数是否是“水仙花数”时采用了两种 方法:一种是将三位数循环变量的各位数字拆开, 然后进行比较;一种是采用三重循环,用三个循环 变量来构成一个三位数,然后进行比较 程序代码(1) 程序代码(2) 32 例5-10 利用牛顿迭代法求方程根 利用牛顿迭代法求方程xex - 1 = 0 在x0 = 0.5附 近的一个根,要求精确到10-7 牛顿迭代法算法说明 程序代码 33 牛顿迭代法算法说明 牛顿迭代法是求解一元超越方程的常用算法。设要 求解的方程为f(x)=0,并已知一个不够精确的初 始根x0,则则有: 上式称为为牛顿顿迭代公式。式中,f(x)是f(x)的导函 数。利用迭代公式,可以依次求出x1、x2、x3、 ,当|xn+1 xn|时的xn+1即为要求的根。 xn+1 = xn - f(xn)/f(xn) n=0,1,2,3 34 例5-11 原码转换成反码的程序 Mid函数的功能除可提取字符串的指定位置的字符 之外。也可以如同一个变量一样用在赋值语句中, 其功能是用指定的字符替换字符串中指定位置的内 容。本示例使用了Mid函数的这一功能。 程序代码 35 例5-4 36 例5-5 37 例5-6 38 例5-7 39 例5-8 40 例5-9 方法一 Option Explicit Private Sub Command1_Click() Dim I As Integer, a As Integer, b As Integer, c As Integer, st As String For I = 100 To 999 a = I 100 b = (I Mod 100) 10 c = I Mod 10 If I = a 3 + b 3 + c 3 Then st = I & “=“ & a & “3+“ & b & “3+“ & c & “3“ List1.AddItem st End If Next I End Sub 41 例5-9 方法二 Option Explicit Private Sub Command1_Click() Dim I As Integer, a As Integer, b As Integer, c As Integer, st As String For a = 1 To 9 For b = 0 To 9 For c = 0 To 9 I = a * 100 + b * 10 + c If I = a 3 + b 3 + c 3 Then st = I & “=“ & a & “3+“ & b & “3+“ & c & “3“ List1.AddItem st End If Next c Next b Next a End Sub 42 例5-10 Option Explicit Private Sub cmd1_Click() Dim x As Single, x1 As Single, Eps As Single x = InputBox(“输入初始值x:“, “牛顿迭代法“) Eps = InputBox(“输入允许误差Eps:“, “牛顿迭代法“) Do x1 = x x = x1 - (x1 * Exp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB14T 2054-2020 大型商业综合体消防安全管理规范
- DB31-T 1505-2024 港口自动驾驶集装箱卡车运行技术要求
- 秩序敏感期培训
- “工作落实年”实施方案的工作方案
- 2026红色党政风一二九运动90周年纪念模板
- 中学班主任工作实务培训
- 2025版权许可合同书范文
- 2025年长沙市商品房预售合同
- 2025全职管家雇佣合同
- 中医门店运营管理课件
- 病理医生进修病理诊断汇报
- 单招考试宣传课件
- 泛血管疾病抗栓治疗中国专家共识(2025版)
- 2024-2025学年安徽合肥七年级上册数学期中试卷及答案
- 塔罗教学课件
- 产程中产妇的饮食管理
- 机械行业安全隐患排查清单
- 2025年陕西邮政校招笔试题及答案
- 光栅尺介绍课件
- 品质部奖罚管理制度
- 小学生防轻生班会课件
评论
0/150
提交评论