欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    PLC编程培训-Visual Basic程序设计的三种基本结构.doc

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

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

    PLC编程培训-Visual Basic程序设计的三种基本结构.doc

    4.1.1 算法概述及特性 一、算法概述广义地讲:算法是为完成一项任务所应当遵循的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的。狭义地讲:算法是解决一个问题采取的方法和步骤的描述。下面通过两个简单的例子加以说明:【例】输入10个数,打印输出其中最大的数。其算法设计如下:1、输入1个数,存入变量A中,将记录数据个数的变量N赋值为1,即N=1。2、将A存入表示最大值的变量Max中,即Max=A。3、再输入一个值给A,如果A>Max,则Max=A,否则Max不变。4、让记录数据个数的变量增加1,即N=N+1。5、判断N是否小于10,若成立则转到第3步执行,否则转到第6步。6、打印输出max。二、算法的特性 1、有穷性:一个算法必须在执行有穷多个计算步骤后终止。2、确定性:一个算法给出的每个计算步骤,必须都是精确定义的、无二义性的。3、有0个或多个输入:一个算法中可以没有输入,也可以有一个或多个输入信息,如果需要运行时输入不同数据,这些输入信息是算法所需的初始数据。4、有一个或多个输出:一个算法应有一个或多个输出,一个算法得到的结果(中间结果或最后结果)就是算法的输出。没有输出的算法是没有意义的。5、有效性:算法中的每一个步骤必须有效地执行,并能得到确定结果。4.1.2 算法的表示一、自然语言与伪代码表示算法自然语言:就是指人们日常使用的语言,可以是汉语、英语或其它语言。用自然语言表示的优点是通俗易懂,缺点是文字冗长,容易出现“歧义性”。伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。【例】输入3个数,打印输出其中最大的数。可用如下的伪代码表示:Begin(算法开始)输入 A,B,CIF A>B 则 AMax否则 BMaxIF C>Max 则 CMaxPrint MaxEnd (算法结束)二、 用传统流程图表示算法三、三种基本结构的特点1、只有一个入口2、只有一个出口3、不存在死语句4、不存在死循环【例】输入10个数,打印输出其中的最大的数的流程图如下图4-4所示:图4-44.1.3 用NS流程图表示算法 NS流程图完全去掉了带箭头的流程线,将全部算法写在一个矩形框内,在矩形内还可包含其它从属于它的框。一、顺序结构顺序结构的NS流程图如下图4-5所示,执行顺序先<语句A>后<语句B>。语句A 语句B图4-5二、选择结构(a)(b)图4-6图4-6(a)所示为条件为真时执行语句块A,条件为假时执行语句块B。图4-6(b)所示为条件为真时执行语句块,为假时什么都不做。三、循环结构图4-7其中图4-7(a)为 当型循环,图4-7(b)为直到循环。【例】画出从10个数中选出最大的数的NS流程图4-8:图4-8最后需要说明的是:上面介绍的算法表示是给人看的,即是为帮助程序开发人员阅读、编写程序而设计的一种辅助工具,而程序则必须符合计算机语言的语法规则。以下是上面例子的计算机程序,即为用计算机语言表示算法:Private Sub Form_Click()Dim a%, max%, i%a=Val(InputBox("A=?")max=aFor i=1 To 10a=Val(InputBox("A=?")If a>max Then max=aNext iPrint "Max=" maxEnd Sub4.2.1 赋值语句 计算机要完成指定的工作,首先要接收计算机内部或外界给予的各种数据,赋值语句是一种数据赋给计算机内部变量或属性的命令。一、赋值语句的格式格式1:let<变量名>=<表达式>格式2:let<对象名>.<属性名>=<表达式>说明: <变量名>应符合Visual Basic的变量命名约定。 <表达式>可以是常量、变量、表达式及带有属性的对象。 <对象名>缺省时为当前窗体。二、赋值语句的功能将表达式的值赋值给变量名或指定对象的属性。一般用于给变量赋值或对控件设定属性值。三、赋值语句的几种形式(一)给变量赋值例如:Dim v As IntegerDim book As String*20v=26book="Visual Basic" 把数值26赋给整型变量v,把字符串“Visual Basic”赋给字符串变量book。26与“Visual Basic”都为常量,常量是表达式最简单的形式。可以将一个表达式的值赋给一个变量,所以下面的赋值语句是合法的:Dim sum1 As DoubleDim price1 As Single,price2 As Singleprice1=198.6price2=1386.95*0.8sum1=price1*23+price2*500(二)为对象的属性赋值在VB中可以在程序中用赋值语句为对象的属性设置属性值(有的属性则必须如此)。它的一般格式为:对象.属性=属性值例如,为命令按钮cmdDisplay的Caption属性设置值:cmdDisplay.Caption="显示文本"为文本框txtDisplay的FontName及FontSize属性设置值:txtDisplay.FontName="System"txtDisplay.FontSize=18(三)为用户自定义类型声明的变量的各元素赋值为用户自定义类型声明的变量的各元素赋值,它的一般格式为:变量名.元素名=表达式例如:Type bookname As String*30auther As String*10price As Singlepublisher As String*50End Type Dim bookMessage As bookbookMessage.name="Visual Basic程序设计教程"bookMessage.auther="张洪"bookMessage.price=26.80bookMessage.publisher="科学出版社"四、注意点和常见错误 “=”赋值号与数学中的等号的含义不同。 赋值语句多次使用的结果为最后一次的赋值。例如:a=3a=4a=5 a的结果为5 类型相容。1、数值型的表达式可以直接赋值给任一类型的变量。2、数字字符串可以直接赋给数值型变量,也可以直接赋给逻辑型,日期型变量及可变类型的变量。3、逻辑型表达式可以直接赋给数值变量,也可赋给其他类型的变量。例如:strs$=0>1 等价于 strs$=“false” 当赋值号“=”两边类型不同时,“向左看齐”。 赋值语句除了其本身用途以外,经常用于变量的累加,累乘及变量交换。错误1:赋值号两边的量左右互换。错误2:赋值号左边为常量,函数名,表达式。错误3:多个变量被同时赋予一个表达式,或多个值同时赋给同一个变量。4.2.2 数据的输出Print方法 格式:<对象名>.Print<表达式表>|,<对象名>:窗体如:Form1.Print "Hello"图片框如:Picture1.Print "Hello"打印机如:Printer.Print "Hello"立即窗口如:Debug .Print "Hello"省略:默认为当前窗体。<表达式表>:是一个或多个表达式,若为多个表达式,则各表达式之间用“,”或“;”隔开。省略此项,则输出一空行。逗号:用“,”分隔各表达式时,各项在以14个字符位置为单位划分出的区段中输出,每个区段输出一项。分号:用“;”分隔各表达式时,各项按紧凑格式输出。说明: 输出时,数值型数据前有一个符号位(正号不显),后面留一个空格位;字符串原样输出,前后无空格。 如果在语句行末尾有“;”,则下一个Print输出的内容,将紧跟在当前Print输出内容后面;如果在语句行末尾有“,”,则下一个Print输出的内容,将在当前Print输出内容的下一区段输出;如果在语句行末尾无分隔符,则输出完本语句内容后换行,即在新的一行输出下一个Print的内容。【例】Private Sub Form_Load()Form1.ShowPrint "12345678901234567890"Print产生空行Print "2+4=" 2 + 4,Print取消上面一句末尾逗号的作用Print "2-4="Print 2-4End Sub4.2.3 用户交互函数和过程 一、数据的输入InputBox函数(一)格式变量名=InputBox$(<提示信息>,<标题>,<默认值> ,<x坐标>,<y坐标> )说明: <提示信息>:不能缺省。通常为字符串常量、变量和字符串表达式。可用Chr(13)、Chr(10)、Chr(13) & Chr(10)、vbCrLf换行。 <标题>:字符串表达式。决定对话框标题区显示的信息,若缺省,则以工程名作为对话框的标题。 <默认值>:通常为数值常量、字符串常量或常量表达式。输入文本编辑区默认值,如果省略,则默认为空。 <x坐标>、<y坐标>:确定对话框在屏幕上显示的位置,为整型表达式,用来确定对话框左上角在屏幕上的位置。坐标单位为twip。 返回值:字符串(在对话框中单击取消则返回"")。(二)功能打开一对话框,等待用户输入正文或按下按钮,并返回包含文本框内容的字符串。【例】单击“确定”,返回文本框中的文本到变量R中。单击“取消”,返回一个零长度的字符串。注意: 各项参数次序必须一一对应,除第一项参数“提示”不能省略外,其余参数均可省略,如果处于中间位置的参数省略,其对应的逗号不能省略。 由InputBox函数返回的数据类型是字符类型数据,如果要得到数值类型数据,则必须用Val()函数进行类型转换。二、MsgBox函数和MsgBox过程(一)格式函数格式:变量%=MsgBox(提示,按钮图标+缺省按钮+模式,标题)过程形式:MsgBox 提示,按钮图标+缺省按钮+模式,标题说明: “标题”和“提示”与InputBox函数中对应的参数相同。 “按钮图标+缺省按钮+模式”是整型表达式,决定信息框按钮数目、出现在信息框上的图标类型及操作模式(如下表所示),若程序中需要返回值,则使用函数,否则可调用过程。 返回值:由在对话框中按下哪种按钮决定。按钮及图标值如表4-1(a);根据用户所选按钮,函数返回17的整数值,其含义如表4-1(b)。 表4-1(a) 按钮及图标表4-1(b) 函数返回值在对话框中显示消息,等待用户单击按钮,并返回一个整数告诉用户单击了哪个按钮。例:4.2.4 注释语句 为了提高程序的可读性,通常在程序的适当位置加上必要的注释。在VB中用“”或Rem来标识一条注释语句。格式: | Rem <注释内容>功能:给语句或程序段加上注释,以提高可读性。【例】Private Sub Form_Activate()Rem 本程序用于计算圆的面积Dim R As String, AREA As Single R为半径R=InputBox("请输入半径", , "1") :Rem 输入半径AREA=3.14*Val(R)2以下将半径和面积输出到窗体上Print Val(R), AREAEnd Sub说明: <注释内容> 指要包括的任何注释文本。在Rem关键字和<注释内容>之间要加一个空格。可以用一个英文单引号“”来代替Rem关键字。 如果在其他语句行后面使用Rem关键字,必需用冒号(:)与语句隔开。若用英文单引号“”,则在其他语句行后面不必加冒号(:)。4.3.1 If条件语句在程序设计中经常遇到这类问题,它需要根据不同的情况采用不同的处理方法。例如,一元二次方程的求根问题,要根据判别式小于零或大于等于零的情况,采用不同的数学表达式进行计算。对于这类问题,如果用顺序结构编程,显然力不从心。必须借助选择结构。本章主要介绍实现选择结构的语句。包括:行If语句、块If语句、Else If语句、Select Case语句,以及选择结构在程序设计中的应用。一、单行结构条件语句格式:If <条件> Then <语句组1> Else <语句组2>图4-8 单行If语句流程图功能:首先判断“条件”,其值为真时,执行语句组1;为假时执行语句组2。当缺省Else中的内容时,该选择结构只对条件满足的情况进行处理。说明: <条件>:一般为关系表达式、布尔表达式、数值表达式(0为False,非0为True)、字符串表达式("0"为False,非"0"为True)。通常把关系表达式或逻辑表达式的值为真时,称为条件满足;值为假时,称为条件不满足。反之亦然。 <语句组1>、<语句组2>:分别是“条件”满足或不满足时,处理方法的描述,可以是若干个语句,各语句之间用冒号隔开。 可以没有Else部分,这时必须有<语句组1>。 IfThen、Else、End If是VB的保留字。【例】设界面如右图所示,用文本框输入x的值,单击“计算Y”按钮时,根据以下公式,计算y的值。代码如下:Private Sub Command1_Click()X=Val(Text1.Text) If X<=0 Then Y=Abs(X) Else Y=Log(X)Label3.Caption=Y End Sub二、块If的嵌套所谓块If语句的嵌套,就是在语句块1或语句块2中又包含块If语句。格式:If.Then.If.Then.Else.Else.【例】平面直角坐标系中,不同的象限内,点的坐标的符号有以下4种情况。任意输入一对坐标值,找出它所在的象限。(提示:在A象限时X>0,Y>0;在B象限时X<0,Y>0;在C象限时<0,Y<0;在D象限时X>0,Y<0。如图4-9)图4-9代码如下:Private Sub Command1_Click()X=Val(Text1.Text):Y=Val(Text2.Text)If X=0 Or Y=0 Then Print "不在任何象限内"If X>0 Then If Y>0 Then Print "IN A" Else Print "IN D" Else If Y>0 Then Print "IN B" Else Print "IN C"End Sub4.3.1 If条件语句三、块结构条件语句格式:If <条件1> Then<语句组1>ElseIf <条件2> Then<语句组2>ElseIf <条件N> Then<语句组N>Else<其他语句组>End If图4-10块结构的If语句流程功能:1、依次判断条件,如果找到一个满足的条件,则执行其下面的语句块,然后跳过End If,执行后面的程序。2、如果所列出的条件都不满足,则执行Else语句后面的语句块;如果所列出的条件都不满足,又没有Else子句,则直接跳过End If,不执行任何语句块。【例】如图4-11输入华氏温度F,利用公式C=5/9*(F-32)转换成摄氏温度C,根据转换结果C的不同值,按以下要求给出相应的提示。C>40时,打印"HOT "30<C40时,打印" WARM "20<C30时,打印" ROOM TEMPERATURE "10<C20时,打印" COOL "0<C10时,打印" COLD "C0时,打印" FREEZING" 代码如下:Private Sub Command1_Click() C=5/9*(Val(Text1.Text)-32)Text2.Text=Format(C, "0.00")If C>40 ThenLabel2.Caption="HOT"ElseIf C>30 ThenLabel2.Caption="WARM"ElseIf C>20 ThenLabel2.Caption="ROOM TEMPERATURE"ElseIf C>10 ThenLabel2.Caption="COOL" ElseIf C>0 ThenLabel2.Caption="COLD"ElseLabel2.Caption="FREEZING"End IfEnd Sub 注意:ElseIf语句,实际完成的是块If的嵌套,它和块If嵌套的格式上有很大区别,ElseIf结构只有一对If和End If语句。另外应注意:ElseIf和ElseIf的区别。4.3.2 Select Case语句(情况语句)当对一个表达式的不同取值情况作不同处理时,用ElseIf语句程序结构显得较为杂乱,而用Select Case语句将使程序的结构更清晰,Select Case语句又称为情况语句。格式:Select Case <测试表达式>Case <表达式表1><语句组1>Case <表达式表2><语句组2>Case Else<语句组n>End Select说明: Select Case、Case、Case Else、End Select都是关键字。 <测试表达式>:可以是数值型或字符串型表达式。 Case 表达式表:表中的表项为如下形式: 表达式1,表达式2.如:Case 1,3,5 表达式1 TO 表达式2如:Case 10 TO 30Case "A" TO "Z" Is <关系运算符><表达式>如:Case Is>=10Case Is=0与Case 0相同。 语句块为一条或多条语句。图4-12 Select Case语句流程功能:根据测试表达式的值,按顺序匹配Case后的表达式,如果匹配成功,则执行该Case下的语句块,然后转到End Select语句之后继续执行。Select Case语句的执行过程是:先求“测试表达式”的值,然后顺序测试该值符合哪一个Case子句中情况,如果找到了,则执行该Case子句下面的语句块,然后执行End Select下面的语句;如果没找到,则执行Case Else下面的语句块,然后执行End Select下面的语句。注意:1、测试表达式的类型应与Case后表达式类型一致,且三种形式可以混用。如:Case Is<-5,0,5 To 1002、Is 比较运算符和使用在Select Case语句中的Is关键字并不相同。3、Select Case语句也可以嵌套。但每个嵌套的Select Case语句必须要有相应的 End Select。【例】:根据考核等级计算奖金。Sub NewBonus()Dim XDim salary As Integer, Bonus As Singlesalary=200X=InputBox("输入考核等级(1、2、3、4、0中的一个数字):", "考核等级")Select Case XCase 1Bonus=salary*0.1Case 2, 3Bonus=salary*0.09Case 4 To 6Bonus=salary*0.07Case Is>8Bonus=100Case ElseBonus=0End Select End Sub4.4.1 ForNext循环语句在实际工作中,常遇到一些操作过程不太复杂,但又需要反复进行相同处理的问题。所谓循环就是重复地执行一组语句,循环结构非常适合于解决处理的过程相同、处理的数据相关,但处理的具体值不同的问题。我们把能够处理这类问题的语句称为循环语句。VB提供了三种不同风格的循环语句,它们分别是: ForNext循环语句; WhileWend循环语句; DoLoop循环语句。我们将对这3种循环语句逐一介绍。一、ForNext循环语句For.Next 语句以指定次数来重复执行循环体ForNext之间的语句组。格式:For 循环控制变量=初值 To 终值 Step 步长语句组Exit For语句组Next 循环控制变量 For、To、Step、Exit For、Next是关键字。循环控制变量:也称“循环变量”、“计数变量”或“循环计数器”。它是一个数值变量。但不能是布尔型变量或数组元素。初值:循环变量的初值,是一个数值表达式。终值:循环变量的终值。是一个数值表达式。步长:可选参数。是循环控制变量的增量,是一个数值表达式。其值可以是正数(为递增循环),或负数(为递减循环),但不能为0。缺省该项时步长值为1。语句组:是循环体,为放在For和Next之间的一条或多条语句。Exit For 语句:随时退出循环。可以在循环体中任何位置放置任意个Exit For 语句。 经常用在条件判断之后,例如If.Then,并将控制权转移到紧接在Next之后的语句。Next:循环终端语句,后跟的“循环变量”与For语句中的“循环变量”必须相同。For循环的执行过程是:首先将“初值”赋给“循环控制变量”,检查“循环控制变量”的值是否超过“终值”,如果超过就跳出循环,执行Next后面的语句;否则执行一次“循环体”,遇到Next语句,然后“循环控制变量”+“步长”又赋给“循环控制变量”,重复上述过程。这里所说的“超过”有两种含义,大于或小于。步长为正值时,检查循环变量是否大于终值;步长为负值时,检查循环变量是否小于终值。使用Step关键字,可以由所指定的值增加或减少循环变量。图4-13 For-Next循环流程图注意: For语句和Next语句必须成对出现,缺一不可,且For语句必须在Next语句之前。 循环次数由初值、终值和步长确定,计算公式为:循环次数=Int(终值初值)/步长)+1 可以省略Next语句中的循环变量名。建议加上循环变量名,使程序具有可读性。【例】求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=1For I=1 To nf=f*INext I.Print n;"!=";fEnd Sub图4-144.4.2 DoLoop循环语句 Do循环具有较强的灵活性,它可以根据需要决定是条件满足时执行循环体,还是一直执行循环体直到条件满足。而它所用的时间是不确定的。格式为:Do While | Until 条件语句组Exit Do语句组Loop或: Do语句组Exit Do语句组Loop While | Until 条件其中:Do、Loop、While、Until都是关键字。大括号中的While、Until选其一。语句组:是需要重复执行的一条或多条语句,即循环体。条件:是数值表达式或字符串表达式,其值为True或False。如果“条件”是 Null,则“条件”会被当作False。当只有Do、Loop两个关键字构成的Do循环时,程序将无限循环。为了使程序有限循环,必须使用关键字While或Until或Exit Do: While:是当“条件”为True时执行循环。 Until:是在“条件”变为True之前重复执行。 Exit Do:随时跳出Do Loop循环。同Exit For。注意:可以按ESC或CTRL+BREAK键来终止无穷循环。当使用While关键字去检查Do.Loop语句中的条件时,有两种方法。可以在进入循环之前检查条件,也可以在循环至少运行一次之后才检查条件。一、Do While Loop语句 该语句的执行原则是:首先判断条件,若为False,则跳出该语句;否则(条件为True),执行循环体,遇到Loop语句,然后再判断条件。Do WhileLoop流程图4-15所示如下:图4-15 Do WhileLoop循环流程 【例】执行下面程序代码:Private Sub Command1_Click()Counter=0myNum=20Do While myNum>15myNum=myNum-1Counter=Counter+1LoopMsgBox "循环次数为:" &CounterEnd Sub图4-16注意:如果将myNum的初值由20替换成9,则循环中的语句将永远不会执行。二、DoLoop While语句该语句的执行原则是:先执行循环体,然后再判断“条件”,若为False,则跳出该语句;否则(即“条件”为True)再执行循环体,然后再判断“条件”。DoLoop While流程图4-17所示如下:图4-17 DoLoop Until循环流程【例】执行下面程序代码:Private Sub Command1_Click()Counter=0myNum=9Do Until myNum=10myNum=myNum-1Counter=Counter+1If myNum<10 Then Exit DoLoopMsgBox"循环次数为:" &CounterEnd Sub图4-184.4.3 WhileWend语句While.Wend语句构成当循环,只要指定的条件为True,则会重复执行一系列的语句。程序格式如下:While 条件语句组Wend其中:While、Wend是关键字。条件:是数值表达式或字符串表达式,其计算结果为True或False。如果“条件”为Null,则“条件”会视为False。语句组:为一条或多条语句,即循环体。当条件为True时执行。While.Wend语句的执行过程:首先判断条件,若为True,则执行语句组,一直执行到Wend语句。然后回到While语句,再一次检查“条件”,如果还是为True,则重复执行。如果不为True,则程序会从Wend语句之后的语句继续执行。While.Wend语句流程图4-19所示如下: 图4-19 While.Wend循环流程注意:While.Wend循环也可以是多层的嵌套结构。每个Wend匹配它上面最近的While语句。【例】执行下面程序代码:Private Sub Command1_Click()Dim CounterCounter=0 设置变量初值。While Counter<20 测试计数器的值。Counter=Counter + 1 将计数器的值加1。Wend 当 Counter > 19 时则循环终止。MsgBox "循环次数为:" & CounterEnd Sub4.4.4 循环的嵌套多重循环结构在一个循环体内又包含了一个完整的循环,这样的结构称为多重循环或循环的嵌套。在程序设计时,许多问题要用二重或多重循环才能解决。我们前面学过的For循环、While循环、Do循环都可以互相嵌套,如在ForNext的循环体中可以使用While循环,而在WhileWend的循环体中也可以出现For循环等。二重循环的执行过程是外循环执行一次,内循环执行一遍,在内循环结束后,再进行下一次外循环,如此反复,直到外循环结束。说明 嵌套的循环可以是ForNext循环,也可以是 DoLoop循环。 FOR循环有一个公共端点,可使用一个NEXT语句,循环变量按从内到外排列。 外循环必须完全包含内循环,不能交叉。 嵌套循环应选用不同的循环变量。【例】求 【例】公鸡5个钱一只,母鸡三个钱一只、小鸡一个钱三只,要用100个钱买100只鸡,问公鸡、母鸡、和小鸡各买几只?程序代码如下:Private Sub Form_Click()Dim I As Integer, J As Integer, K As IntegerPrint Tab(5); "公鸡" Tab(15); "母鸡" Tab(25); _"小鸡"For I=0 To 20For J=0 To 33 For K=0 To 100 Step 3If I*5+J*3+K3=100 And I+J+K=100 ThenPrint Tab(5); I; Tab(15); J; Tab(25); KEnd IfNext K, J, IEnd Sub4.4.5 几种循环语句比较一般情况下,4种循环语句可以相互代替,其中WhileWend语句与Do while.Loop语句等价,下表4-2给出了各种循环语句的区别。表4-2 For.toNextDo while/until.LoopDo.Loop While/until.循环类型当型循环当型循环直到循环循环控制条件循环变量大于或小于终值条件成立/不成立执行循环条件成立/不成立执行循环循环变量初值在FOR语句行中在DO之前在DO之前使循环结束For语句中无需专门语句必须用专门语句必须使用专门语句使用场合循环次数容易确定循环/结束控制条件易给出循环/结束控制条件易给出4.4.6 循环结构与选择结构的嵌套在循环结构中可以完整嵌套选择结构即整个选择结构都属于循环体。在选择结构中嵌套循环结构时,则要求整个循环结构必须完整地嵌套在一个分支内,一个循环结构不允许出现在两个或两个以上的分支内。下面用几个例子(如图4-22)来说明:图4-224.5.1 Goto语句Goto 语句无条件地转移到它所在过程中指定的行。其格式为:Goto <标号|行号>其中: Goto是关键字。 <标号>:是任何字符额组合,不区分大小写,必须以字母开头,以冒号(:)结尾。标号必须是放在行的开始位置。 <行号>:行号可以是任何数值的组合,在使用行号的模块内,该组合是唯一的。标号必须是放在行的开始位置。 <标号|行号>在程序中的使用格式为:标号|行号:语句例如Line1:X=0注意:1、Goto只能跳到它所在过程中的行。2、在一个过程中,标号或行号都必须是唯一的。3、太多的Goto语句,会使程序代码不容易阅读及调试。尽可能使用结构化控制语句 (Do.Loop、For.Next、If.Then.Else、Select Case),应尽量避免使用它。4.5.2 Exit语句Exit语句用于退出Do.Loop、For.Next、Function或Sub代码块。对应的使用格式为:Exit Do、Exit For、Exit Function、Exit Sub。分别表示退出DO循环、For循环、函数过程、子过程。格式:Exit DoExit ForExit FunctionExit PropertyExit Sub它们都是关键字。在程序中的作用如下: Exit Do提供一种退出Do.Loop循环的方法,并且只能在Do.Loop循环中使用。 Exit For提供一种退出For循环的方法,并且只能在For.Next或For Each.Next循环中使用。 Exit Function立即从包含该语句的Function过程中退出。程序会从调用 Function 的语句之后的语句继续执行。 Exit Property立即从包含该语句的Property过程中退出。程序会从调用Property过程的语句之后的语句继续执行。 Exit Sub立即从包含该语句的Sub过程中退出。程序会从调用Sub过程的语句之后的语句继续执行。【例】使用Exit语句退出For.Next循环、Do.Loop循环及子过程。Private Sub Form_Click()Dim I, OneNumDo 建立无穷循环For I=1 To 1000 循环1000次OneNum=Int(Rnd*1000) 生成一随机数码Select Case OneNum 检查随机数码Case 7: Exit For 如果是7,退出For循Case 29: Exit Do 如果是29,退出Do循环Case 54: Exit Sub 如果是 54,退出子过程End SelectNext IEnd Sub4.5.3 End语句格式:End功能:结束一个程序的运行。End语句不调用Unload、QueryUnload、或 Terminate事件或任何其它Visual Basic代码,只是生硬地终止代码执行。关闭由Open语句打开的文件,并且释放程序所占用的内存。在Visual Basic中还有多种形式的End语句,用于结束一个程序块或过程。其形式有:End IfEnd SelectEnd TypeEnd WithEnd SubEnd Function等它们与对应的语句配对使用。【例】Private Sub Command1_Click()EndEnd Sub该过程用于结束程序,即单击命令按钮Command1时,结束程序的运行。4.5.4 暂停语句Stop语句用来暂停程序的执行,相当于在事件代码中设置断点。格式:Stop说明: Stop语句的主要作用是把解释程序置为中断(Break)模式,以便对程序进行检查和调试。可以在程序的任何地方放置Stop语句,当执行Stop语句时,系统

    注意事项

    本文(PLC编程培训-Visual Basic程序设计的三种基本结构.doc)为本站会员(小****库)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开