选择分支与循环课件_第1页
选择分支与循环课件_第2页
选择分支与循环课件_第3页
选择分支与循环课件_第4页
选择分支与循环课件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

第5章选择分支与循环

学习目标:掌握If条件语句和SelectCase选择语句掌握For…Next和Do…Loop循环语句掌握两重循环,了解多重循环了解Exit、End语句掌握程序的简单调试方法第5章算法基础及VB基本语句

教学内容:

5.1分支结构与分支结构语句5.2循环结构与循环结构语句5.3程序示例5.1分支结构与分支结构语句选择结构:当设定条件成立时执行某些语句,条件不成立时则跳过这些语句或执行其它的语句。选择结构中要使用选择语句,有两路分支和多路分支两种情况,对应的选择语句有If语句(两路出口)和SelectCase语句(多路出口)。

返回目录Data>=90?输出“优秀”YesNo输出“合格”输出“计算完毕”5.1分支结构与分支结构语句-If条件语句2.If<表达式>Then<语句1>Else<语句2>

Endif例如,DimDataAsIntegerData=InputBox("请输入成绩:")IfData>=90ThenPrint"优秀"ElsePrint"合格“endif

Print"计算完毕"

上例的If语句可以改写为:

IfData<90ThenPrint"合格"ElsePrint"优秀"endif返回目录5.1分支结构与分支结构语句-If条件语句

3.块状If语句返回目录If<条件表达式>Then<语句块>EndIf

[例]

If<条件表达式>Then<语句块1>Else<语句块2>EndIf

A=InputBox(“A值”):B=InputBox("B值")PrintA,B

IfA<BThenT=A:A=B:B=TEndIf

PrintA,B

5.1分支结构与分支结构语句-If条件语句4.If语句嵌套

If语句嵌套使用可形成多分支的条件语句结构

If

<条件表达式1>Then<语句1>

ElseIf

<条件表达式2>Then<语句2>

Else<语句3>EndIf返回目录说明:

ElseIf之间不要加空格。

Else和位于其上方的最近的If配对5.1分支结构与分支结构语句-示例例5-1已知三角形三条边的长度,设计求此三角形面积的程序。5.1分支结构与分支结构语句-SelectCase选择语句[例5-2]学生成绩分等

privatesubform_click()Data=InputBox("请输入一个成绩","成绩分等")SelectCaseInt(Data/10)Case10MsgBox"满分",,"成绩分等"Case9MsgBox"优秀",,"成绩分等"Case8MsgBox"良好",,"成绩分等"Case7MsgBox"一般",,"成绩分等"Case6MsgBox"合格",,"成绩分等"CaseElseMsgBox"不合格",,"成绩分等"EndSelectEndsub单击窗体确定5.1分支结构与分支结构语句-SelectCase选择语句[例5-3]测试输入的字符

Char=InputBox("请输入一个字符","测试")SelectCaseCharCase"0"To"9"MsgBox"字符是数字",,"测试"Case"a"To"z"MsgBox"字符是小写字母",,"测试"Case"A"To"Z"MsgBox"字符是大写字母",,"测试"CaseElseMsgBox"字符是其它符号",,"测试"EndSelect用if语句改写。确定单击窗体5.2

循环语句-Do…Loop循环1.当型循环

返回目录DoWhile<条件表达式>循环体LoopDo循环体LoopWhile<条件表达式>

条件表达式成立?循环体NoYes条件表达式成立?循环体NoYes先判断后执行

先执行后判断特点:条件表达式成立执行循环体内容

5.2

循环语句-Do…Loop循环2.直到型循环

返回目录DoUntil<条件表达式>循环体LoopDo循环体LoopUntil<条件表达式>特点:条件表达式不成立执行循环体内容

先判断后执行

条件表达式成立?循环体NoYes先执行后判断条件表达式成立?循环体NoYes5.2

循环语句-Do…Loop循环[例5-3]设计采用欧几里德算法求解两个自然数的最大公约数的程序。步骤:1.输入两个自然数M、N;2.求M除以N的余数R;3.使M=N,即用N代换M;4.使N=R,即用R代换N;5.若R<>0,则重复执行步骤2、3、4,否则转步骤6;6.输出M,M即为M和N的最大公约数。5.2循环语句-For…Next循环[例5-4]求1+3+5+7+…+99PrivateSubForm_Click()DimSumAsInteger,IAsIntegerSum=0'保存累加和,先清零

ForI=1To99Step2Sum=Sum+INextIMsgBox"1+3+5+…+99="&Sum,,"求和"EndSub

返回目录本例的特点是数据项之间相差2,即Step的值为2

思考:例中当输出对话框出现时,I的值是多少?For语句能不能改写成ForI=99To1Step-2?

5.2循环语句-For…Next循环[例5-5]从一个由字母、数字组成的字符串中找出所有大写字母并逆序输出的程序。重点:从字符串中逐个字符判定该字符是否是大写字母知识点:1.函数len,mid2.连接运算符&5.2

循环语句-示例

[例]Sum=1+2+3+…+N求Sum不超过10000的最大整数值和数据项数N

PrivateSubForm_Click()DimSum,NAsIntegerN=0'开始时项数为0Sum=0'保存累加值的变量Sum清零DoWhileSum<=10000N=N+1Sum=Sum+NLoopSum=Sum-NN=N-1Print"Sum=";Sum,"N=";NEndSub当Sum的值超出10000时循环才终止。因此Sum值要减去多加的一个N;而在循环过程中,N也被多加了一个1,需要减去。

5.2循环语句-两重循环两重循环:在一个循环的循环体中还包含另一个循环[例]输出乘法口诀表Privatesubform_click()fori=1to9'I控制行数(9行)

forj=1toi'J控制每行输出I个值(两两乘积

)Printi;"*";j;"=";i*j;nextjprint'打印换行nextIEndsub5.2循环语句-两重循环[例5-6]一个模拟摇奖程序。重点:产生随机数。知识点:函数rnd

产生下限~上限范围之间的随机数表达式:int((上限-下限+1)*rnd+下限)

5.3程序示例[5-8]编写一个按月收入额计个人收入调节税的应用程序。知识点:选择结构5.3程序示例[例3.20]判断一个正整数是否为素数(质数)N=InputBox("请输入一个正整数","验证素数")ForI=2ToN-1IfNModI=0Then

ExitForEndIfNextI

温馨提示

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

评论

0/150

提交评论