流程控制结构程序设计 PPT课件_第1页
流程控制结构程序设计 PPT课件_第2页
流程控制结构程序设计 PPT课件_第3页
流程控制结构程序设计 PPT课件_第4页
流程控制结构程序设计 PPT课件_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

第四章流程控制结构程序设计 4 1顺序结构4 2选择结构4 3循环结构4 4常用算法及综合实例 1 4 1顺序结构 顺序结构是程序结构中最简单的一种 同时 其还是最基本的控制结构 任何程序都必须包含顺序结构 顺序结构的特点是整个程序按书写顺序依次执行 即自上而下依次运行 顺序结构 赋值语句输入 输出语句 语句块1 语句块2 2 4 1顺序结构 一 赋值语句形式 对象属性或变量名 表达式作用 将右边表达式的值赋值给对象属性或变量名 一般用于给变量赋值或对控件设定属性值 例 Text1 Text VisualBasic6 0 a 3n n 1 3 说明 1 当表达式的类型与变量的类型不一致时 强制转换成左边的精度 例 a 10 3a 123 a a123 a true a中的结果为3 a中的结果为123 出现类型不匹配 true转换为 1 false转换为0 a的值为 1 4 说明 2 赋值号与关系运算符都用 表示 要分清什么时候是赋值号 什么时候是关系运算符 例 a bprinta b 3 赋值号左边只能是变量或对象的属性 不能是常量和表达式 例 9 ax z 12 赋值符号 关系运算符号 5 说明 4 不要在同一赋值语句中同时对多个变量赋值 例 dimx y z x y z 5不代表使变量X Y和Z都接收并保持数值5 要完成该功能要使用三个赋值语句 VB编译只会将第一个 解释为赋值号 将其余的 解释为关系运算符 x y z 5 6 二 输入数据 使用 文本框 控件进行输入使用与用户交互的函数和过程 7 使用 文本框 控件进行输入 PrivateSubCommand1 Click Text2 Text 3 14159 Text1 Text 2EndSub 8 使用与用户交互的函数和过程1 InputBox函数函数形式 变量 InputBox 提示 标题 缺省 x坐标位置 y坐标位置 其中 提示 提示信息 标题 对话框标题 缺省 输入区缺省值 x坐标位置 y坐标位置 确定对话框左上角在屏幕上的位置 函数返回字符类型 提示 标题 缺省 9 例4 1 输入李明同学的三门功课的成绩 并求出总分 要求用InputBox函数输入 事件代码如下 PrivateSubCommand1 Click s1 请输入李明同学的语文成绩 s2 请输入李明同学的数学成绩 s3 请输入李明同学的外语成绩 yw InputBox s1 输入成绩框 sx InputBox s2 输入成绩框 wy InputBox s3 100 100 zf Val yw Val sx Val wy Text1 Text zfEndSub 程序 10 2 MsgBox函数和MsgBox过程函数形式 变量 MsgBox 提示 按钮 标题 过程形式 MsgBox提示 按钮 标题 其中 提示 提示信息标题 对话框标题按钮 整型表达式 与InputBox函数中对应的参数相同 11 12 MsgBox所选按钮返回值 例 x MsgBox 输入有误 66 66 2 64 0 0 按钮数目 图标类型 默认按钮 模式 本章目录 程序 13 三 输出数据 使用 文本框 控件进行输出使用 标签 控件进行输出使用与Print方法进行输出 14 三 输出数据 Print方法语句格式 对象 Print Spc n Tab n 表达式列表 作用 在对象上输出信息 其中 对象 窗体 图形框或打印机 缺省为窗体 Spc n 函数 从当前位置起空n个空格 Tab n 函数 从最左端开始计算的第n列 表达式列表 要输出的数值或字符串表达式 分号 光标定位在上一个被显示的字符之后逗号 光标定位在下一个打印区开始处 每区14列 Print语句尾无分号或逗号 输出后换行 15 例4 2PrivateSubForm Load Print 12345678901234567890 Print ViusalBasic Print 程序设计 PrintPrintTab 1 a Tab 5 b Print a b Print a b Print c Spc 3 d PrintTab 1 1 2PrintTab 1 abc Tab 3 cde EndSub 程序 16 4 2选择结构1 If Then语句 单分支结构 IfThen语句块EndIf或IfThen 例 已知两个数x和y 比较它们的大小 使得x大于y Ifx yThent xx yy tEndIf或Ifx yThent x x y y t 重要的是学会两个数的交换 若上述语句次序变一下 结果如何 17 2 If Then Else语句 双分支结构 IfThenElseEndIfIfThenElse计算分段函数 单分支结构实现 y cos x x 3 3 xIfx0Theny sin x sqr x x 1 双分支结构实现 Ifx0Theny sin x sqr x x 1 Elsey cos x x 3 3 xEndIf 18 3 If Then ElseIf语句 多分支结构 形式 IfThenElseIfThen Else语句块n 1 EndIf 19 例4 3最近 联合国世界卫生组织提出新的年龄分段 44岁以下为青年人 45岁至59岁为中年人 60岁至74岁为年轻老年人 75岁至89岁为老年人 90岁以上为长寿老人 20 Ifnl 45andnl 60andnl 75andnl 89thenPrint 老年 ElsePrint 长寿 EndIF 21 例4 4已知百分制成绩mark 显示对应的五级制成绩哪些正确 哪些错误 返回72 22 4 If语句的嵌套If语句的嵌套是指If或Else后面的语句块中又包含If语句 形式如下 IfThenIfThen EndIf EndIf 例4 5已知x y z三个数 使得x y z用一个IF语句和一个嵌套的IF语句实现 Ifx yThent x x y y tIfy zThent y y z z tIfx yThent x x y y tEndIfEndIf If语句的嵌套注意事项 书写锯齿型 If与EndIf配对 23 例4 5个体工商户的生产 经营所得和对企事业单位的承包经营 承租经营所得适用 24 PrivateSubCommand1 Click sr Val Text1 Text Ifsr5000Andsr10000Andsr30000Andsr 50000ThenText2 Text sr 1 0 3 ElseText2 Text sr 1 0 4 EndIfEndSub 25 与同类型的下面三种形式之一 表达式数值或字符串表达式例 A 2 4 6 8 a 100表达式1To表达式260To100Is关系运算符表达式Is 60 5 SelectCase语句 情况语句 形式 SelectCase变量或表达式Case表达式列表1语句块1Case表达式列表2语句块2 CaseElse语句块n 1 EndSelect 数值型或字符串表达式 26 例4 6分别利用If结构和Select结构编写求下列分段函数的值的程序 3x 4 y 27 If结构 PrivateSubText1 Change DimxAsSingle y Label1 Caption x Val Text1 Text Ifx 10Theny 3 x 4ElseIfx 5Andx 10Theny x x 10Elsey x 3 6EndIfLabel1 Caption yEndSub 28 Select结构 SelectCasexCaseIs 10y 3 x 4Case5To10y x x 10CaseElsey x 3 6EndSelect 29 例4 4方法二 用select方法 SelectCasescoreCasescore 90MsgBox 优 Casescore 80MsgBox 良 Casescore 70MsgBox 中 Casescore 60MsgBox 及格 CaseElseMsgBox 不及格 EndSelect 30 说明 1 SelectCase后面不能出像多个用 号隔开的变量 eg selectcasex y 错误 2 Case子句中允许含有多个表达式 表达式间用 号分隔 eg case1To5 21 Is 6 正确 case A C TO F Name 正确 3 Case子句中不能出现的表达式 返回casex 0andy 0 错误 31 说明 4 关键字To用来指定一个范围 必须把较小的值写在前面 较大的值写在后面 eg case10to6 错误 5 表达式列表的数据类型应与变量值的类型一致 否则将强制转换为测试变量的值的数据类型 6 SelectCase语句允许嵌套 7 SelectCase语句以EndSelect结束 32 6 条件函数 1 IIf函数形式是 IIf 表达式 当表达式为True时的值 当表达式为False时的值 例如 求x y中大的数 放入Tmax变量中 语句如下 Tmax IIf x y x y 2 Choose函数形式是 Choose 数字类型变量 值为1的返回值 值为2的返回值 例如 Nop是1 4的值 转换成 运算符的语句如下 Op Choose Nop 当值为1 返回字符串 然后放入Op变量中 值为2 返回字符串 依次类推 当Nop是1 4的非整数 系统自动取Nop的整数办法在判断 若Nop不在1 4之间 函数返回Null值 33 常见错误1 在选择结构中缺少配对的结束语句对多行式的If块语句中 应有配对的EndIf语句结束 2 多边选择ElseIf关键字的书写和条件表达式的表示ElseIf不要写成ElseIf 多个条件表达式次序问题 3 SelectCase语句的使用SelectCase后不能出现多个变量 Case子句后不能出现变量 34 4 3循环结构1 For循环语句 一般用于循环次数已知 形式For循环变量 初值to终值 Step步长 语句块 ExitFor 语句块Next循环变量 循环变量 终值 语句块 ExitFor 语句块 循环变量加步长 T F 循环变量得初值 循环体 例4 8计算1 100的奇数和 程序段如下 Dimi s s 0Fori 1To100step2s s iNexti 35 0初值终值 0死循环 循环次数 求循环次数 Fori 1To10Step3i i 1Nexti 步长 执行步骤 i 1 i 2 i 5 i 6 i 9 i 10 i 13 在循环体内对循环控制变量可多次引用 但最好不要对其赋值 否则影响原来的循环控制规律 36 要注意 出了循环 循环控制变量值的问题 例程序段 Fori 2To13Step3循环执行次数Printi 输出i的值分别为 Nexti25811Print Print I i出了循环输出为 I 14 37 例4 7改变循环控制变量对循环的影响 PrivateSubCommand1 Click j 0Fori 1To20Step2i i 3j j 1Print 第 j 次循环i iNextiPrint 退出循环后i iEndSub正常情况 i 1 3 5 7 9 11 13 15 17 19现在 i 4 9 14 19 38 2 Do Loop循环语句 用于控制循环次数未知 形式1 Do While Until 语句块 ExitDo语句块 Loop 形式2 Do语句块 ExitDo语句块 Loop While Until 39 例4 8我国有13亿人口 按人口年增长0 8 计算 多少年后我国人口超过26亿 分析 解此问题两种方法 可根据公式 26 13 1 0 008 n直接利用标准对数函数求得 也可利用循环求得 程序如下 PrivateSubCommand1 Click x 13n 0DoWhilex 26x x 1 008n n 1LoopPrintn xEndSub 40 4 4其他辅助控制语句1 GoTo语句形式 GoTo 标号 行号 作用 无条件地转移到标号或行号指定的那行语句 标号是一个字符序列 行号是一个数字序列 2 Exit语句多种形式 ExitFor ExitDo ExitSub ExitFunction等 作用 退出某种控制结构的执行 3 End语句多种形式 End EndIf EndSelect EndWith EndType EndSub EndFunction 作用 End结束一个程序的运行 其余表示某个结构的结束 与对应的结构语句配对出现 41 4 With语句形式如下 With对象语句块EndWith作用 对某个对象执行一系列的操作 而不用重复指出对象的名称 WithLabel1 Height 2000 Width 2000 FontSize 22

温馨提示

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

最新文档

评论

0/150

提交评论