Visual Basic程序设计 第6章 循环结构程序设计.ppt_第1页
Visual Basic程序设计 第6章 循环结构程序设计.ppt_第2页
Visual Basic程序设计 第6章 循环结构程序设计.ppt_第3页
Visual Basic程序设计 第6章 循环结构程序设计.ppt_第4页
Visual Basic程序设计 第6章 循环结构程序设计.ppt_第5页
免费预览已结束,剩余28页可下载查看

下载本文档

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

文档简介

1 第6章 循环结构程序设计 本章要点 For Next循环 Do Loop循环 特点 重复相同或相似的操作步骤结构 循环体 要重复执行的语句序列 循环控制部分 规定循环的重复条件或重复次数 确定循环范围的语句 2 6 1For Next循环结构 1 格式For To Step ExitFor Next 循环变量值超过终值 执行循环体 后续语句 Yes No 2 功能 执行过程如流程图所示 3 3 说明 1 循环变量 数值变量 2 初值 终值 步长 数值表达式 3 步长 可正可负 但不能为0 为1时可以省略步长 0时 必须 初值终值步长 终值循环结束条件 循环变量的值 终值 4 ExitFor 退出循环 常放在条件语句中 5 Next之后的循环变量应与For语句中的循环变量应一致 也可以省略 4 累加分析 累加器 变量 初值S 0循环体 重复执行 S S I I 1 2 N PrivateSubCommand1 Click DimNAsInteger IAsInteger SumAsIntegerN Val Text1 Text Sum 0ForI 1ToNSum Sum INextILabel3 Caption SumEndSub 例6 1 求1 2 3 4 N 5 思考 1 求12 22 32 42 10022 求13 33 53 n33 求1 3 5 7 1 n 1 2n 1 4 求 5 求 6 例 判断以下程序段的执行结果 Fori 5To1Step 1Printi i NextiPrintPrinti 例 判断以下程序段的执行结果 X 6ForK 1To10Step 2X X KNextKPrintK X 7 例6 2 求N N 1 2 3 N 累乘分析 初始化 F 1循环体 F F I I 1 2 3 N 程序 PrivateSubCommand1 Click DimNAsInteger IAsInteger FAsLongN Val Text1 Text F 1ForI 1ToNF F INextIText2 Text FEndSub 8 思考 1 求1 3 5 7 共N项 2 求 3 求 9 例6 3 打印斐波那契 Fibonacci 数列的前20项斐波那契数列如下 0 1 1 2 3 5 8 13 即从第三项起每一项是其前两项之和 分析 PrivateSubForm Click A 0 B 1Text1 Text Text1 Text Str A Str B Chr 13 Chr 10 ForI 1To9A A BB A BText1 Text Text1 Text Str A Str B Chr 13 Chr 10 NextIEndSub 10 思考 1 在窗体上打印1 3 5 7 9 N 2 在窗体上显示1到500之间所有能被3整除的数 每行10个数 3 在带水平滚动条文本框中显示1到指定N之间所有能被3和7同时整除的数 4 在带垂直滚动条的文本框中显示00 3600之间的正弦和余弦值 每隔20求一组值 11 6 2Do Loop循环结构 问题 求12 22 32 42 小于某数N的最大值 N由用户指定 特点 已知循环条件 未知循环次数 用Do Loop循环结构实现1 格式 格式一 DoWhile ExitDo Loop 格式二 DoUntil ExitDo Loop 12 2 功能使用While 条件为True时 执行循环体条件为False时 退出循环使用Until 条件为False时 执行循环体条件为True时 退出循环格式一 二 在循环起始处判断条件 为当型循环格式三 四 在循环终止处判断条件 为直到型循环 格式三 Do ExitDo LoopWhile 格式四 Do ExitDo LoopUntil 13 3 说明 1 ExitDo语句用于退出循环体 2 也可以在Do语句和Loop语句之后都没有条件 这时在循环体内必须有强行退出循环的语句 3 多数情况下 当型循环和直到型循环可互相代替 例6 4 求12 22 32 42 小于某数N的最大值 N由用户指定 设计界面下图 14 PrivateSubCommand1 Click DimnAsLong SAsLongN Val Text1 Text I 0S 0DoWhileS NI I 1S S I ILoopText2 Text S I IEndSub 初始化 循环体 循环条件 UntilS N WhileS N 思考 求12 22 32 42 大于或等于某数N的最小值 15 例6 5 求 直至最后一项的值 10 4为止 分析 用N表示每一项的分母 N 1 3 5 用Term表示每一项的值 则Term 1 N用Sum表示累加和循环初始条件 N 1 Sum 0循环终止条件 Term 0 0001 16 PrivateSubForm Click N 1 Sum 0DoTerm 1 N N Sum Sum TermN N 2LoopUntilTerm 0 0001Form1 FontSize 12 设窗体的字体CurrentY 200 设当前显示位置Print 运算结果为 SumPrint 最后一项的值为 TermEndSub 17 例6 6 已知某乡镇企业现有产值和年增长率 试问多少年后 该企业的产值可以翻一番 翻一番后实际产值是多少 分析 P 现有产值R 年增长率Y 年V 增长后的产值 初始值为P累乘 V P 1 R 1 R 退出循环条件V 2P 18 PrivateSubForm Click P Val Text1 Text R Val Text2 Text 100V P Y 0DoUntilV 2 PY Y 1V V 1 R LoopText3 Text YText4 Text Format V 0 00 EndSub 19 例6 7 给出两个正整数M N 求它们的最大公约数和最小公倍数 分析 求最大公约数的方法如下 1 以M作被除数 N作除数 求余数R 2 如果R不为零 则将除数N做为新的被除数M 将余数R做为新的除数N 再进行相除 得到新的余数R 3 如果R仍不等于0 则重复上述步骤 2 如果R为零 则这时的被除数N就是最大公约数 最小公倍数为两个数的积除以它们的最大公约数 20 设计界面如下图所示 21 DimAAsInteger BAsInteger NAsInteger MAsInteger RAsIntegerPrivateSubCommand1 Click M Val Text1 Text N Val Text2 Text A M B NR MModNDoWhileR0M NN RR MModNLoopLabel3 Caption NEndSubPrivateSubCommand2 Click Label4 Caption A B NEndSub 22 例6 8 给一个整数n n 3 判断它是否是素数分析 将数N被2 SQR N 间全部整数除 如果都除不尽 则N是素数 否则N不是素数 设标志变量Flag 只要有一个被整除 就置为1 23 PrivateSubCommand1 Click N Val Text1 Text K Int Sqr N I 2Flag 0DoWhileI KAndFlag 0IfNModI 0ThenFlag 1ElseI I 1LoopIfFlag 0ThenLabel1 Caption 是素数 ElseLabel1 Caption 不是素数 EndIfEndSub 24 6 3循环的嵌套 在一个循环体内又完整地包含另一个循环 称为循环的嵌套 或多重循环 例 ForI 1To3ForJ 5To7PrintI JNextJNextI执行过程 例 ForI 1To3ForJ 1ToIForK 1To 2S S I J KNextKNextJNextI执行过程 25 说明 1 嵌套的循环可以是For Next循环 也可以是Do Loop循环 2 FOR循环有一个公共端点 可使用一个NEXT语句 循环变量按从内到外排列 FORI 1TO3FORJ 5TO7PRINTI JNEXTJ I FORI 1TO3FORJ 5TO7PRINTI JNEXTJNEXTI 例 3 内外循环不应交叉例 FORI FORJ NEXTINEXTJ 26 4 嵌套循环应选用不同的循环变量例 FORI 1 FORJ NEXTJ FORJ NEXTJNEXTI 27 例6 9 求1 1 2 1 2 3 1 2 3 n n由用户输入 分析 PrivateSubForm Click N Val Text1 Text Sum 0ForI 1ToNSum1 0ForJ 1ToISum1 Sum1 JNextJSum Sum Sum1NextIText2 Text SumEndSub 28 例6 10 公鸡5个钱一只 母鸡三个钱一只 小鸡一个钱三只 要用100个钱买100只鸡 问公鸡 母鸡 和小鸡各买几只 设 公鸡X只 母鸡Y只 小鸡Z只X Y Z 1005X 3Y Z 3 100X 0 1 20 Y 0 1 33 PrivateSubForm Click DimIAsInteger JAsInteger KAsIntegerPrintTab 5 公鸡 Tab 15 母鸡 Tab 25 小鸡 ForI 0To20ForJ 0To33ForK 0To100Step3IfI 5 J 3 K 3 100AndI J K 100ThenPrintTab 5 I Tab 15 J Tab 25 KEndIfNextK J IEndSub 29 例6 11 数字灯谜 有算式 A B C D为非负一位数字 要求找出满足以上算式的A B C D 30 PrivateSubForm Click DimAAsInteger BAsInteger CAsInteger DAsIntegerDimS1AsInteger S2AsInteger S3AsIntegerForA 1To9ForB 0To9ForC 1To9ForD 0To9S1 A 1000 B 100 C 10 DS2 C 100 D 10

温馨提示

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

评论

0/150

提交评论