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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

4.1.1算法概述及特性一、算法概述广义地讲:算法是为完成一项任务所应当遵循的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的。狭义地讲:算法是解决一个问题采取的方法和步骤的描述。下面通过两个简单的例子加以说明:【例】输入10个数,打印输出其中最大的数。其算法设计如下:1、输入1个数,存入变量A中,将记录数据个数的变量N赋值为1,即N=1。2、将A存入表示最大值的变量Max中,即Max=A。3、再输入一个值给A,如果AMax,则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,CIFAB则A→Max否则B→MaxIFCMax则C→MaxPrintMaxEnd(算法结束)二、用传统流程图表示算法三、三种基本结构的特点1、只有一个入口2、只有一个出口3、不存在死语句4、不存在死循环【例】输入10个数,打印输出其中的最大的数的流程图如下图4-4所示:图4-44.1.3用N-S流程图表示算法N-S流程图完全去掉了带箭头的流程线,将全部算法写在一个矩形框内,在矩形内还可包含其它从属于它的框。一、顺序结构顺序结构的N-S流程图如下图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个数中选出最大的数的N—S流程图4-8:图4-8最后需要说明的是:上面介绍的算法表示是给人看的,即是为帮助程序开发人员阅读、编写程序而设计的一种辅助工具,而程序则必须符合计算机语言的语法规则。以下是上面例子的计算机程序,即为用计算机语言表示算法:PrivateSubForm_Click()Dima%,max%,i%a=Val(InputBox(A=?))max=aFori=1To10a=Val(InputBox(A=?))IfamaxThenmax=aNextiPrintMax=;maxEndSub4.2.1赋值语句计算机要完成指定的工作,首先要接收计算机内部或外界给予的各种数据,赋值语句是一种数据赋给计算机内部变量或属性的命令。一、赋值语句的格式格式1:[let]变量名=表达式格式2:[let][对象名.]属性名=表达式说明:◆变量名应符合VisualBasic的变量命名约定。◆表达式可以是常量、变量、表达式及带有属性的对象。◆对象名缺省时为当前窗体。二、赋值语句的功能将表达式的值赋值给变量名或指定对象的属性。一般用于给变量赋值或对控件设定属性值。三、赋值语句的几种形式(一)给变量赋值例如:DimvAsIntegerDimbookAsString*20v=26book=VisualBasic把数值26赋给整型变量v,把字符串“VisualBasic”赋给字符串变量book。26与“VisualBasic”都为常量,常量是表达式最简单的形式。可以将一个表达式的值赋给一个变量,所以下面的赋值语句是合法的:Dimsum1AsDoubleDimprice1AsSingle,price2AsSingleprice1=198.6price2=1386.95*0.8sum1=price1*23+price2*500(二)为对象的属性赋值在VB中可以在程序中用赋值语句为对象的属性设置属性值(有的属性则必须如此)。它的一般格式为:对象.属性=属性值例如,为命令按钮cmdDisplay的Caption属性设置值:cmdDisplay.Caption=显示文本为文本框txtDisplay的FontName及FontSize属性设置值:txtDisplay.FontName=SystemtxtDisplay.FontSize=18(三)为用户自定义类型声明的变量的各元素赋值为用户自定义类型声明的变量的各元素赋值,它的一般格式为:变量名.元素名=表达式例如:TypebooknameAsString*30autherAsString*10priceAsSinglepublisherAsString*50EndTypeDimbookMessageAsbookbookMessage.name=VisualBasic程序设计教程bookMessage.auther=张洪bookMessage.price=26.80bookMessage.publisher=科学出版社四、注意点和常见错误◆“=”赋值号与数学中的等号的含义不同。◆赋值语句多次使用的结果为最后一次的赋值。例如:a=3a=4a=5a的结果为5◆类型相容。1、数值型的表达式可以直接赋值给任一类型的变量。2、数字字符串可以直接赋给数值型变量,也可以直接赋给逻辑型,日期型变量及可变类型的变量。3、逻辑型表达式可以直接赋给数值变量,也可赋给其他类型的变量。例如:strs$=01等价于strs$=“false”◆当赋值号“=”两边类型不同时,“向左看齐”。◆赋值语句除了其本身用途以外,经常用于变量的累加,累乘及变量交换。错误1:赋值号两边的量左右互换。错误2:赋值号左边为常量,函数名,表达式。错误3:多个变量被同时赋予一个表达式,或多个值同时赋给同一个变量。4.2.2数据的输出——Print方法格式:[对象名.]Print[表达式表][{;|,}]对象名:窗体如:Form1.PrintHello图片框如:Picture1.PrintHello打印机如:Printer.PrintHello立即窗口如:Debug.PrintHello省略:默认为当前窗体。表达式表:是一个或多个表达式,若为多个表达式,则各表达式之间用“,”或“;”隔开。省略此项,则输出一空行。逗号:用“,”分隔各表达式时,各项在以14个字符位置为单位划分出的区段中输出,每个区段输出一项。分号:用“;”分隔各表达式时,各项按紧凑格式输出。说明:◆输出时,数值型数据前有一个符号位(正号不显),后面留一个空格位;字符串原样输出,前后无空格。◆如果在语句行末尾有“;”,则下一个Print输出的内容,将紧跟在当前Print输出内容后面;如果在语句行末尾有“,”,则下一个Print输出的内容,将在当前Print输出内容的下一区段输出;如果在语句行末尾无分隔符,则输出完本语句内容后换行,即在新的一行输出下一个Print的内容。【例】PrivateSubForm_Load()Form1.ShowPrint12345678901234567890Print'产生空行Print2+4=;2+4,Print'取消上面一句末尾逗号的作用Print2-4=;Print2-4EndSub4.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);根据用户所选按钮,函数返回1—7的整数值,其含义如表4-1(b)。表4-1(a)按钮及图标表4-1(b)函数返回值在对话框中显示消息,等待用户单击按钮,并返回一个整数告诉用户单击了哪个按钮。例:4.2.4注释语句为了提高程序的可读性,通常在程序的适当位置加上必要的注释。在VB中用“'”或Rem来标识一条注释语句。格式:'|Rem注释内容功能:给语句或程序段加上注释,以提高可读性。【例】PrivateSubForm_Activate()Rem本程序用于计算圆的面积DimRAsString,AREAAsSingle'R为半径R=InputBox(请输入半径,,1):Rem输入半径AREA=3.14*Val(R)∧2'以下将半径和面积输出到窗体上PrintVal(R),AREAEndSub说明:◆注释内容指要包括的任何注释文本。在Rem关键字和注释内容之间要加一个空格。可以用一个英文单引号“'”来代替Rem关键字。◆如果在其他语句行后面使用Rem关键字,必需用冒号(:)与语句隔开。若用英文单引号“'”,则在其他语句行后面不必加冒号(:)。4.3.1If条件语句在程序设计中经常遇到这类问题,它需要根据不同的情况采用不同的处理方法。例如,一元二次方程的求根问题,要根据判别式小于零或大于等于零的情况,采用不同的数学表达式进行计算。对于这类问题,如果用顺序结构编程,显然力不从心。必须借助选择结构。本章主要介绍实现选择结构的语句。包括:行If语句、块If语句、ElseIf语句、SelectCase语句,以及选择结构在程序设计中的应用。一、单行结构条件语句格式:If条件Then[语句组1][Else语句组2]图4-8单行If语句流程图功能:首先判断“条件”,其值为真时,执行语句组1;为假时执行语句组2。当缺省[Else…]中的内容时,该选择结构只对条件满足的情况进行处理。说明:◆条件:一般为关系表达式、布尔表达式、数值表达式(0为False,非0为True)、字符串表达式(0为False,非0为True)。通常把关系表达式或逻辑表达式的值

1 / 46
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功