已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualBasic程序设计教程(第3版),2,第4章VB控制结构,4.1顺序结构4.2选择结构4.3循环结构4.4其它辅助控制语句4.5综合应用4.6程序调试,3,4.1顺序结构,VB具有结构化程序设计的三种程序控制结构:顺序结构、选择结构、循环结构,是程序设计的基础。,本章目录,(1)顺序结构各语句按出现的先后次序执行,用传统流程图表示为,4,(2)选择结构,根据条件决定执行的语句,5,(3)循环结构,I、当型循环结构,II、直到型循环结构,根据条件重复执行语句(称为循环体),6,4.1顺序结构一般程序设计语言中顺序结构的语句主要:赋值语句和输入/输出语句等。在VB中赋值语句输入/输出通过:文本框控件、标签控件、InputBox函数、MsgBox函数和过程Print方法等来实现。,7,4.1.1赋值语句,形式:变量名表达式对象名.属性名=表达式功能:计算表达式的值,再将此值赋给变量或对象属性。给变量赋值和设定属性是VB编程中常见的两个任务。例如:n=n+1计数累加Text1.Text清除文本框的内容Text1.Text欢迎使用VB文本框显示字符串,本章目录,8,赋值语句注意点,“=”符号有两个意义赋值号与表示等于的关系运算符都用“=”表示,系统会根据所处的位置判断符号的意义。赋值号左边只能是变量,不能是常量、常数符号、表达式。下面均为错误的赋值语句:Now()=x+y左边是表达式(函数)5=sqr(s)+x+y左边是常量X+y=z左边是表达式,本章目录,9,赋值语句的两个常见形式,(1)累加sum=sum+x(2)计数n=n+1,10,4.1.2数据的输入和输出,1.标签和文本框(1)标签利用标签的Caption属性输出数据。(2)文本框利用文本框的Text属性获得用户输入的数据或将计算的结果输出。例如:r=Val(Text1.Text),11,2.输入对话框InputBox函数其作用是打开一个对话框,等待用户输入,返回字符串类型的输入值。形式:InputBox(提示,标题,默认值,x坐标位置,y坐标位置),本章目录,注意:提示项不能省略。若要多行提示,可在每行行末加回车换行vbCrLf。,例4.1利用InputBox输入基本工资和营业额,按营业额的5%提成,计算实发工资并显示。,12,作用:打开一个消息框,等待用户选择一个按钮。MsgBox函数返回所选按钮的值MsgBox过程不返回值MsgBox函数形式:变量%=MsgBox(提示,按钮,标题)MsgBox过程形式:MsgBox提示,按钮,标题按钮项是一整型表达式,决定信息框按钮的数目和类型及出现在信息框上的图标形式。,3.消息对话框MsgBox函数和过程,13,MsgBox按钮设置,14,MsgBox所选按钮返回值,例4.2编一账号和密码输入的检验程序,当输入不正确,如账号为非数字字符,密码不正确等,显示有关信息,再输入。,15,4.Print方法,作用:在对象上输出信息。形式:对象.PrintSpc(n)|Tab(n)输出列表;|,其中:对象:窗体、图形框或打印机。缺省为窗体。Spc(n)函数:从当前位置起空n个空格Tab(n)函数:从最左端开始计算的第n列分号:定位在上一个被显示的字符之后逗号:定位在下一个打印区开始处(每区14列)Print语句尾无分号或逗号,输出后换行例4.3Print方法输出图形利用String函数显示重复字符利用循环结构、Spc、Tab函数显示有规律图形,16,5.Format格式输出函数,形式:Format(表达式,格式字符串)常用数值格式化符及举例,例4.4利用Format函数显示数值。,17,4.2选择结构,计算机要处理的问题往往是复杂多变的,仅采用顺序结构是不够的。必须利用选择结构等来解决实际应用中的各种问题。VB中主要通过If条件语句和Select情况语句来实现。它们都是对条件进行判断,根据判断结果,选择执行不同的分支。,本章目录,18,4.2.1If条件语句,1.IfThen语句(单分支结构)IfThen语句块(可以是一句或多句语句)EndIf或IfThen表达式:关系表达式、逻辑表达式,算术表达式。表达式值按非零为True,零为False进行判断。该语句的作用是当表达式的值为True,执行Then后面的语句块,否则不做任何操作。,IF演示,19,单分支结构,例:已知两个数x和y,比较它们的大小,使得x大于y。IfxyThent=xx=yy=tEndIf或Ifx=AAndUCase(ch)=0Andch=9Then数字字符MsgBox(ch+是数字字符)Else除上述字符以外的字符MsgBox(ch+是其他字符)EndIf,不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分支不再执行;若条件都不满足,且有Else子句,则执行该语句块,否则什么也不执行。ElseIf不能写成ElseIf,多分支结构例,24,指If或Else后面的语句块中又包含If语句。If表达式1ThenIf表达式2ThenEndIfEndIf,IfxyThent=x:x=y:y=tIfyz用一个IF语句和一个嵌套的IF语句实现,25,4.2.2SelectCase语句,SelectCase变量或表达式Case表达式列表1语句块1Case表达式列表2语句块2CaseElse语句块n+1EndSelect,表达式列表与变量或表达式的类型必须相同,是下面4种形式之一:表达式例:A一组用逗号分隔的枚举值2,4,6,8表达式1To表达式260To100Is关系运算符表达式Is0Andy0ThenMsgBox(在第一象限)ElseIfx0ThenMsgBox(在第二象限)ElseIfx0Andy0Andy0MsgBox(“在第一象限”)Casex0MsgBox(“在第二象限”)Casex0Andyy,x,y)该语句与如下语句等价:IfxyThenTmax=xElseTmax=y,29,4.2.3条件函数,(2)Choose函数Choose(整数表达式,选项列表)根据表达式的值i,返回选项列表中第i个选项。如果整数表达式的值越出选项范围时,返回Null。例根据Nop的值,得到+、-、中的某运算符:Op=Choose(Nop,+,-,)例4.10根据当前日期,显示今日是星期几。t=Choose(Weekday(Now),“星期日”,“星期一”,“星期二”,“星期三”,“星期四”,“星期五”,“星期六”)MsgBox(今天是:&Now&t),DimnopAsInteger,opAsCharRandomize()nop=Int(Rnd()*4+1)op=Choose(nop,+,-,)MsgBox(nop=&nop&op=&op),30,4.3循环结构,计算机最擅长的功能之一就是按规定的条件,重复执行某些操作。例如,按照人口某增长率,对人口增长统计;根据各课程的学分、绩点和学生的成绩,统计每个学生的平均绩点等。这类问题都可通过循环结构来方便地实现。VB中提供了主要两类循环语句:For循环语句(一般已知循环次数);Do条件型循环语句(一般未知循环次数).,31,4.3.1For循环语句,For循环语句用于控制循环次数预知的循环结构。For循环变量初值To终值Step步长语句块ExitFor语句块Next循环变量循环变量必须为数值型。循环次数,例4.11计算1100的奇数和,Dimi%,sum%Fori=1To100Step2sum=sum+iNextiMsgBox(sum),32,For循环语句,循环流程:(1)循环变量被赋初值,它仅被赋值一次。(2)判断循环变量是否在终值内,如果是,执行循环体;如果否,结束循环,执行Next的下一语句。(3)循环变量加步长,转(2),继续循环,33,4.3.2DoLoop循环语句,Do循环用于控制循环次数未知的循环结构。形式1:DoWhile|Until语句块ExitDo语句块Loop形式1为先判断后执行,有可能一次也不执行;形式2为先执行后判断,至少执行一次。,形式2:Do语句块ExitDo语句块LoopWhile|Until,34,DoLoop流程,35,循环例题,例4.13我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿。解此问题两种方法,可根据公式:,直接利用标准函数对数可求得,但求得的年数不为整数;也可利用循环求得。,36,4.3.3循环的嵌套,在一个循环体内又包含了一个完整的循环结构称为循环的嵌套。循环嵌套对For循环语句和DoLoop语句均适用。例4.14打印九九乘法表,思考:打印上三角或下三角程序如何改动?,37,4.4其他辅助控制语句,4.4.1GoTo语句无条件地转移到标号或行号指定的那行语句。GoTo标号|行号注意:标号是字符序列,首字符必须为字母,标号后应有冒号;行号是一个数字序列;例4.15判断输入的数是否为素数素数就是除1和本身以外,不能被其他任何整数整除的数。根据此定义,判别某数m是否为素数最简单的方法就是依次用i=2m-1去除,只要有一个数能整除m,m就不是素数;否则m是素数。,要求一定范围内的素数,只要将m作为外循环体变量。,38,4.4.2退出和结束语句,1.Exit语句VB中有多种形式的Exit语句,用于退出某种控制结构的执行。Exit的形式如下:ExitFor、ExitDo、ExitSub、ExitFunction2.End语句独立的End语句用于结束一个程序的运行,它可以放在任何事件过程中。,39,4.5综合应用,例4.16由计算机自动产生四则运算题,并能判断答案的正确性。设计思路:(1)为了减少输入和增加试题内容的随机性,通过随机函数Rnd产生试题的操作数和运算符,操作数范围是110,运算符+、-、可对应编号14,产生表达式通过Form_Load事件过程。(2)当产生表达式后,学生在文本框内输入结果后按回车键,在图形框显示正确与否的判断结果。(3)当单击“计分”按钮时,计算机显示得分结果。本题主要将随机函数、If语句、Select语句综合在一起使用。,本章目录,40,4.5综合应用-级数求和,例4.18求自然对数e的近似值,其误差小于0.00001。,近似公式,分析:本例涉及到程序设计中两个重要运算:累加、连乘i!。累加:在原有和的基础上再加一个数;连乘:在原有积的基础上再乘以一个数。该题先求i!,再将1/i!进行累加,循环次数未知,可先设置一个次数很大的值,然后在循环体内判断是否到达精度,也可用DoWhile来实现。,41,4.6程序调试,随着程序的复杂性提高,程序中的错误也伴随而来。对初学者,看到出现错误不要害怕,关键是如何改正错误,失败是成功之母。上机的目的,不光是为了验证你编写的程序的正确性,还要通过上机调试,学会查找和纠正错误的方法和能力。VB为调试程序提供了一组交互的、有效的调试工具。,42,4.6.1错误类型,语法错误、运行时错误和逻辑错误三类。1、语法错误,43,2、运行错误,指令代码执行了一非法操作引起的。例如,类型不匹配、试图打开一个不存在的文件等。程序会自动中断,并给出有关的错误信息。,44,3、逻辑错误,程序运行后,得不到所期望的结果,这说明程序存在逻辑错误。例如,运算符使用不正确、语句的次序不对、循环语句的起始、终值不正确等。通常,逻辑错误不会产生错误提示信息,故错误较难排除,需要程序员仔细地阅读分析程序,并具有调试程序的经验。,45,4.6.2调试和排错,VB的三种模式1、设计模式(设计)可以进行程序的界面设计、属性设置、代码编写等。2、运行模式(运行)执行启动命令进入运行模式。在此阶段,可以查看程序代码,但不能修改。3、中断模式(Break)执行中断命令,进入中断模式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年烟台市市区转业军官安置考试备考试题及答案详解
- 2026年五河县机关事业单位招募就业见习人员35人笔试备考题库及答案详解
- 2026-2027学年第一学期河南技师学院代课教师招聘(第二批)考试备考题库及答案详解
- 2026湖北武汉市同济医学院附属小学招聘厨房工作人员10人考试备考题库及答案详解
- 2026年8月巴东县城市公共交通发展有限公司公交驾驶员招聘技能操作考试考试备考试题及答案详解
- 巴中市恩阳区2026年度公开招聘园区产业发展服务专员补充考试参考题库及答案详解
- 2026常德科技职业技术学院公开招聘工作人员15人考试参考题库及答案详解
- 2026年湖南株洲市公共交通集团有限责任公司无人售票车驾驶员招聘考试备考试题及答案详解
- 2026年重庆市铜梁区石鱼镇面向社会公开招聘社区专职工作人员1人考试备考题库及答案详解
- 2026福建厦门大学嘉庚学院机电工程与自动化学院实验技术人员(车辆)招聘1人笔试模拟试题及答案详解
- 人力资源共享服务-深度研究
- DB51T 2834-2021 四川省页岩气生产安全规程
- 云南省相对集中行政处罚权事项指导目录(2024年版)
- 2022浪潮信创服务器CS5260H2技术白皮书
- 部队营房课件教学课件
- Unit1-Unit3 (单元测试)-2024-2025学年人教PEP版(2024)英语三年级上册
- 人教版高中物理必修二同步练习及答案
- 总体概述施工组织总体设想、方案针对性及施工标段划分
- (正式版)JBT 8579-2024 内燃机 进、排气管
- 手持式氨气检测仪
- 《光伏发电工程预可行性研究报告编制规程》(NB/T32044-2018)中文版
评论
0/150
提交评论