欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    VB结构化程序设计.ppt

    • 资源ID:6522733       资源大小:342.50KB        全文页数:140页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VB结构化程序设计.ppt

    ,第5章 VB结构化程序设计,VB应用程序的执行是由事件驱动的,当用户触发某一事件时执行相应的事件过程,这些事件过程之间并没有特定的执行次序。,但在每一个事件过程内部,是有一定的执行控制流程的,这就是通常所说的三种基本结构:顺序结构、选择结构、循环结构。顺序结构是最简单的一种结构,该结构按语句排列的先后顺序执行。,5.1 顺序结构,一条一条地书写指令,如果按照指令的书写顺序执行,这种结构就叫顺序结构。,复习旧课:窗体的主要属性 窗体的属性决定了窗体的外观和操作。对象的大部分属性可用两种方法来设置:通过属性窗口设置和通过程序代码设置。有少量的属性不能在程序代码中设置。,(1)Caption 属性 设置窗体的标题内容。标题内容应概括说明本窗体作用。(2)MaxButton 属性和 MinButton 属性 MaxButton为True,窗体右上角有最大化按钮;为False时,无最大化按钮。MinButton 属性为True,窗体右上角有最小化按钮;为False时,无最小化按钮。,(3)BorderStyle 属性 决定窗体边框式样及窗体是否能调整大小。(4)BackColor属性和ForeColor 属性 BackColor属性设置窗体的背景颜色;ForColor 属性设置窗体的前景颜色。窗体的前景颜色是执行Print方法时所显示文本的颜色。,(5)Height属性和Width属性 设置窗体的初始高度和宽度。其单位为Twip。1Twip=1/20点=1/1440英寸=1/567厘米。,(6)Left属性和Top属性 用于设置窗体左边框距屏幕左边界的距离和窗体顶边距屏幕顶端的距离。其单位为Twip。,(7)Name(名称)属性 设置窗体的名称,在程序代码中用这个名称引用该窗体。新建工程时,窗体的名称缺省为 Form1;添加第二个窗体,其名称缺省为 Form2,以此类推。为了便于识别,用户通常给 Name 属性设置一个有实际意义的名称。,(8)Enabled属性 属性值为True或False,设置对象是否能够对用户产生的事件做出反应。一般在程序中设置,用于临时屏蔽对窗体或其他控件的的控制。,(9)Moveable属性 属性值为True或False,设置是否可以移动窗体。,(10)Visible属性 属性值为True或False,设置窗体是否被显示。用户可用该属性在程序代码中控制窗体的隐现。,(11)Picture属性 设置在窗体中显示的图片。单击Picture属性右边的按钮,弹出“加载图片”对话框,用户可选择一个图片文件作为窗体的背景图片。若在程序中设置该属性的值,需要使用LoadPicture函数。,(12)WindowState属性 设置窗体启动后的大小状态。它有三个可选值:0-Normal:窗体大小由Height和Width属性决定。1-Minimized:窗体最小化成图标。2-Maximized:窗体最大化,充满整个屏幕。,在VB中,虽然不同的对象有不同的属性集合,但有一些属性,如Name、Enabled、Visible、Height、Width、Left、Top等,其他控件也具有,且具有相似的作用。在后续的章节中,我们主要介绍各种控件常用的特殊属性。,事件 窗体最常用的事件有三种:Click(单击)、DblClick(双击)、Load(装入)。,(1)Click事件 程序运行后,单击窗体触发该事件。(2)DblClick事件 程序运行后,双击窗体触发该事件。,(3)Load事件 Load事件是窗体被装入内存工作区时触发的事件。如果这个事件过程存在,就马上执行它。Load事件过程通常用于启动程序时对属性、变量的初始化,装载数据等。,5.1顺序结构5.1.1 数据输入和输出,1.Print方法 格式:对象名.Print 表达式列表。功能:在对象上输出表达式的值。,(1)对象名:可以是Form(窗体)、Debug(立即窗口)、Picture(图片框)、Printer(打印机)。省略此项,表示在当前窗体上输出。,例如:Print 23*2=;23*2 在当前窗体上输出23*2=46Picture1.Print Good 在图片框Picture1上输出Good Printer.Print Morning 在打印机上输出Morning,(2)表达式列表:是一个或多个表达式,若为多个表达式,则各表达式之间“,”或“;”隔开。省略此项,则输出一空行。,(3)用“,”分隔各表达式时,各项在以14个字符位置为单位划分出的区段中输出,每个区段输出一项;用“;”分隔各表达式时,各项按紧凑格式输出。,(4)如果在语句行末尾有“;”,则下一个Print输出的内容,将紧跟在当前Print输出内容后面;如果在语句行末尾有“,”,则下一个Print输出的内容,将在当前Print输出内容的下一区段输出;如果在语句行末尾无分隔符,则输出完本语句内容后换行,即在新的一行输出下一个Print的内容。,例如:Print 1;2;3 Print 4,5,Print 6 Print 7,8 Print Print 9,10,输出结果为:1 2 34 5 67 89 10,(4)定位输出 Print方法中,可以使用Tab函数对输出项进行定位。例如:Print Tab(10);姓名;Tab(25);年龄 则“姓名”和“年龄”分别从当前行的第10列和第25列开始输出。,输出结果如下:姓名 年龄 在使用Tab函数时,要将输出的内容放在Tab函数的后面,并用“;”隔开。,Tab函数的格式为Tab(n),其中n为整数表达式,用它来指定输出的起始位置。Print方法中,还可以使用Spc函数,例如:Print 后面有8个空格;Spc(8);前面有8个空格,输出结果如下:后面有8个空格 前面有8个空格 Spc函数格式为Spc(n),其中n为整数表达式,表示在下一个输出项之前插入的空格数,Spc函数与各输出项之间必须用“;”隔开。,2 Cls方法 格式:对象名.Cls 功能:Cls方法清除Print方法显示的文本或在图片框中显示的图形,并把输出位置移到对象的左上角。格式中的对象可以是窗体或图片框,如果省略对象名,则清除当前窗体的显示内容。,3输入函数Inputbox,我们知道,文本框可以接收用户的输入。输入框也可以接受用户的输入,但是其风格和用法有别于文本框。VB提供的InputBox函数可生成输入框。例如:p$=InputBox(请输入密码,密码框)执行该语句后,屏幕上显示如图所示的输入框。,输入框,用户可在文本区输入数据,然后按“确定”按钮,函数返回值是用户在文本区输入数据,其类型为字符型。如果用户然后按“取消”按钮,则函数返回值是空字符串。,每执行一次InputBox函数,用户只能输入一个数据,另外,输入框的样式是固定的,用户不能改变。用户能改变的是输入框的“提示”和“标题”的内容,“提示”和“标题”都是字符串表达式。,InputBox函数的一般格式:InputBox(提示,标题,缺省值,x坐标位置,y坐标位置),其中各参数的含义如下:“提示”:必选项。字符串表达式,在对话框中作为提示信息。若要在多行显示提示信息,则可以在各行之间用vbNewLine来分隔,vbNewLine是代表换行的常量。,例如:InputBox(第一行&vbNewLine&第二行)“标题”:字符串表达式,在对话框中标题区显示,若省略,则标题为应用程序名。,“缺省值”:字符串表达式,在没有其它输入时作为缺省值。“x坐标位置”、“y坐标位置”:整数表达式。坐标确定对话框左上角在屏幕上的位置,屏幕左上角为坐标原点,单位为Twip。1Twip=1/567厘米。,需要注意的是:各项参数次序必须一一对应,除了“提示”不能省略外,其余各项均可省略,但省略部分也要用逗号占位符跳过。,例如:f$=InputBox(第一行&vbNewLine&第二行,ddd,200,200)【例】已知圆半径,求圆周长和圆面积。,4Msgbox 函数,执行VB提供的MsgBox函数,可以在屏幕上出现一个消息框,消息框通知用户消息并等待用户来选择消息框中的按钮,MsgBox函数返回一个与用户所选按钮相对应的整数。,MsgBox函数的格式:MsgBox(提示,按钮数值,标题)例如:inta=MsgBox(“密码错”,21,“密码核对”)执行该语句后,屏幕上显示如图所示的消息框。,在MsgBox函数格式中,“提示”和“标题”的含义同InputBox函数。“按钮数值”是三个数值之和,这三个数值分别代表钮的数目及类型,使用的图标样式,及缺省按钮是什么。,本例“按钮数值”21,是从上面三个表中各取一个数相加而得。注意:每个表只能取一个数。系统会自动把它分解成分别属于上面三个表中的三个值5,16,0。这种分解是唯一的。其含义是:消息框中有“”图标,有“重试”及“取消”两个按钮,缺省按钮是“重试”按钮。,当用户单击消息框中的一个按钮后,消息框即从屏幕上消失。在上面的语句中,将函数的返回值赋给了变量inta,在程序中可引用inta作相应的处理。,MsgBox函数的返回值是根据用户单击哪个按钮而定的。通常,在程序中要根据MsgBox函数返回值的不同作不同的处理,这需要用到第四章中介绍的选择结构方面的知识。,MsgBox也可以写成语句形式,例如:MsgBox 密码错,密码核对 执行此语句也产生一个消息框。,MsgBox语句没有返回值,因此常用于比较简单的信息提示。,5.1.2 注释语句、暂停与结束语句,1 注释语句 为了提高程序的可读性,通常在程序的适当位置加上必要的注释。在VB中用“”或Rem来标识一条注释语句,格式为:,|Rem 例如:Rem 2009年编写Private Sub Form_click()Dim a$定义一个字符串变量 a=Visual Basic6.0中文版 为变量赋值 print a 打印a的内容End Sub,2.暂停语句,Stop语句的主要作用是把解释程序置为中断模式,以便检查和调试。在程序调试结束后,生成可执行文件之前,应删去所有stop语句。,3.结束语句 格式:End End语句用来结束程序的执行,并关闭已打开的文件。,5.2选择结构,在程序设计中经常需要根据不同的情况采用不同的处理。例如,一元二次方程的求根问题,要根据判别式小于零或大于等于零的情况,采用不同的数学表达式进行计算。对于这类问题,必须借助选择结构。,5.2.1 行If语句,格式:If 条件 then 语句1 Else 语句2 功能:当条件满足时,执行语句1;条件不满足时,执行语句2。【例】任意输入三个数,找出其中的最大值。,程序代码如下:Private Sub Command1_Click()Dim a As Single,b As Single,c As Single,max As Singlea=Text1.Textb=Text2.Textc=Text3.Textmax=aIf b max Then max=b,If c max Then max=cText4.Text=maxEnd Sub,5.2.2 块If,块If的格式、功能 格式:If 条件 then 语句块1 Else 语句块2 End If,说明:1“条件”一般为关系表达式或逻辑表达式。通常把关系表达式或逻辑表达式的值为真时,称为条件满足;值为假时,称为条件不满足。反之亦然。,2语句块1、语句块2分别是“条件”满足或不满足时,处理方法的描述,可以是若干个语句。3IfThen、Else、End If 是VB的保留字。,功能:块If首先判断“条件”,其值为真时,执行语句块1;为假时执行语句块2。当缺省Else中的内容时,该选择结构只对条件满足的情况进行处理。执行过程如图所示。,块If执行过程,块If的嵌套 所谓块If语句的嵌套,就是在语句块1或语句块2中又包含块If语句。,注意:1保持块If结构的完整,不要漏掉End If。2尽量采用缩进式书写格式,使结构清晰。3尽量选择恰当的条件,使程序简单明了。,5.2.3 多分支语句,当对一个表达式的不同取值情况作不同处理时,用ElseIf语句程序结构显得较为杂乱,而用Select Case语句将使程序的结构更清晰,Select Case语句又称为情况语句。,格式:Select Case 测试表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2,Case 表达式列表n 语句块n Case Else 语句块n+1 End Select,功能:根据“测试表达式”的值,选择第一个符合条件的语句块执行。,Select Case语句的执行过程是:先求“测试表达式”的值,然后顺序测试该值符合哪一个Case子句中情况,如果找到了,则执行该Case子句下面的语句块,然后执行End Select下面的语句;如果没找到,则执行Case Else下面的语句块,然后执行End Select下面的语句。,说明:1“测试表达式”可以是数值型或字符串型表达式;2“表达式列表”形式有以下三种:,(1)一个表达式或用逗号隔开的若干表达式 例如:Case 2,4,6,8 表示的情况是:测试表达式的值等于2,4,6,8之一。,(2)表达式1 To表达式2 例如:Case 80 To 90 表示的情况是:80测试表达式90。(3)Is 关系运算符 表达式 例如:Case Isx2 表示的情况是:测试表达式 x2。,5.3 循环概述,所谓循环就是重复地执行一组语句。在实际工作中,常遇到一些操作过程不复杂但需要反复进行相同处理的问题,这些问题如果单纯用顺序结构来处理,将得到一个非常乏味且冗长的程序。,例如,计算1100所有奇数的平方和,如果用顺序结构来解决这个问题,我们就会给出下面的程序:,Private Sub Form_Click()Dim s&,x%s=0 x=1 s=s+x 2 x=x+2 s=s+x 2,x=x+2 s=s+x 2 x=x+2 x的值累加到99 s=s+x 2 Print 1100之间所有奇数的平方和=;sEnd Sub,我们用循环语句解决上面的问题,程序非常简短:Private Sub Form_Click()Dim s sEnd Sub,VB提供了三种不同风格的循环语句,它们分别是:(1)ForNext语句;(2)DoLoop 语句;(3)WhileWend语句。我们将对这三种循环语句逐一介绍。,5.3.1 ForNext循环,For循环的一般格式如下:For 循环变量=初值 To 终值 Step 步长 循环体 Next 循环变量,说明:1格式中各项的说明(1)循环变量:亦称为循环控制变量,必须为数值型变量。(2)初值、终值:都是数值型,可以是数值表达式。,(3)步长:循环变量的增量,是一个数值表达式。一般来说,其值为正,初值应小于终值;若为负,初值应大于终值。但步长不能是0。如果步长是1,Step 1可略去不写。,(4)循环体:在For语句和Next语句之间的语句序列。(5)Next后面的循环变量与For语句中的循环变量必须相同。,2执行过程 For循环语句的执行过程如下:(1)系统将初值赋给循环变量,并自动记下终值和步长。,(2)检查循环变量的值是否超过终值。如果超过就结束循环,执行Next后面的语句;否则,执行一次循环体。,(3)执行Next语句,将循环变量增加一个步长值再赋给循环变量,转到(2)继续执行。以上执行过程用流程图描述,如图所示。,For循环语句执行流程,这里所说的“超过”有两种含义,即大于或小于。当步长为正值时,循环变量大于终值为“超过”;当步长为负值时,循环变量小于终值为“超过”。我们通过分析下面的程序来进一步理解For语句的执行过程。,For n=1 To 10 Step 3 Print n,Next n,具体执行情况如下:,上面程序的执行结果为:1 4 7 10,3其它说明(1)循环次数计算公式为:循环次数=Int(终值-初值)/步长)+1,(2)循环控制变量通常用整型数,也可以用单精度数或双精度数。值得注意的是,无论初值、终值和步长值是什么数值类型,最后都要转换成循环控制变量的类型。,【例】求N!(N为自然数)。分析:由阶乘的定义,我们可以得出N!=1*2*(N-2)*(N-1)*N=(N-1)!*N,也就是说,一个自然数的阶乘,等于该自然数与前一个自然数阶乘的乘积,,程序如下:Private Sub Form_Click()Dim I%,f#,n%n=InputBox(输入一个自然数:,输入提示,10),f=1 For I=1 To n f=f*I Next I Print n;!=;fEnd Sub,【例】求值。计算公式如下:,分析:不难看出,结果由n项分式相乘得到,只要给定了n值,用For-Next语句可以非常容易地实现。注意,n值越大,结果越接近值。,程序如下:Private Sub Form_Click()Dim I%,n%,p#n=InputBox(请输入n的值(1-32767))p=1 For I=1 To n,p=p*(4*I*I)/(2*I-1)*(2*I+1)Next I p=2*p Print n=;n;时,=;pEnd Sub,5.3.3 While.循环,前面我们介绍了ForNext循环,它适合于解决循环次数事先能够确定的问题。对于只知道控制条件,但不能预先确定需要执行多少次循环体的情况,我们可以使用While循环。,语句格式如下:While 条件 循环体 Wend,1While语句说明“条件”可以是关系表达式或逻辑表达式。While循环就是当给定的“条件”为True时,执行循环体,为False时不执行循环体。因此While循环也叫当型循环。,2执行过程 While循环的执行过程:(1)执行While语句,判断条件是否成立。,(2)如果条件成立,就执行循环体;否则,转到(4)执行。(3)执行Wend语句,转到(1)执行。(4)执行Wend语句下面的语句。,While语句执行流程,结合下面的程序段,我们做进一步的说明:x=1 While x5 Print x,x=x+1 Wend,上面的程序就是在x5的条件下,重复执行语句print x。每次执行循环之前,都要计算条件表达式的值。如果条件求值的结果为True,则执行循环体,然后再对条件进行计算判断,从而确定是否再次执行循环体;如果结果为False,则结束循环,执行Wend下面语句。,该程序段的执行结果是:1 2 3 4,3While循环的几点说明(1)While 循环语句本身不能修改循环条件,所以必须在循环体内设置相应语句,使得整个循环趋于结束,以避免死循环。,(2)While循环语句先对条件进行判断,然后才决定是否执行循环体。如果开始条件就不成立,则循环体一次也不执行。,(3)凡是用ForNext循环编写的程序,我们都可以用WhileWend语句实现。反之,则不然。例:求最大的N,使得N!1000,Dim n As Integer,p As Integer,i As Integer i=0 p=1 While p 1000 i=i+1 p=p*i Wend p=p/i n=i-1 Print n&!=&p&1000”,5.3.2 DoLoop循环结构,与前面介绍的While循环相比,Do循环具有更强的灵活性,它可以根据需要决定是条件满足时执行循环体,还是一直执行循环体直到条件满足。Do循环有两种语法形式。,格式1:Do while|until Loop 说明:格式1是先判断,后执行。其执行过程如图所示。,Do While Loop执行流程,Do Until Loop执行流程,格式2:Do Loop while|until 说明:格式2是先执行,后判断。,Do Loop While执行过程,Do Loop Until执行过程,值得注意的是,关键字While用于指明条件成立时执行循环体,直到条件不成立时结束循环;而Until则正好相反,条件不成立时执行循环体,直到条件满足才退出循环。,5.5 循环的嵌套,在一个循环体内又包含了一个完整的循环,这样的结构称为多重循环或循环的嵌套。在程序设计时,许多问题要用二重或多重循环才能解决。,我们前面学过的For循环、While循环、Do循环都可以互相嵌套。二重循环的执行过程是外循环执行一次,内循环执行一遍,在内循环结束后,再进行下一次外循环,如此反复,直到外循环结束。,打印九九乘法表。分析:打印九九乘法表,只要利用循环变量作为乘数和被乘数就可以方便的解决。,程序如下:Private Sub Form_Click()Dim i%,j%,str$Print Tab(35);九九乘法表 For i=1 To 9 For j=1 To 9,str=i Next j Print Next iEnd Sub,程序运行结果,对于循环的嵌套,要注意以下事项:(1)在多重循环中,各层循环的循环控制变量不能同名。但并列循环的循环控制变量名可以相同,也可以不同。,(2)外循环必须完全包含内循环,不能交叉。下面的程序段都是错误的:For I=1 To 100 For I=1 To 100 For J=1 To For I=1 To 10,Next I Next I Next J Next I(a)内外循环交叉(b)内外循环控制 变量同名,5.6 循环的退出,在某些情况下,为了减少循环次数或便于程序调试,可能需要提前强制退出循环。VB为ForNext和DoLoop循环语句提供了相应的强制退出循环的语句。,1Exit For 用于ForNext循环,在循环体中可以出现一次或多次。当系统执行到该语句时,就强制退出当前循环。常见的使用方式是:If 条件 Then Exit For 即当循环执行过程中满足某个条件时,就执行循环退出语句结束循环。,2Exit Do 用于DoLoop循环,具体用法同Exit For一样。例如,我们要在100010000之间找一个既能被3整除又能被7整除的数,则可用下面的程序实现。,Private Sub Form_Click()Dim n%n=1000 Do While n=10000 If n Mod 3=0 And n Mod 7=0 Then,Print n Exit Do End If n=n+1 LoopEnd Sub,

    注意事项

    本文(VB结构化程序设计.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开