《VB结构化程序设计》PPT课件.ppt

上传人:wuy****n92 文档编号:54733457 上传时间:2022-10-29 格式:PPT 页数:140 大小:320KB
返回 下载 相关 举报
《VB结构化程序设计》PPT课件.ppt_第1页
第1页 / 共140页
《VB结构化程序设计》PPT课件.ppt_第2页
第2页 / 共140页
点击查看更多>>
资源描述

《《VB结构化程序设计》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《VB结构化程序设计》PPT课件.ppt(140页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 第第5 5章章 VBVB结构化程序设计结构化程序设计 顺序结构顺序结构5.1选择结构选择结构5.2循环结构循环结构5.3 VB VB应用程序的执行是由事件驱动的,应用程序的执行是由事件驱动的,当用户触发某一事件时执行相应的事件过当用户触发某一事件时执行相应的事件过程,这些事件过程之间并没有特定的执行程,这些事件过程之间并没有特定的执行次序。次序。但在每一个事件过程内部,是有一定但在每一个事件过程内部,是有一定的执行控制流程的,这就是通常所说的三的执行控制流程的,这就是通常所说的三种基本结构:顺序结构、选择结构、循环种基本结构:顺序结构、选择结构、循环结构。顺序结构是最简单的一种结构,该结构。

2、顺序结构是最简单的一种结构,该结构按语句排列的先后顺序执行。结构按语句排列的先后顺序执行。5.1 5.1 顺序结构顺序结构一条一条地书写指令,如果按照指令的书一条一条地书写指令,如果按照指令的书写顺序执行,这种结构就叫顺序结构。写顺序执行,这种结构就叫顺序结构。复习旧课:窗体的主要属性复习旧课:窗体的主要属性 窗体的属性决定了窗体的外观和操作。窗体的属性决定了窗体的外观和操作。对象的大部分属性可用两种方法来设置:对象的大部分属性可用两种方法来设置:通过属性窗口设置和通过程序代码设置。通过属性窗口设置和通过程序代码设置。有少量的属性不能在程序代码中设置。有少量的属性不能在程序代码中设置。(1 1

3、)Caption Caption 属性属性 设置窗体的标题内容。标题内容应概设置窗体的标题内容。标题内容应概括说明本窗体作用。括说明本窗体作用。(2 2)MaxButton MaxButton 属性和属性和 MinButton MinButton 属性属性 MaxButton为为True,窗体右上角有最,窗体右上角有最大化按钮;为大化按钮;为False时,无最大化按钮。时,无最大化按钮。MinButton 属性为属性为True,窗体右上角有最,窗体右上角有最小化按钮;为小化按钮;为False时,无最小化按钮。时,无最小化按钮。(3 3)BorderStyle BorderStyle 属性属性

4、决定窗体边框式样及窗体是否能调整决定窗体边框式样及窗体是否能调整大小。大小。(4 4)BackColorBackColor属性和属性和ForeColor ForeColor 属属性性 BackColor属性设置窗体的背景颜色;属性设置窗体的背景颜色;ForColor 属性设置窗体的前景颜色。窗体属性设置窗体的前景颜色。窗体的前景颜色是执行的前景颜色是执行Print方法时所显示文本方法时所显示文本的颜色。的颜色。(5 5)HeightHeight属性和属性和WidthWidth属性属性 设置窗体的初始高度和宽度。其单位设置窗体的初始高度和宽度。其单位为为TwipTwip。1Twip=1/201T

5、wip=1/20点点=1/1440=1/1440英寸英寸=1/567=1/567厘米。厘米。(6 6)LeftLeft属性和属性和TopTop属性属性 用于设置窗体左边框距屏幕左边界的用于设置窗体左边框距屏幕左边界的距离和窗体顶边距屏幕顶端的距离。其单距离和窗体顶边距屏幕顶端的距离。其单位为位为TwipTwip。(7 7)NameName(名称)属性(名称)属性 设置窗体的名称,在程序代码中用这设置窗体的名称,在程序代码中用这个名称引用该窗体。新建工程时,窗体的个名称引用该窗体。新建工程时,窗体的名称缺省为名称缺省为 Form1Form1;添加第二个窗体,其;添加第二个窗体,其名称缺省为名称缺

6、省为 Form2Form2,以此类推。为了便于,以此类推。为了便于识别,用户通常给识别,用户通常给 Name Name 属性设置一个有属性设置一个有实际意义的名称。实际意义的名称。(8 8)EnabledEnabled属性属性 属性值为属性值为TrueTrue或或FalseFalse,设置对象是否,设置对象是否能够对用户产生的事件做出反应。一般在能够对用户产生的事件做出反应。一般在程序中设置,用于临时屏蔽对窗体或其他程序中设置,用于临时屏蔽对窗体或其他控件的的控制。控件的的控制。(9 9)MoveableMoveable属性属性 属性值为属性值为TrueTrue或或FalseFalse,设置是

7、否可以,设置是否可以移动窗体。移动窗体。(1010)VisibleVisible属性属性 属性值为属性值为TrueTrue或或FalseFalse,设置窗体是否,设置窗体是否被显示。用户可用该属性在程序代码中控被显示。用户可用该属性在程序代码中控制窗体的隐现。制窗体的隐现。(1111)PicturePicture属性属性 设置在窗体中显示的图片。单击设置在窗体中显示的图片。单击PicturePicture属性右边的按钮,弹出属性右边的按钮,弹出“加载图片加载图片”对话框,用户可选择一个图片文件作为对话框,用户可选择一个图片文件作为窗体的背景图片。若在程序中设置该属性窗体的背景图片。若在程序中设

8、置该属性的值,需要使用的值,需要使用LoadPictureLoadPicture函数。函数。(1212)WindowStateWindowState属性属性 设置窗体启动后的大小状态。它有三设置窗体启动后的大小状态。它有三个可选值:个可选值:0-Normal:0-Normal:窗体大小由窗体大小由HeightHeight和和WidthWidth属属性决定。性决定。1-Minimized:1-Minimized:窗体最小化成图标。窗体最小化成图标。2-Maximized:2-Maximized:窗体最大化,充满整个屏窗体最大化,充满整个屏幕。幕。在在VBVB中,虽然不同的对象有不同的属中,虽然不

9、同的对象有不同的属性集合,但有一些属性,如性集合,但有一些属性,如Name Name、EnabledEnabled、VisibleVisible、HeightHeight、WidthWidth、LeftLeft、TopTop等,其他控件也具有,且具有相似的作等,其他控件也具有,且具有相似的作用。在后续的章节中,我们主要介绍各种用。在后续的章节中,我们主要介绍各种控件常用的特殊属性。控件常用的特殊属性。事件事件 窗体最常用的事件有三种:窗体最常用的事件有三种:ClickClick(单(单击)、击)、DblClickDblClick(双击)、(双击)、LoadLoad(装入)。(装入)。(1 1)

10、ClickClick事件事件 程序运行后,单击窗体触发该事件。程序运行后,单击窗体触发该事件。(2 2)DblClickDblClick事件事件 程序运行后,双击窗体触发该事件。程序运行后,双击窗体触发该事件。(3 3)LoadLoad事件事件 LoadLoad事件是窗体被装入内存工作区时事件是窗体被装入内存工作区时触发的事件。如果这个事件过程存在,就触发的事件。如果这个事件过程存在,就马上执行它。马上执行它。LoadLoad事件过程通常用于启动事件过程通常用于启动程序时对属性、变量的初始化,装载数据程序时对属性、变量的初始化,装载数据等。等。顺序结构顺序结构5.1.1 5.1.1 数据输入和

11、输出数据输入和输出方法方法 格式:格式:对象名对象名.Print.Print 表达式列表表达式列表。功能:在对象上输出表达式的值。功能:在对象上输出表达式的值。(1 1)对象名:)对象名:可以是可以是FormForm(窗体)、(窗体)、DebugDebug(立即窗(立即窗口)、口)、PicturePicture(图片框)、(图片框)、PrinterPrinter(打(打印机)。省略此项,表示在当前窗体上输印机)。省略此项,表示在当前窗体上输出。出。例如:例如:Print 23*2=Print 23*2=;23*2 23*2 在当前窗在当前窗体上输出体上输出23*2=4623*2=46Pictu

12、re1.Print Good Picture1.Print Good 在图片在图片框框Picture1Picture1上输出上输出Good Good Morning Morning 在打印机上输出在打印机上输出Morning Morning (2 2)表达式列表:)表达式列表:是一个或多个表达式,若为多个表达是一个或多个表达式,若为多个表达式,则各表达式之间式,则各表达式之间“,”或或“;”隔开。隔开。省略此项,则输出一空行。省略此项,则输出一空行。(3 3)用)用“,”分隔各表达式时,各分隔各表达式时,各项在以项在以1414个字符位置为单位划分出的个字符位置为单位划分出的区段中输出,每个区段

13、输出一项;用区段中输出,每个区段输出一项;用“;”分隔各表达式时,各项按紧凑分隔各表达式时,各项按紧凑格式输出。格式输出。(4 4)如果在语句行末尾有)如果在语句行末尾有“;”,则下一个则下一个PrintPrint输出的内容,将紧跟输出的内容,将紧跟在当前在当前PrintPrint输出内容后面;输出内容后面;如果在语句行末尾有如果在语句行末尾有“,”,则下一,则下一个个PrintPrint输出的内容,将在当前输出的内容,将在当前PrintPrint输出内容的下一区段输出;输出内容的下一区段输出;如果在语句行末尾无分隔符,则输出如果在语句行末尾无分隔符,则输出完本语句内容后换行,即在新的一行完本

14、语句内容后换行,即在新的一行输出下一个输出下一个PrintPrint的内容的内容。例如例如:Print 1 Print 1;2 2;3 3 Print 4 Print 4,5 5,Print 6 Print 6 Print 7 Print 7,8 8 Print Print Print 9 Print 9,1010 输出结果为输出结果为:1 2 31 2 34 5 64 5 67 87 89 109 10 (4 4)定位输出)定位输出 PrintPrint方法中,可以使用方法中,可以使用TabTab函数对输函数对输出项进行定位。出项进行定位。例如:例如:Print Tab(10);Print

15、Tab(10);姓名姓名;Tab(25);Tab(25);年龄年龄 则则“姓名姓名”和和“年龄年龄”分别从当前行分别从当前行的第的第1010列和第列和第2525列开始输出。列开始输出。输出结果如下:输出结果如下:姓名姓名 年龄年龄 在使用在使用TabTab函数时,要将输出的内容放函数时,要将输出的内容放在在TabTab函数的后面,并用函数的后面,并用“;”隔开。隔开。Tab Tab函数的格式为函数的格式为Tab(n)Tab(n),其中,其中n n为整为整数表达式,用它来指定输出的起始位置。数表达式,用它来指定输出的起始位置。PrintPrint方法中,还可以使用方法中,还可以使用SpcSpc函

16、数,例如:函数,例如:Print Print 后面有后面有8 8个空格个空格;Spc(8);Spc(8);前面有前面有8 8个空格个空格 输出结果如下:输出结果如下:后面有后面有8 8个空格个空格 前面有前面有8 8个空格个空格 SpcSpc函数格式为函数格式为Spc(n)Spc(n),其中,其中n n为整数为整数表达式,表示在下一个输出项之前插入的表达式,表示在下一个输出项之前插入的空格数,空格数,SpcSpc函数与各输出项之间必须用函数与各输出项之间必须用“;”隔开。隔开。2 Cls 2 Cls方法方法 格式:格式:对象名对象名.Cls.Cls 功能:功能:ClsCls方法清除方法清除Pr

17、intPrint方法显示的方法显示的文本或在图片框中显示的图形,并把输出文本或在图片框中显示的图形,并把输出位置移到对象的左上角。格式中的对象可位置移到对象的左上角。格式中的对象可以是窗体或图片框,如果省略对象名,则以是窗体或图片框,如果省略对象名,则清除当前窗体的显示内容。清除当前窗体的显示内容。3 3输入函数输入函数InputboxInputbox 我们知道,文本框可以接收用户的输我们知道,文本框可以接收用户的输入。输入框也可以接受用户的输入,但是入。输入框也可以接受用户的输入,但是其风格和用法有别于文本框。其风格和用法有别于文本框。VBVB提供的提供的InputBoxInputBox函数

18、可生成输入框。函数可生成输入框。例如:例如:p$=InputBoxp$=InputBox(请输入密码请输入密码 ,密码框密码框 )执行该语句后,屏幕上显示如图所示执行该语句后,屏幕上显示如图所示的输入框。的输入框。标题文本区提示输入框输入框 用户可在文本区输入数据,然后按用户可在文本区输入数据,然后按“确定确定”按钮,函数返回值是用户在文本区按钮,函数返回值是用户在文本区输入数据,其类型为字符型。如果用户然输入数据,其类型为字符型。如果用户然后按后按“取消取消”按钮,则函数返回值是空字按钮,则函数返回值是空字符串。符串。每执行一次每执行一次InputBoxInputBox函数,用户只能函数,用

19、户只能输入一个数据,另外,输入框的样式是固输入一个数据,另外,输入框的样式是固定的,用户不能改变。用户能改变的是输定的,用户不能改变。用户能改变的是输入框的入框的“提示提示”和和“标题标题”的内容,的内容,“提提示示”和和“标题标题”都是字符串表达式。都是字符串表达式。InputBox InputBox函数的一般格式:函数的一般格式:InputBoxInputBox(提示(提示,标题,标题,缺省值,缺省值 ,x x坐标位置坐标位置,y y坐标位置坐标位置)其中各参数的含义如下:其中各参数的含义如下:“提示提示”:必选项。字符串表达式,:必选项。字符串表达式,在对话框中作为提示信息。若要在多行显

20、在对话框中作为提示信息。若要在多行显示提示信息,则可以在各行之间用示提示信息,则可以在各行之间用vbNewLinevbNewLine来分隔,来分隔,vbNewLinevbNewLine是代表换行是代表换行的常量。的常量。例如:例如:InputBox(InputBox(第一行第一行&vbNewLine&vbNewLine&第二行第二行)“标题标题”:字符串表达式,在对话框中:字符串表达式,在对话框中标题区显示,若省略,则标题为应用程序标题区显示,若省略,则标题为应用程序名。名。“缺省值缺省值”:字符串表达式,在没有:字符串表达式,在没有其它输入时作为缺省值。其它输入时作为缺省值。“x x坐标位置

21、坐标位置”、“y y坐标位置坐标位置”:整:整数表达式。坐标确定对话框左上角在屏幕数表达式。坐标确定对话框左上角在屏幕上的位置,屏幕左上角为坐标原点,单位上的位置,屏幕左上角为坐标原点,单位为为TwipTwip。1Twip=1/5671Twip=1/567厘米。厘米。需要注意的是:各项参数次序必须一需要注意的是:各项参数次序必须一一对应,除了一对应,除了“提示提示”不能省略外,其余不能省略外,其余各项均可省略,但省略部分也要用逗号占各项均可省略,但省略部分也要用逗号占位符跳过。位符跳过。例如:例如:f$=InputBox(f$=InputBox(第一行第一行&vbNewLine&vbNewLi

22、ne&第二行第二行,ddd,200,ddd,200,200)200)【例例】已知圆半径,求圆周长和圆面已知圆半径,求圆周长和圆面积。积。4Msgbox 4Msgbox 函数函数 执行执行VBVB提供的提供的MsgBoxMsgBox函数,可以在屏函数,可以在屏幕上出现一个消息框,消息框通知用户消幕上出现一个消息框,消息框通知用户消息并等待用户来选择消息框中的按钮,息并等待用户来选择消息框中的按钮,MsgBoxMsgBox函数返回一个与用户所选按钮相对函数返回一个与用户所选按钮相对应的整数。应的整数。MsgBox MsgBox函数的格式:函数的格式:MsgBoxMsgBox(提示,(提示,按钮数值

23、,按钮数值,标题,标题)例如:例如:inta=MsgBoxinta=MsgBox(“密码错密码错”,2121,“密码核对密码核对”)执行该语句后,屏幕上显示如图所示执行该语句后,屏幕上显示如图所示的消息框。的消息框。在在MsgBoxMsgBox函数格式中,函数格式中,“提示提示”和和“标标题题”的含义同的含义同InputBoxInputBox函数。函数。“按钮数值按钮数值”是三个数值之和,这三个数是三个数值之和,这三个数值分别代表钮的数目及类型,使用的图标值分别代表钮的数目及类型,使用的图标样式,及缺省按钮是什么。样式,及缺省按钮是什么。本例本例“按钮数值按钮数值”2121,是从上面三个,是从

24、上面三个表中各取一个数相加而得。注意:每个表表中各取一个数相加而得。注意:每个表只能取一个数。系统会自动把它分解成分只能取一个数。系统会自动把它分解成分别属于上面三个表中的三个值别属于上面三个表中的三个值5 5,1616,0 0。这种分解是唯一的。其含义是:消息框中这种分解是唯一的。其含义是:消息框中有有“”图标,有图标,有“重试重试”及及“取消取消”两两个按钮,缺省按钮是个按钮,缺省按钮是“重试重试”按钮。按钮。当用户单击消息框中的一个按钮后,当用户单击消息框中的一个按钮后,消息框即从屏幕上消失。在上面的语句中,消息框即从屏幕上消失。在上面的语句中,将函数的返回值赋给了变量将函数的返回值赋给

25、了变量intainta,在程序,在程序中可引用中可引用intainta作相应的处理。作相应的处理。MsgBox MsgBox函数的返回值是根据用户单击函数的返回值是根据用户单击哪个按钮而定的。哪个按钮而定的。通常,在程序中要根据通常,在程序中要根据MsgBoxMsgBox函数返函数返回值的不同作不同的处理,这需要用到第回值的不同作不同的处理,这需要用到第四章中介绍的选择结构方面的知识。四章中介绍的选择结构方面的知识。MsgBox MsgBox也可以写成语句形式,例如:也可以写成语句形式,例如:MsgBox MsgBox 密码错密码错,密码核对密码核对 执行此语句也产生一个消息框。执行此语句也产

26、生一个消息框。MsgBox MsgBox语句没有返回值,因此常用于语句没有返回值,因此常用于比较简单的信息提示。比较简单的信息提示。5.1.25.1.2 注释语句、暂停与结束语句注释语句、暂停与结束语句1 1 注释语句注释语句 为了提高程序的可读性,通常在程序为了提高程序的可读性,通常在程序的适当位置加上必要的注释。在的适当位置加上必要的注释。在VBVB中用中用“”“”或或RemRem来标识一条注释语句,格式为:来标识一条注释语句,格式为:|Rem|Rem 例如:例如:Rem 2009Rem 2009年编写年编写Private Sub Form_click()Private Sub Form_

27、click()Dim a$Dim a$定义一个字符串变量定义一个字符串变量 中文版中文版 为变量赋值为变量赋值 print a print a 打印打印a a的内容的内容End SubEnd Sub2.2.暂停语句暂停语句Stop语句的主要作用是把解释程序置为中语句的主要作用是把解释程序置为中断模式,以便检查和调试。断模式,以便检查和调试。在程序调试结束后,生成可执行文件之前,在程序调试结束后,生成可执行文件之前,应删去所有应删去所有stop语句。语句。3.3.结束语句结束语句 格式:格式:EndEnd End End语句用来结束程序的执行,并关闭语句用来结束程序的执行,并关闭已打开的文件。已

28、打开的文件。选择结构选择结构 在程序设计中经常需要根据不同的情在程序设计中经常需要根据不同的情况采用不同的处理。例如,一元二次方程况采用不同的处理。例如,一元二次方程的求根问题,要根据判别式小于零或大于的求根问题,要根据判别式小于零或大于等于零的情况,采用不同的数学表达式进等于零的情况,采用不同的数学表达式进行计算。对于这类问题,必须借助选择结行计算。对于这类问题,必须借助选择结构。构。5.2.1 5.2.1 行行If If语句语句 格式:格式:If If 条件条件 then then 语句语句1 Else 1 Else 语句语句22 功能:当条件满足时,执行语句功能:当条件满足时,执行语句1

29、 1;条;条件不满足时,执行语句件不满足时,执行语句2 2。【例例】任意输入三个数,找出其中的任意输入三个数,找出其中的最大值。最大值。程序代码如下:程序代码如下:Private Sub Command1_Click()Dim a As Single,b As Single,c As Single,max As Singlemax=aIf b max Then max=b If c max Then max=cText4.Text=maxEnd Sub5.2.2 5.2.2 块块If If 块块IfIf的格式、功能的格式、功能 格式:格式:If If 条件条件 then then 语句块语句块

30、1 1 Else Else 语句块语句块22 End If End If 说明:说明:1 1“条件条件”一般为关系表达式一般为关系表达式或逻辑表达式。或逻辑表达式。通常把关系表达式或逻辑表达通常把关系表达式或逻辑表达式的值为真时,称为条件满足;值式的值为真时,称为条件满足;值为假时,称为条件不满足。反之亦为假时,称为条件不满足。反之亦然。然。2 2语句块语句块1 1、语句块、语句块2 2分别是分别是“条件条件”满足或不满足时,处理方法满足或不满足时,处理方法的描述,可以是若干个语句。的描述,可以是若干个语句。3 3If IfThen Then、ElseElse、End If End If 是是

31、VBVB的保留字。的保留字。功能:功能:块块IfIf首先判断首先判断“条件条件”,其值为真时,其值为真时,执行语句块执行语句块1 1;为假时执行语句块;为假时执行语句块2 2。当缺。当缺省省ElseElse中的内容时,该选择结构只对中的内容时,该选择结构只对条件满足的情况进行处理。执行过程如图条件满足的情况进行处理。执行过程如图所示。所示。F FT T条件满足?条件满足?语句块语句块1 1语句块语句块2 2End IfEnd If下一语句下一语句块块IfIf执行过程执行过程 块块IfIf的嵌套的嵌套 所谓块所谓块IfIf语句的嵌套,就是在语句块语句的嵌套,就是在语句块1 1或语句块或语句块2

32、2中又包含块中又包含块IfIf语句。语句。注意:注意:1 1保持块保持块If If结构的完整,不要结构的完整,不要漏掉漏掉End IfEnd If。2 2尽量采用缩进式书写格式,尽量采用缩进式书写格式,使结构清晰。使结构清晰。3 3尽量选择恰当的条件,使程尽量选择恰当的条件,使程序简单明了序简单明了。5.2.3 5.2.3 多分支语句多分支语句 当对一个表达式的不同取值情况作不当对一个表达式的不同取值情况作不同处理时,用同处理时,用ElseIfElseIf语句程序结构显得较语句程序结构显得较为杂乱,而用为杂乱,而用Select CaseSelect Case语句将使程序的语句将使程序的结构更清

33、晰,结构更清晰,Select CaseSelect Case语句又称为情况语句又称为情况语句。语句。格式:格式:Select Case Select Case 测试表达式测试表达式 Case Case 表达式列表表达式列表1 1 语句块语句块1 1 Case Case 表达式列表表达式列表2 2 语句块语句块2 2 Case Case 表达式列表表达式列表n n 语句块语句块n n Case Else Case Else 语句块语句块n+1n+1 End Select End Select 功能:根据功能:根据“测试表达式测试表达式”的值,选的值,选择第一个符合条件的语句块执行。择第一个符合条

34、件的语句块执行。Select Case Select Case语句的执行过程是:语句的执行过程是:先求先求“测试表达式测试表达式”的值,然后顺序的值,然后顺序测试该值符合哪一个测试该值符合哪一个CaseCase子句中情况,如子句中情况,如果找到了,则执行该果找到了,则执行该CaseCase子句下面的语句子句下面的语句块,然后执行块,然后执行End SelectEnd Select下面的语句;如下面的语句;如果没找到,则执行果没找到,则执行Case ElseCase Else下面的语句块,下面的语句块,然后执行然后执行End SelectEnd Select下面的语句。下面的语句。说明:说明:1

35、 1“测试表达式测试表达式”可以是数值可以是数值型或字符串型表达式;型或字符串型表达式;2 2“表达式列表表达式列表”形式有以下形式有以下三种:三种:(1 1)一个表达式或用逗号隔开的若)一个表达式或用逗号隔开的若干表达式干表达式 例如:例如:Case 2,4,6,8 Case 2,4,6,8 表示的情况是:测试表达式的值等于表示的情况是:测试表达式的值等于2 2,4 4,6 6,8 8之一。之一。(2 2)表达式)表达式1 To1 To表达式表达式2 2 例如:例如:Case 80 To 90 表示的情况是:表示的情况是:80测试表达式测试表达式90。(3 3)Is Is 关系运算符关系运算

36、符 表达式表达式 例如:例如:Case Isx2 表示的情况是:测试表达式表示的情况是:测试表达式 x2。5.3 5.3 循环概述循环概述 所谓循环就是重复地执行一组语句。所谓循环就是重复地执行一组语句。在实际工作中,常遇到一些操作过程在实际工作中,常遇到一些操作过程不复杂但需要反复进行相同处理的问题,不复杂但需要反复进行相同处理的问题,这些问题如果单纯用顺序结构来处理,将这些问题如果单纯用顺序结构来处理,将得到一个非常乏味且冗长的程序。得到一个非常乏味且冗长的程序。例如,计算例如,计算11001100所有奇数的平方和,所有奇数的平方和,如果用顺序结构来解决这个问题,我们就如果用顺序结构来解决

37、这个问题,我们就会给出下面的程序:会给出下面的程序: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&,x%s=0 For x=1 To 99 Step 2 s=s+x 2 Next x Print 1100所

38、有奇数的平方和所有奇数的平方和=;sEnd Sub VB VB提供了三种不同风格的循环语句,提供了三种不同风格的循环语句,它们分别是:它们分别是:(1 1)ForNextForNext语句;语句;(2 2)DoLoop DoLoop 语句;语句;(3 3)WhileWend WhileWend语句。语句。我们将对这三种循环语句逐一介绍。我们将对这三种循环语句逐一介绍。5.3.1 ForNext5.3.1 ForNext循环循环 For For循环的一般格式如下:循环的一般格式如下:For For 循环变量循环变量=初值初值 To To 终值终值 Step Step 步长步长 循环体循环体 Ne

39、xt Next 循环变量循环变量 说明:说明:1 1格式中各项的说明格式中各项的说明(1)循环变量:)循环变量:亦称为循环控制变量,必须为数值型亦称为循环控制变量,必须为数值型变量。变量。(2)初值、终值:)初值、终值:都是数值型,可以是数值表达式。都是数值型,可以是数值表达式。(3 3)步长:)步长:循环变量的增量,是一个数值表达式。循环变量的增量,是一个数值表达式。一般来说,其值为正,初值应小于终值;一般来说,其值为正,初值应小于终值;若为负,初值应大于终值。但步长不能是若为负,初值应大于终值。但步长不能是0 0。如果步长是如果步长是1 1,Step 1Step 1可略去不写。可略去不写。

40、(4 4)循环体:)循环体:在在For语句和语句和Next语句之间的语句序列。语句之间的语句序列。(5 5)NextNext后面的循环变量与后面的循环变量与ForFor语句语句中的循环变量必须相同。中的循环变量必须相同。2 2执行过程执行过程 For循环语句的执行过程如下:循环语句的执行过程如下:(1 1)系统将初值赋给循环变量,并)系统将初值赋给循环变量,并自动记下终值和步长。自动记下终值和步长。(2 2)检查循环变量的值是否超过终)检查循环变量的值是否超过终值。如果超过就结束循环,执行值。如果超过就结束循环,执行NextNext后面的语句;否则,执行一次循环体。后面的语句;否则,执行一次循

41、环体。(3 3)执行)执行NextNext语句,将循环变量增语句,将循环变量增加一个步长值再赋给循环变量,转到加一个步长值再赋给循环变量,转到(2 2)继续执行。)继续执行。以上执行过程用流程图描述,如图所以上执行过程用流程图描述,如图所示。示。ForFor循环语句执行流程循环语句执行流程 这里所说的这里所说的“超过超过”有两种含义,即有两种含义,即大于或小于。当步长为正值时,循环变量大于或小于。当步长为正值时,循环变量大于终值为大于终值为“超过超过”;当步长为负值时,;当步长为负值时,循环变量小于终值为循环变量小于终值为“超过超过”。我们通过分析下面的程序来进一步理我们通过分析下面的程序来进

42、一步理解解ForFor语句的执行过程。语句的执行过程。For n=1 To 10 Step 3 Print n,Next n 具体执行情况如下:具体执行情况如下:第几次循第几次循环环n n 与与终值终值比比较较 执执行循行循环环体体否否1 11 11010执执行行2 24 41010执执行行3 37 7101010停止停止执执行行 上面程序的执行结果为:上面程序的执行结果为:1 4 7 101 4 7 10 3 3其它说明其它说明(1 1)循环次数计算公式为:)循环次数计算公式为:循环次数循环次数=Int=Int(终值(终值-初值)初值)/步长)步长)+1+1 (2 2)循环控制变量通常用整型

43、数,)循环控制变量通常用整型数,也可以用单精度数或双精度数。值得也可以用单精度数或双精度数。值得注意的是,无论初值、终值和步长值注意的是,无论初值、终值和步长值是什么数值类型,最后都要转换成循是什么数值类型,最后都要转换成循环控制变量的类型。环控制变量的类型。【例例】求求N N!(!(N N为自然数)。为自然数)。分析:由阶乘的定义,我们可以得出分析:由阶乘的定义,我们可以得出N N!=1*2*(N-2)*(N-1)*N=(N-1)=1*2*(N-2)*(N-1)*N=(N-1)!*N N,也就,也就是说,一个自然数的阶乘,等于该自然数是说,一个自然数的阶乘,等于该自然数与前一个自然数阶乘的乘

44、积,与前一个自然数阶乘的乘积,程序如下:程序如下:Private Sub Form_Click()Dim I%,f#,n%n=InputBox(输入一个自然数:输入一个自然数:,输入输入提示提示,10)f=1f=1 For I=1 To n For I=1 To n f=f*I f=f*I Next I Next I Print n;!=;f Print n;!=;fEnd SubEnd Sub 【例例】求求值。计算公式如下:值。计算公式如下:分析:不难看出,结果由分析:不难看出,结果由n n项分式相乘项分式相乘得到,只要给定了得到,只要给定了n n值,用值,用For-NextFor-Next

45、语句可语句可以非常容易地实现。注意,以非常容易地实现。注意,n 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 Sub5.3.3 While.5.3.3 While.循环循环 前面我们介绍了前面我们介绍了ForNextForNext循环,它适循环,它适合于解决循环次数事先能够确定的问题。

46、合于解决循环次数事先能够确定的问题。对于只知道控制条件,但不能预先确定需对于只知道控制条件,但不能预先确定需要执行多少次循环体的情况,我们可以使要执行多少次循环体的情况,我们可以使用用WhileWhile循环。循环。语句格式如下:语句格式如下:While While 条件条件 循环体循环体 Wend Wend 1 1WhileWhile语句说明语句说明 “条件条件”可以是关系表达式或逻辑表可以是关系表达式或逻辑表达式。达式。WhileWhile循环就是当给定的循环就是当给定的“条件条件”为为TrueTrue时,执行循环体,为时,执行循环体,为FalseFalse时不执行循时不执行循环体。因此环

47、体。因此WhileWhile循环也叫当型循环。循环也叫当型循环。2 2执行过程执行过程 WhileWhile循环的执行过程:循环的执行过程:(1 1)执行)执行WhileWhile语句,判断条件是否语句,判断条件是否成立。成立。(2 2)如果条件成立,就执行循环体;)如果条件成立,就执行循环体;否则,转到(否则,转到(4 4)执行。)执行。(3 3)执行)执行WendWend语句,转到(语句,转到(1 1)执行。)执行。(4 4)执行)执行WendWend语句下面的语句。语句下面的语句。While While语句执行流程语句执行流程 结合下面的程序段,我们做进一步的结合下面的程序段,我们做进一

48、步的说明:说明:x=1x=1 While x5 While x5 Print x,Print x,x=x+1 x=x+1 Wend Wend 上面的程序就是在上面的程序就是在x5x5的条件下,重复的条件下,重复执行语句执行语句print xprint x。每次执行循环之前,都。每次执行循环之前,都要计算条件表达式的值。如果条件求值的要计算条件表达式的值。如果条件求值的结果为结果为TrueTrue,则执行循环体,然后再对条,则执行循环体,然后再对条件进行计算判断,从而确定是否再次执行件进行计算判断,从而确定是否再次执行循环体;如果结果为循环体;如果结果为FalseFalse,则结束循环,则结束循

49、环,执行执行WendWend下面语句。下面语句。该程序段的执行结果是:该程序段的执行结果是:1 2 3 41 2 3 4 3 3WhileWhile循环的几点说明循环的几点说明(1 1)While While 循环语句本身不能修改循环语句本身不能修改循环条件,所以必须在循环体内设置循环条件,所以必须在循环体内设置相应语句,使得整个循环趋于结束,相应语句,使得整个循环趋于结束,以避免死循环。以避免死循环。(2 2)WhileWhile循环语句先对条件进行判循环语句先对条件进行判断,然后才决定是否执行循环体。如断,然后才决定是否执行循环体。如果开始条件就不成立,则循环体一次果开始条件就不成立,则循

50、环体一次也不执行。也不执行。(3 3)凡是用)凡是用ForNextForNext循环编写的程循环编写的程序,我们都可以用序,我们都可以用WhileWendWhileWend语句语句实现。反之,则不然。实现。反之,则不然。例:求最大的例:求最大的N N,使得,使得N N!10001000 Dim n As Integer,p As Integer,i As Dim n As Integer,p As Integer,i As IntegerInteger i=0 i=0 p=1 p=1 While p 1000 While p 1000 i=i+1 i=i+1 p=p*i p=p*i Wend

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com