版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章VisualBasic控制结构主讲教师:刘潇(计科系)联系电话Q:421877450E-mail:liuxiao528@163.com1本章讨论VisualBasic中除顺序结构之外的流程控制语句,包括选择结构、多分支结构及循环结构语句。目录7.1选择控制结构多分支控制结构7.2For循环控制结构7.3当循环控制结构7.47.5Do循环控制结构多重循环7.6GoTo型控制7.77.1选择控制结构If...Then语句格式:
If条件Then语句或If条件Then语句块EndIf功能:如果条件成立(值为真),则执行Then后面的语句或语句块,否则直接执行下一条语句或“EndIf”的下一条语句。7.1选择控制结构编写一段代码实现:单击窗体,在弹出的输入对话框中输入成绩(CJ)数值,当成绩(CJ<60时),显示“成绩不及格”,换行显示“请参加补考”。PrivateSubForm_Click()CJ=Val(InputBox("请输入成绩数值:","成绩判断"))If
CJ<60
Then
Print"成绩不及格"Print"请参加补考"EndIfEndSub7.1选择控制结构If...Then...Else语句格式:
If条件Then语句块1(A)Else语句块2(B)EndIf功能:首先测试条件,当条件成立时,执行语句块1;当条件不成立时,执行语句块2。执行完语句块2之后,执行“EndIf”之后的语句。7.1选择控制结构输入三个数:a、b、c,求出其中最大数。PrivateSubCommand1_Click()DimaAsSingle,bAsSingleDimcAsSingle,mAsSinglea=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)Ifa<bThenm=bElsem=aEndIf
Ifm<cThenm=cText4.Text=mEndSub7.1选择控制结构IIf函数格式:
result=IIf(条件,True部分,False部分)功能:当“条件”为真时,IIf函数返回“True部分”,而当“条件”为假时返回“False部分”。例如:将a、b中的小数,放在Min变量中。
Min=IIf(a<b,a,b)7.1选择控制结构ElseIf格式格式:
If条件1Then语句块1[ElseIf条件2Then语句块2][ElseIf条件3Then语句块3]......[Else语句块n]EndIf功能?7.1选择控制结构输入学生成绩(百分制),判断该成绩的等级(优良、及格、不及格)PrivateSubCommand1_Click()DimscoreAsInteger,tempAsStringscore=Val(Text1.Text)temp="成绩等级为:"Ifscore<0ThenLabel2.Caption="成绩出错"ElseIfscore<60ThenLabel2.Caption=temp+"不及格"ElseIfscore<=79ThenLabel2.Caption=temp+"及格"ElseIf
score<=100ThenLabel2.Caption=temp+"优良"ElseLabel2.Caption="成绩出错"EndIfEndSub7.2多分支控制结构SelectCase语句格式:SelectCase测试表达式Case表达式表列1[语句块1][Case表达式表列2[语句块2]]......[CaseElse[语句块n]]EndSelect功能:先计算表达式的值,然后将该值依次与结构中的每个Case值进行比较,如果该值符合某个Case指定的值条件时,就执行该Case的语句块,然后跳到EndSelect,从EndSelect出口。如果没有相符合的Case值,则执行CaseElse中的语句块。三种写法:Case1,3,5Case60To80CaseIs<507.2多分支控制结构输入学生成绩(百分制),判断该成绩的等级(优良、及格、不及格)PrivateSubCommand1_Click()DimscoreAsInteger,tempAsStringscore=Val(Text1.Text)temp="成绩等级为:"SelectCasescore
Case
0to59Label2.Caption=temp+"不及格"
Case60to79Label2.Caption=temp+"及格"
Case80to100Label2.Caption=temp+"优良"
CaseElseLabel2.Caption="成绩出错"EndSelectEndSub7.2多分支控制结构输入两个运算数和运算符(+、-、*、/),组成算式并计算结果,然后显示出来。PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,tAsSingle,sAsStringa=Val(Text1.Text)b=Val(Text2.Text)SelectCaseTrue
CaseOption1.Values="+":t=a+b
CaseOption2.Values="-":t=a-b
CaseOption3.Values="*":t=a*b
CaseOption4.Values="/":t=a/bEndSelectText3.Text=a&s&b&"="&tEndSub7.3For循环控制结构For...Next循环语句格式:
For循环变量=初值To终值[Step步长值]循环体Next循环变量功能:本语句指定循环变量取一系列数值,并且对循环变量的每一个值把循环体执行一次。初值、终值和步长值都是数值表达式步长值为正数时,为递增循环;反之,为递减循环。若步长值为1,则Step1可以省略。7.3For循环控制结构求S=1+2+3+4…+98+99+100采用Print在窗体上直接输出结果PrivateSubForm_Load()Shows=0
Fork=1To100s=s+k
NextPrint"s=";sEndSub结果:7.3For循环控制结构求T=8!=1×2×3×4…×8采用Print在窗体上直接输出结果PrivateSubForm_Load()Show
t=1
For
c=1To
8
t=t
*
c
NextPrint"T=";tEndSub结果:7.4当循环控制结构While...Wend循环语句格式:
While条件循环体Wend功能:当条件成立时,执行循环体;当条件不成立时,终止循环。与For循环的区别:For:对循环体执行指定的次数;While:在指定的条件为True时重复一语句序列(循环体)的执行。7.4当循环控制结构求T=8!=1×2×3×4…×8采用Print在窗体上直接输出结果采用While...Wend循环语句PrivateSubForm_Load()DimcAsIntegerShowt=1c=1
Whilec<=8t=t*cc=c+1WendPrint"T=";tEndSub结果:7.5Do循环控制结构Do...Loop循环语句格式1:
Do[{While|Until}条件]
循环体Loop功能:当指定的“循环条件”为真或直到指定的“循环条件”变为真之前,重复执行循环体格式2:
Do
循环体
Loop[{While|Until}条件]7.5Do循环控制结构Do…LoopUntil循环逻辑框图Do…LoopWhile循环逻辑框图7.5Do循环控制结构DoUntil…Loop循环逻辑框图
DoWhile…Loop循环逻辑框图7.5Do循环控制结构求S=12+22+…+1002采用DoWhile...Loop语句采用Print直接在窗体上输出结果,程序代码PrivateSubForm_load()DimnAsInteger,sAsLongShown=1:s=0
DoWhilen<=100s=s+n*nn=n+1
LoopPrint"s=";sEndSub程序运行结果:S=3383507.5Do循环控制结构输入两个正整数,求它们的最大公约数用“辗转相除法”算法:求出m/n余数p,若p=0,n即为最大公约数;若p非0,则把原来的分母n作为新的分子m,把余数p作为新的分母n继续求解。PrivateSubcommand1_click()DimmAsInteger,nAsInteger,pAsIntegerm=Val(Text1.Text)n=Val(Text2.Text)
Ifm<=0Orn<=0ThenMsgBox"数据错误!"EndEndIfDop=mModnm=nn=p
LoopWhilep<>0Text3.Text=mEndSub补充:循环控制结构循环出口语句格式:Exit{For|Do}
功能:直接从For循环或Do循环中退出当程序运行时遇到Exit语句时,就不再执行循环体中的任何语句而直接退出,转到循环语句(Next、Loop)的下面继续执行补充:循环控制结构设计一个“加法器”程序,把每次输入的数累加。当输入-1时结束程序的运行。PrivateSubForm_load()
DimxAsSingle,SumAsSingleShowSum=0DoWhileTrue
x=Val(InputBox(“请输入要加入的数_(-1表示结束)","输入数据"))
Ifx=-1Then
ExitDo
EndIfSum=Sum+xText1.Text=SumLoopMsgBox"累加运算结束“EndSub7.6多重循环多重循环程序示例PrivateSubForm_load()Show
Fori=1To3'外循环
Forj=5To7'内循环
Printi,j
Nextj
NextiEndSub多重循环是指循环体内含有循环语句的循环注意内、外循环层次要分清,不能交叉。程序运行结果:1 51 61 72 52 62 73 53 63 77.6多重循环编一程序,输出下列所示的图形。
本例可采用两重循环来实现。外循环控制输出7行,内循环控制每行输出要求的字符数。在进入内循环之前,使用PrintTab()来对起始输出位置定位,退出内循环后,使用Print来控制换行。7.6多重循环编一程序,输出下列所示的图形。PrivateSubForm_load()Show
Fori=1To7PrintTab(10-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025vi合同范本范文
- 2024年离婚房产分配合同模板
- 2024年专业:服装吊牌与包装印刷合同3篇
- 2024年平行进口车售后服务网点建设与销售合同3篇
- 商丘师范学院《畜牧业经营管理》2023-2024学年第一学期期末试卷
- 商洛职业技术学院《交通信息系统》2023-2024学年第一学期期末试卷
- 汕尾职业技术学院《中学历史课程标准解读与教材研究》2023-2024学年第一学期期末试卷
- 陕西中医药大学《前厅管理实务实验教学》2023-2024学年第一学期期末试卷
- 知名企业建筑工程园建工程施工技术标准规范图示手册
- 2024至2030年金属刷子项目投资价值分析报告
- SWITCH暗黑破坏神3超级金手指修改 版本号:2.7.4.84040
- 广东省广州市黄埔区2023-2024学年数学四年级第一学期期末达标检测试题含答案
- 控制计划(空白)
- 菜鸟驿站转让合同协议
- 国开大学2023年01月11836《会计制度设计》期末考试答案
- 《汽车机械基础与识图》期末考试试卷及答案
- 浙江省消防技术规范难点问题操作技术指南(2020版)
- 国家开放大学《供应链管理》形考作业1-4参考答案
- 量具使用方法的培训
- 探寻中国茶一片树叶的传奇之旅2023章节测试答案-探寻中国茶一片树叶的传奇之旅超星尔雅答案
- 部编版初中语文七至九年级语文教材各册人文主题与语文要素汇总一览表合集单元目标能力点
评论
0/150
提交评论