VB课件第5章.ppt_第1页
VB课件第5章.ppt_第2页
VB课件第5章.ppt_第3页
VB课件第5章.ppt_第4页
VB课件第5章.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第5章VisualBasic控制结构 学习目标 掌握选择控制结构 多分支结构 For循环控制结构 当循环控制结构 Do循环控制结构 多重循环 了解综合示例 本章导读 教学重点和难点 顺序结构的书写顺序 常变量声明 数据输入 数据处理 数据输出 选择结构和循环结构的使用条件 格式和执行过程 授课学时4课时 5 1算法及其描述5 2选择结构5 2循环结构5 3常用算法与数据结构一 本章主要内容 重点 1 顺序结构 注意事件过程内语句书写顺序 常变量声明 数据输入 数据处理 数据输出 2 选择结构 使用条件 格式 执行过程 1 单 if then 双分支语句 if else 2 多分支语句 if elseif else Selectcase 3 循环结构 使用条件 格式 执行过程 1 For Next语句 2 While Wend语句 3 Do Loop语句 4 多重循环的执行过程和灵活使用 算法的描述 流程图 描述算法过程的一种图形方法 程序开始或结束 输入输出 条件判断 处理过程 流程线 5 1算法及其描述 算法 计算机解决问题的具体步骤 程序 数据结构 算法 基本图形符号 5 1 1算法的基本概念 5 1 2三种基本结构 顺序 选择 循环 格式 IfThen Else 执行过程 1 计算条件表达式的值 2 如果表达式的值为真或为非0值 执行语句1 否则执行语句2 5 2 1单行结构条件语句 变成单分支语句 5 2选择结构 关系表达式或逻辑表达式 举例 奇偶数判断 Ifathenprintaelseprinta 1结果 变量初始值问题 一条语句或多条语句 5 2 2块结构条件语句 then所在行后不能写语句 格式 Ifthen Elseifthen Elseifthen Else Endif注意 1 elseif不能写成elseif 2 多分支语句只执行满足条件的第一个分支 行if语句和块if语句的区别 1 只有行if语句then后才有语句 2 只有块if语句结束时需要用endif 举例 a 3ifa 0thenb 20elseifa 1thenb 30elseb 40endifPrintb 编程 成绩评定 输入一个学生的成绩 根据以下标准输出 90 100优 80 89良 70 79中 60 69及格 60以下不及格 PrivateSubCommand1 Click Dimx y x Val Text1 Text Ifx 90Theny 优 ElseIfx 80Theny 良 ElseIfx 70Theny 中 ElseifX 60theny 及格 Elsey 不及格 EndIfLabel1 Caption yEndSub SelectCase测试表达式Case表达式列表1 Case表达式列表2 CaseElse EndSelect 5 2 3多分支结构 与同类型 采用下面4种形式之一 表达式例 A 一组枚举表达式 用逗号分隔 2 4 6 8表达式1To表达式260To100Is关系运算符表达式Is 60 注意 1 case后表达式不能使用not and or 2 多分支语句只执行满足条件的第一个分支 举例 x val InputBox 请输入 1 4 选择 SelectCasexCaseIs 1 1y 10CaseIs 2 2y 20CaseIs 3 3y 30CaseIs 4 4y 40CaseElsey 50EndSelect程序运行时x输入4 请问y的值应为 A 10B 20C 30D 40程序运行时x输入0 请问y的值应为 A 20B 30C 40D 50如果去掉CaseElse及其下一行 运行时x输入0 y值A 0B 10C 50D 没有结果 成绩评定编程 用Selectcase语句 PrivateSubCommand1 Click Dimx y x Val Text1 Text selectcasexCase90to100y 优 case80to89y 良 case70to79y 中 Case60to69y 及格 caseElsey 不及格 endselectLabel1 Caption yEndSub 1 IIf用于执行简单判断及相应处理 函数形式是 IIf 表达式 当表达式为True时的值 当表达式为False时的值 例如 X 6Min IIF x 5 5 x x x MIN 2 Choose可代替SelectCase语句 适用简单的多重判断 函数形式是 Choose 数字类型变量 值为1的返回值 值为2的返回值 例如 Nop是1 4的值 转换成 运算符的语句如下 Nop 3Op Choose Nop 当值为1 返回字符串 然后放入Op变量中 值为2 返回字符串 依次类推 当Nop是1 4的非整数 系统自动取整 若Nop不在1 4之间 函数返回Null值 5 2 4IIF函数和Choose函数 If语句的嵌套是指If或Else后面的语句块中又包含If语句 形式如下 IfThenIfThen EndIf EndIf If语句的嵌套注意事项 书写锯齿型 If与EndIf配对 5 2 5嵌套的选择结构 从第1级石阶向着第100级石阶一级一级往上爬 在第1级石阶捡1个鸡蛋 捡完鸡蛋后再上一个石阶 接着在第2级石阶捡2个鸡蛋 请问到第100级石阶时篮子里的鸡蛋有多少个 怎么求 捡完鸡蛋后人站在哪个台阶上 循环结束后循环变量的值是多少 如果从100级开始向着第1级往下捡 程序该怎么写 捡鸡蛋时两级石阶并做一步跨又怎样 若篮子只能装500个鸡蛋 问篮子满时 人站在了哪个石阶上 5 3循环结构 引入 捡鸡蛋游戏 5 3 1For Next循环 一般用于循环次数已知的问题 格式 For循环变量 初值to终值 Step步长 缺省为1 语句块 ExitFor 语句块Next循环变量 循环体 循环变量 循环变量 步长 什么时候结束循环 一般情况下 当循环变量取值超过终值时 结束循环 注意 循环结束时循环变量的值例程序段 Fori 1To10Step2循环执行次数 int 10 1 2 1 Printi 输出i的值分别为 Nexti13579Print i i循环结束时i输出为 i 11在循环体内最好不要对循环变量赋值 否则会影响原来的循环控制规律 如上例中在printi后加语句i i 1 则运行结果有何变化 0初值终值 0死循环 循环次数 步长 5 3 2While Wend循环 用于循环次数未知的情况 格式 While条件 循环体 Wend功能 当给定条件为True时 执行循环体 说明 1 先对 条件 进行测试 才决定是否执行循环 2 循环体中应含有对 条件 的修改操作 使循环体能正常结束 否则 会构成死循环 Ctrl Break终止 3 循环可嵌套 不许交叉 每个Wend和最近的While相匹配 如 whileage 2age 30age age 1 对条件修改wend 格式1 Do While Until 语句块 ExitDo语句块 Loop 格式2 Do语句块 ExitDo语句块 Loop While Until 5 3 3Do Loop循环 用于循环次数未知的情况 问 1 哪种格式循环体至少执行一次 哪种一次也不执行 2 While和Until的区别 Forii 1To10Forii 1To20 NextiiNextii Forii 1To10Forjj 1To20 NextiiNextjj Forii 1To10Forjj 1To20 NextjjNextii 一个循环体内又包含了一个完整的循环结构称为循环嵌套 注意 内循环变量与外循环变量不能同名 外循环必须完全包含内循环 不能交叉 正确错误 5 3 4多重循环 多重循环的执行过程 Fori 1to2forj 1to2a a 1nextjNexti 选择结构的几个典型问题 1 奇偶数判定问题 输入一个数 判断它是奇数还是偶数 2 最大最小值问题 输入三个数 输出最大值和最小值 3 成绩判定问题 输入一个学生的成绩 根据以下标准输出 90 100优 80 89良 70 79中 60 69及格 60以下不及格 4 闰年问题 输入一个年份 判断它是否是闰年 5 4常用算法和数据结构 一 选讲 循环典型问题 累加 s 0 赋初值 s s i 关键语句 累乘 p 1 p p I 例 1 求1 100间的整数和 奇数和 偶数和 倒数和1 1 1 2 1 100 2 求15 求1 2 15 1 累加累乘问题 2 当输出大量数据时 规定每行输出指定个数问题 如5个一行等 3 素数问题 4 辗转相除法求最大公约数和最小公倍数问题 5 打印九九乘法表问题 6 水仙花数问题 帐号和密码检验 要求 帐号不超过6位数字 有错清除原内容再输入 密码输入时在屏幕上以 代替 若密码错 显示有关信息 选择 重试 按钮 清除原内容再输入 选择 取消 按钮 停止运行 例 求100到600之间既能被7整除又能被3整除的数的个数及和 并把这些数每5个一行打印出来 Dimss 每行指定个数输出问题 x为素数的条件为 除x和1以外 任何其他整数不能整除x 则x就是素数 只要有一个数能整除x 则x不是素数 相当于 一票否决 数学上证明 n的最佳范围是2 x 范围也可以为 2 int X 2 1不是素数 证明过程为 假设x是素数 用n作为循环变量 n从2到x 1构成循环 在循环中每次用n除x 如果有一次能整除 就立即退出循环 结束证明 这是中途退出循环 此时 循环控制变量终值 x就是素数 素数问题 privatesubcommand1 click dimx n x val InputBox 输入正整数x Forn 2Tox 1 sqr x int x 2 IfxMODn 0ThenExitForNextnIfn x 1ThenprintX 是素数 ElsePrintX 不是素数 EndIfEndsub 素数问题 1 判断一个数是否是素数 2 打印500 600间的素数 每5个一行3 求大于15000的第一个素数4 求小于18000的最大素数 最大公约数和最小公倍数问题 PrivateSubForm Click Dimm n a r t m InputBox 请输入第一个整数 n InputBox 请输入第二个整数 a m nIfm nThent m m n n tDor mModnm nn rLoopUntilr 0Print 最大公约数是 mPrint 最小公倍数是 a mEndSub 约几里德算法 辗转相除法 1 m n2 r mmodn 1 r 0 则最大公约数为n 2 r0 则n m r n 继续第2步 Fori 1To9Forj 1To9se iNextjPicture1 PrintNexti 思考 打印上三角或下三角程序如何改动 Forj 1Toi 打印九九乘法表 11019283746556473 1 选择结构主要有双分支和多分支结构 关键是掌握格式和执行流程 多分支语句有两种 elseif语句和selectcase语句 只执行满足条件的第一个分支 另外注意 elseif的正确写法和case语句后不能用notandor逻辑运算符 2 选择结构中的典型问题 奇偶数问题 最大最小值问题 成绩判定问题 闰年问题等 3 循环结构中当循环次数已知时 用For循环 当循环次数未知时 用While和Do循环 for循环应注意循环次数的计算 循环结束时循环变量的值 循环变量在循环体内发生变化的情况 while Wend和Do循环可以互换 其中Do循环应着重注意While和Unti

温馨提示

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

评论

0/150

提交评论