您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第四章VB程序设计概述§4.1结构化程序设计
第四章VB程序设计概述§4.1结构化程序设计§4.2顺序结构§4.4循环结构§4.3选择结构§4.5综合应用程序举例4.1结构化程序设计程序设计方法经历了手工编程、结构化程序设计方法和面向对象的程序设计方法几个阶段。VB作为一种面向对象的程序设计语言,既继承了结构化程序设计的优点,又采用了面向对象、事件驱动的编程机制。就整个工程来说,它是由许多面向对象的事件过程组成的,程序运行过程中通过触发事件,驱动执行相应的事件过程来实现程序员的意图。4.1.1算法及其表示算法是解决问题的方法和步骤。要用计算机来解决一个实际问题,编程时,首先要设计解决这个问题的算法(方法和步骤)。例将两个变量x和y的值进行交换,设x=10,y=20。分析:变量是存储单元的代名词,存储器可以反复地“读”,“写”,如果直接交换,即x=y:y=x,则x原来的值被覆盖其结果x和y的值都是20。在此可借助一个中间变量t作为一个临时的“容器”。算法为:–步骤1:将x的值暂存在t中;–步骤2:将y的值存入x中;–步骤3:将t的值存入y中。算法的几种表示方法:自然语言、伪代码、PAD图、流程图、N-S结构流程图等等。流程图也称为框图,它是用一些几何图形、流向线和文字说明来表示各种类型的操作。常用的几种图符如图所示。4.1.1算法及其表示表示任务的开始或结束表示任务中的命令序列表示任务执行的走向表示对条件进行判断2连接点处理框开始打开电脑打开IE键入键结束开始星期六天晴?结束去烧烤Y去自习N来看两个小例子:4.1.2结构化程序设计结构化程序设计基本思想之一:任何程序都可以采用顺序、选择、循环三种基本结构来构造。这三种结构可以任意组合、嵌套,构造各种复杂的程序。基本结构只有一个入口和一个出口。1、顺序结构:程序流程按照一个方向进行,依次执行各语句。2、选择结构:程序流程出现一个或多个分支,按一定的条件选择其中之一执行,也叫分支结构。中间可以有两条或多条分支。4.1.2结构化程序设计3、循环结构:程序流程按一定的条件重复多次执行一段程序(循环体)。循环结构按退出循环的条件可分为当型(While)循环结构和直到型(Until)循环结构。有效的循环只允许有限次的重复。当型循环:条件成立时执行循环体,条件不成立时退出循环;直到型循环:条件不成立时执行循环体,条件成立时退出循环。当型循环直到循环4.1.2结构化程序设计三种基本结构有如下共同特点:–只有一个入口,一个出口。–无死语句,所谓“死语句”是指始终执行不到的语句。–无死循环,即循环次数是有限的。4.2顺序结构顺序结构是一种最简单的算法结构,也是程序设计中最简单、最常用得基本结构。其特点是:算法的每一个操作按照各自出现的先后顺序从上到下线性执行。用程序处理实际问题时,常常需要用户输入数据或要求程序输出数据。下面介绍几个语句,并由它们组成顺序结构。这些语句包括赋值语句、输入输出语句等。§4.2.1赋值语句格式:目标操作符=源操作符功能:把源操作符的值赋给目标操作符。源操作符:变量、表达式、常量及带有属性的对象目标操作符:变量和带有属性的对象=:赋值号例:Data=15Text1.text=Str(Data)x=x+2S$=“Welcome”注意:(1)赋值语句兼有计算和赋值双重功能;(2)“=”是赋值号,与数学上的等号意义不同;(3)“目标操作符”和“源操作符”的数据类型通常要求一致,但VB提供的对某些数据类型的自动转换机制,可强制变量转换为适当的数据类型。赋值兼容与数据溢出§4.2.4注释、暂停与程序结束格式:‘注释内容或Rem注释内容(1)注释语句是非执行语句。(2)任何字符均可放在注释语句中作为注释内容。示例:‘ThisisateststatementRem计算圆的周长a=3:b=4:c=5‘a,b,c为三角形的边注释语句暂停语句格式:Stop说明:(1)可放置在过程中的任何地方,相当于在程序代码中设置断点,类似于执行“运行”菜单中的“中断”命令。(2)执行Stop语句时,系统将自动打开“立即窗口”,方便程序员调试跟踪程序。(3)程序调试结束后,生成可执行文件之前,应删除代码中的所有Stop语句。结束语句格式:End功能:通常用来结束一个程序的执行。在不同环境下的其他用途:EndSub:结束一个Sub过程;EndFunction:结束一个Function过程;EndIf:结束一个If语句块;EndType:结束记录类型的定义;EndSelect:结束情况语句。§4.2.2数据输入InputBox函数格式:Inputbox[$](prompt[,title][,default][,xpos,ypos][,helpfile,context])参数说明:(1)xpos:指定对话框的左边与屏幕左边的距离;(2)ypos:指定对话框的上边与屏幕上边的距离;(3)helpfile:字符串表达式,识别帮助文件,用该文件为对话框提供上下文相关的帮助;(4)context:数值表达式,由帮助文件的作者指定给某个帮助主题的帮助上下文编号,它与Helpfile参数必须同时提供或省略;Inputbox[$](prompt[,title][,default])(1)prompt:对话框中的提示消息字符串表达式;(2)title:对话框标题栏中的字符串表达式;(3)default:文本框中的字符串表达式,在无其它输入时作为缺省值;若省略default,则文本框为空。标题提示字符串用户输入区默认值【例】设计一个程序,由用户输入一个华氏温度F,程序可将其转换为摄氏温度C。转换公式为C=5/9*(F-32)PrivateSubCommand1_Click()EndSubPrivateSubCommand2_Click()EndEndSubDimFAsLong,CAsLongF=Val(InputBox(请输入华氏温度,例4-1))C=5/9*(F-32)Text1.Text=FText2.Text=C华氏摄氏温度互换§4.2.3数据输出Print方法格式:[对象名.]Print[表达式表]说明:(1)“对象名”可以是窗体、立即窗口、图片框、打印机等的名称(Name属性),若省略对象名在当前窗体上输出;(2)“表达式表”是一个或多个表达式,可为数值表达式(求出表达式的值然后输出)或字符串(原样输出)。如若省略,则输出一空行;(3)多个表达式之间可以用以下分隔符隔开:“,”:标准输出格式,每14列作为一个输出区段“;“:紧凑格式输出(4)当输出数值数据时,数值的前面有一个符号位,后面有一个空格,而字符串前后都没有空格。1218161519151614列为1个输出区与Print方法有关的函数Tab[(n)]功能:与Print方法一起使用,在参数n指定的位置输出其后的表达式的值。说明:(1)n是数值表达式,值为整数,若省略,则将输出点移动到下一个输出区(每个输出区占14列)的起点;(2)若n小于1,则tab将输出位置移动到第1列;(3)一个print方法中使用多个Tab函数时,每个Tab函数对应一个输出项,各项之间用分号隔开。如:PrintTab(10);“Good”;tab(26);”Morning”Spc(n)功能:与Print方法一起使用,使光标从当前位置跳过n个空格,对输出进行定位。注意:(1)Tab函数中的n:相对于屏幕最左端第1列而言的列号;(2)Spc函数中的n:相对于前一输出项的最后1个字符所在列而言跳过的空格数。Tab函数与Spc函数的比较415201016Format[$](数值表达式,格式字符串)功能:使数值表达式的值按“格式字符串”制定的某种格式输出。(1)数值格式化输出:见P61表4-2(2)日期和时间格式化输出:见P61表4-3例①PrintFormat(12345.6,“###,###.##”)输出:12,345.6例②PrintFormat(Now,“yyyy年m月dd日hh:mm”)输出:2007年4月12日MsgBox函数和MsgBox语句格式:MsgBox(msg[,type][,title])MsgBox函数标题提示字符串由Type指定的按钮数目、形式和图标MsgBox函数的返回值是1~7的整数(或相应的符号常量),分别对应7种命令按钮(见P63表4-5)。函数功能是,根据接收到的用户响应信息,决定程序下一步进行的操作。MsgBox(msg[,[type][,title]])参数说明:(1)msg:对话框提示消息字符串;`(2)type:整数值或字符常量,用来控制在对话框内显示的按钮、图标的种类及数量;(见P63表4-4)(3)title:对话框的标题字符串。MsgBox语句格式:MsgBoxMsg$,[type][,title]说明:(1)各参数的含义及作用与MsgBox函数相同;(2)但MsgBox语句没有返回值,它仅是一个简单语句,因此常被用于简单的信息显示。由MsgBox函数或MsgBox语句所显示的对话框有一个共同特点:在出现对话框后,用户必须作出选择,否则不能执行其他任何操作。Msgbox§4.3选择结构特点:根据给定的条件是否满足,来决定下一步所要执行的操作。【例】如果星期天天晴,我们就去浏阳河边烧烤;否则,我们就在教室自习。?三种形式:单行结构、块结构、多分支结构(情况语句)§4.3.1单行结构条件语句【例】如果星期天天晴,我们就去浏阳河边烧烤;否则,我们就在教室自习。if条件then语句1语句2else格式:If条件Then语句1[Else语句2]其中,“条件”通常是关系表达式或逻辑表达式;“语句1”和“语句2”可以是简单句或复合句;Else子句为可选项。条件条件语句(序列)1True语句1True下一个语句False下一个语句语句2Else功能:无ELSE选项条件取值为“真”,执行语句(序列)1;条件取值为“假”,语句(序列)1就不执行。有ELSE选项条件取值为“真”,执行语句1;条件取值为“假”,执行语句2。注意:(1)格式中的If、Then、Else是关键字,并且一定要配对使用;(2)条件一定要是一个逻辑表达式,也就是说条件的结果一定要是真值或假值;(3)语句是条件判断之后需要执行的命令,它可以是一条命令,也可以是一组命令。【例】试编一个程序,要求输入任意两个数,然后把它们按照从大到小的顺序输出。开始给a、b赋值ab?依次输出a、b值N依次输出b、a的值YDimA,BAsSinglea=InputBox(“请输入a的值:”)b=InputBox(“请输入b的值:”)IfabThenprintb;aElseprinta;b结束交换a、b的值【例】判断一个学生的成绩是否及格。PrivateSubCommand1_Click()Ifval(Text1.text)60ThenText2=及格ElseText2=不及格Endsub简单的选择结构可以使用IIf()函数实现。格式:IIf(条件,True部分,False部分)功能:当“条件”为真时,函数返回值为True部分的值当“条件”为假时,函数返回值为False部分的值说明:(1)条件是逻辑表达式或关系表达式;(2)True部分和False部分是表达式,它们的返回值必须与结果变量类型一致。Ifx=1Theny=1Elsey=1/xIIf(x=1,1,1/x)IIF函数使用§4.3.2块结构条件语句命令格式:If条件1Then语句块1[ElseIf条件2Then语句块2]………[Else语句块n]EndIf功能:若“条件1”成立,执行“语句块1”;否则若“条件2”成立,执行“语句块2”;……若上述条件均不成立,执行“语句块n”。注意:(1)嵌套使用(单行或块嵌套)时,If命令不得交叉;(2)遵循就近配对原则。【例】输入系数a,b和c,求二次方程ax2+bx+c=0的实根。开始输入a,b,cd=b2-4acd0d=0N
本文标题:第四章VB程序设计概述§4.1结构化程序设计
链接地址:https://www.777doc.com/doc-4610761 .html