为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

VB语言基础

2011-04-07 8页 doc 78KB 75阅读

用户头像

is_464046

暂无简介

举报
VB语言基础第3章 VB语言基础 第3章 VB语言基础 VB采用面向对象的程序设计思想,事件驱动的编程机制。一个VB应用程序由若干个对象构成,但各个对象的功能主要通过其事件过程完成,系统根据当前发生的事件,驱动执行与该事件相对应的事件过程代码。然而,事件过程代码的编写则完全沿用结构化程序设计的方法。结构化程序设计方法学认为,程序的结构分顺序结构、选择(分支)结构和循环结构。 本章介绍VB的代码基础,语言语句,控制结构。主要包括用于顺序结构的基本语句、完成分支选择的条件语句、实现循环执行某一程序段的循环语句等。 3.1 结构化程序设计 随着...
VB语言基础
第3章 VB语言基础 第3章 VB语言基础 VB采用面向对象的程序思想,事件驱动的编程。一个VB应用程序由若干个对象构成,但各个对象的功能主要通过其事件过程完成,系统根据当前发生的事件,驱动执行与该事件相对应的事件过程代码。然而,事件过程代码的编写则完全沿用结构化程序设计的方法。结构化程序设计方法学认为,程序的结构分顺序结构、选择(分支)结构和循环结构。 本章介绍VB的代码基础,语言语句,控制结构。主要包括用于顺序结构的基本语句、完成分支选择的条件语句、实现循环执行某一程序段的循环语句等。 3.1 结构化程序设计 随着计算机技术的发展,计算机语言经历了机器语言、汇编语言、高级语言三个阶段。机器语言用计算机的指令系统编写程序,是一种面向机器的程序设计语言。难学难记,编制的程序可移植性差。用助记符表示操作码,数据的存储地址表示操作数,便形成了汇编语言。高级语言则是用英文单词作为指令的操作码,规定该语句所要完成的功能,用数学公式表示操作对象,易学易记。由于计算机只能直接执行由二进制代码表示的机器指令,所以,用高级语言编制的程序需要一定的系统环境将其翻译成机器指令代码。有两种翻译方式:一种是解释方式,解释一句执行一句;另一种是编译方式,先将用高级语言编写的源程序翻译成机器语言的目标程序,然后可以多次执行目标程序。随着软件的发展,程序设计方法经历了手工编程、结构化程序设计方法和面向对象的程序设计方法。VB作为一种面向对象的程序设计语言,既继承了结构化程序设计的优点,又采用了面向对象、事件驱动的编程机制。就整个工程来说,它是由许多面向对象的事件过程组成的,程序运行过程中通过引发事件,驱动执行相应的事件过程。 3.1.1 算法及其表示 算法是解决问的方法步骤。要完成某项工作,首先要根据工作的性质决定采取什么方法,然后根据所采用的方法设计完成工作的具体步骤,最后,再按照所设计的步骤一步一步去完成。编制程序的过程也是如此,要编制一个程序,首先要设计算法(方法和步骤)。 例3.1 将两个变量x和y的值进行交换,设x = 10,y = 20。 图3-1交换两变量的值 分析:变量是存储单元的代名词,存储器存储信息的特点是取之不尽,以新代旧。如果直接交换,即x = y : y = x,则将y的值赋给x时,x原来的值被覆盖(丢失),其结果是交换后x和y的值都是20。由此可见,要交换两变量的值,必须借助一个中间变量暂存x的值。算法为: (1)        将x的值暂存在t中; (2)        将y的值存入x中; (3)        将t的值存入y中。 此算法用图形表示如图4-1所示。 例3.2 某班有30名学生,将英语成绩在80分以上(包括80分)的学生的姓名、成绩打印出来。 分析:首先取第一名学生的成绩,判断是否在80分以上,若符合条件,则输出其姓名和成绩,再取下一名学生的成绩进行判断;若不符合条件,则直接取下一名学生的成绩进行判断,…,直到最后一名。用c记录当前学生的号码,分别用xm(30)、cj(30)两个数组存放每个学生的姓名和成绩。 算法描述为: (1)    将1赋给变量c; (2)    如果cj(c)≥80,则输出xm(c)、cj(c)的值; (3)    变量c自动加1(c=c+1)。 (4)    如果c≤30,返回(2)继续执行,否则算法结束。 图3-2图符号 在例3.1中只是顺序程序,例3.2中用到了分支和循环。由以上例题可以看出用计算机编程解决问题的算法应具有有穷性(操作步骤是有限的)、确定性(每一步具有确定的操作内容)、有效性(每一步都有确定的结果)、有数据输入和结果输出等特点。 算法的表示方法有多种,如前面例题中有语言描述法、图形法。用计算机编程就是用计算机语言来表示算法,对于较复杂的问题还要借助流程图或N-S图来表示算法。 流程图也称为框图,它是用一些几何图形、流向线和文字说明来表示各种类型的操作。在流程图中所用的基本图形及其意义都是由国家颁布的(GB ISO5807-85)规定的。常用的几种图符如图3-2所示。图3-3和图3-4分别为用流程图表示的例3.1和例3.2的算法。 图3-4 例4.2的流程图   图 3-3 例4.1的流程图 图4-5顺序结构         3.1.2 结构化程序设计 结构化程序设计方法学认为任何复杂的程序都是由若干种简单的基本结构组成的。这些基本结构就是顺序结构、选择结构和循环结构。 ● 顺序结构:程序的流程是按照一个方向进行的,一个入口,一个出口,中间有若干条依次执行的语句。如图3-5所示。 ● 选择结构:程序的流程出现一个或多个分支,按一定的条件选择其中之一执行,这就是选择结构也叫分支结构。它有一个入口,一个出口。中间可以有两条或多条分支。如图3-6所示。 图3-6选择结构 ● 循环结构:程序流程是按一定的条件重复多次执行一段程序,被重复执行的程序段叫循环体。循环结构按退出循环的条件可分为当型(While)循环结构和直到型(Until)循环结构。执行当型循环时,当条件成立时执行循环体,条件不成立时退出循环结构;执行直到型循环时,当条件不成立时执行循环体,直到条件成立时退出循环体。按循环体至少执行的次数又可分为0次循环和1次循环,当条件表达式在循环结构的入口时为0次循环,当条件表达式在循环结构的出口时为1次循环。循环结构也只有一个入口和一个出口。且只允许有限次的重复,不能无限循环。图3.7至3.8是用流程图表示的各种基本结构。 三种基本结构有如下特点: ● 只有一个入口,一个出口。 ● 无死语句,所谓“死语句”是指始终执行不到的语句。 图3-7 当型0次循环 图3-8直到型1次循环 ● 无死循环,即循环次数是有限的。             3.2 顺序结构 3.2.1  赋值语句 1.基本含义 赋值语句是程序中最基本的语句,也是为变量和控件属性赋值的最主要方法。其作用是把一个表达式的值赋给一个变量或控件的一个属性。 赋值语句的一般形式为: <变量名>=<表达式> 或:[<对象名>.]<属性名>=<表达式> 其中:<变量名>为用户定义标识符; 向对象的属性赋值时,应指明对象名和属性名称,默认对象名时表示当前窗体:“=”号称为赋值号。赋值语句的含义是,首先计算赋值号右边表达式的值,然后将此值赋给赋值号左边的标识符代表的变量或控件属性,作为它的当前值。该值一直保存到下一次再对它赋值为止。 Total=100                       '把数值常量100赋给变量Total k=k+1                           '把变量k原来的值加上1,再赋给变量k St$="Goodmorning,"              '把字符串常量赋给字符串变量 Textl.Text=St$&"teacher!"      '把串表达式的值赋给控件Textl的Text属性 Text2.Text=Str(Total)           '把数值变量Total的值转换为字符串,赋给Text2的Text属性 例3.3  在窗体Form1内建立两个文本框,通过事件过程执行赋值操作。 (1)首先设计界面。在窗体上添加文本框Textl和Text2,添加命令按钮Command1和Command2,并把它们调整到合适的位置、大小。如图3-9所示。 (2)编写事件过程。 命令按钮Command1的事件过程如下: Private  Sub  Command1_Click() Command1.Caption="左按钮"              '对控件Command1的Caption属性赋值 Textl.Text="Good  morning"             '对控件Textl的Text属性赋值 End Sub 命令按钮Command2的事件过程如下: Private  Sub  Command2_Click() Command2.Caption="右按钮" Text2.Text="Good  morning”& " teacher!" End Sub 图3-11 运行结果2   (3)运行程序。单击工具栏的“启动”按钮,或从“运行”菜单选择“启动”命令。屏幕出现运行界面。单击Command1,看到图3—10的运行结果,再单击Command2,看到图3-11执行结果。 结束程序可以直接关闭窗体Forml,也可以单击工具栏的“结束”按钮,或从“运行”菜单选择“结束”命令。 2.赋值与逻辑等 在Basic语言中,“=”号是一个具有二义性的符号,既可以作为赋值号,也可以表示为关系运算中的逻辑等号。它的实际意义要根据前后文的形式判断。 例如,“=”号在以下语句中有不同含义: b=1/(x+y)               '赋值号 c=2                     '赋值号 a=b=c                   '第一个赋值号,第二个逻辑等号 k=a=b And b=c           '第一个赋值号,第二个、第三个逻辑等号 3.赋值相容 赋值语句中的标识符无论作为变量名或控件的属性名,都代表一个存储单元。当执行赋值语句时,如果这个存储单元的结构和大小能够正确地表示赋值号右边的表达式的值,那么,就称该赋值语句是赋值相容的。如果表达式值的类型与变量(或控件属性)的类型相同,它们当然赋值相容。同时,Visual Basic对某些数据类型提供了自动转换机制,强制变量转换为适当的数据类型。 (1)数值型与字符串型 如果字符串的形式表示数值,则可将字符串赋予数值变量。也可将数值赋予字符串变量。但如果把非数值形式的字符串赋给数值变量,则会出现运行错误。 例3.4  将命令按钮和文本框放置在窗体中。输入命令按钮的Click事件驱动过程: Private  Sub  Command1_Click()   Dim  intX  As  Integer   Dim  strY  As  String   strY ="100.23"   intX=strY                     '将字符串赋给整型变量   strY = Cos(strY)              '将余弦值赋给字符串变量   Text1.Text=strY               '在文本框中显示字符串 End  Sub 由于字符串常量"100.23"是数值形式,所以,对整型变量和字符串型变量都是赋值相容。文本框的Text属性是字符串型的,能够正确地显示字符串和数值。运行应用程序并单击命令按钮,便可观察到显示结果。 (2)整型与实型 一般地,把一个整数赋给一个实变量,将不会出什么错。但当把一个长整数赋给一个单精度变量,就可能会受示数精度的影响。 例如; Dim x As Single,y As Long y=2147483647                     'y是一个10位长整数 x=y x只能把y表示成为2147483E+3。而把一个实数赋给一个整变量,则只能获取它的整数部分了。 3.2.2  数据输入 把要加工的初始数据从某种外部设备,例如键盘、磁盘文件等输入到计算机的存储器中,并把处理结果输出到指定设备(通常是显示在屏幕、从打印机打印或保存在磁盘上),这是程序设计语言所应具备的基本部分。     VB为从键盘输入数据提供了两个函数:InputBox()和MsgBox()。     1.  InputBox函数     格式:InputBox()     InputBox函数产生一个对话框,作为输入数据的界面,等待用户输入正文或按下按钮。函数返回值是字符串(String)类型。     作为对话框提示消息出现的字符串表达式,最大长度大约是1024个字符,根据所用字符的宽度不同而有所改变。如果包含多行,可在各行之间用回车换行符的组合(Chr(13)&Chr(10))或Visual Basic中的常量vbCrLf来分隔。     每执行一次InputBox函数,只能输入一个数据,所以实际应用中,经常把InputBox函数与循环语句、数组结合使用。     例3.5  设计一程序,由用户输入圆的半径,计算并输出圆的周长和面积。     (1)界面设计     在窗体上放置3个Label控件和3个TextBox控件,分别用作显示圆的半径、周长、面积的标题以及它们的值。再放置2个CommandButton控件,用作开始执行计算和结束程序运行。用属性表设置它们的主要属性如下: 表3-1  设置属性表 控    件 属性 属性值 Label1 Caption属性 圆半径 Label2 Caption属性 圆周长 Label3 Caption属性 圆面积 Textl Text属性 设为空白 Text2 Text属性 设为空白 Text3 Text属性 设为空白 Command1 Caption属性 开始 Command2 Caption属性 结束 设计完成的界面如图3-12所示。 (2)编写事件过程如下 Private Sub Command1_Click()    Dim r!, l!, s!    r = InputBox("请输入圆的半径:")    l = 2 * 3.14159 * r    s = 3.14159 * r ^ 2    Text1.Text = r    Text2.Text = l    Text3.Text = s End Sub Private Sub Command2_Click() End End Sub 程序运行后,单击“开始”命令按钮,此时执行事件过程Command1_Click(),第1条赋值语句调用InputBox函数,弹出InputBox对话框,如图3-13所示。在文本框内输入半径值,选择“确定”。VB把InputBox函数数值形式的字符串自动转换为单精度型数值,赋给变量r,继续执行后续语句,计算圆周长,放在变量1中:计算圆面积,放在变量s中;最后把r,1,s的值分别赋给3个文本框的Text属性,使它们的值显示出来,如图3-14所示。     若单击“结束”命令按钮,执行事件过程Command2_Click()。该过程只有一个End语句,结束程序执行,回到VB集成环境。     当要使用InputBox函数获取数值型数据时,为了能够正确地把字符串转换成数值型数据,通常应该对被赋值变量作出类型说明,正如在例3.5中有:     Dim r!,l!,S!     r:=InputBox(”请输入圆的半径:”)     或者使用Val函数作类型转换:     r=Val(InputBox(”请输入圆的半径:”))     经过这样处理后,若用户输入非数值形式的数据,系统将给出类型错误信息,避免程序对数据的不正确处理。     InputBox函数还可以带各种可选参数。如定义对话框的标题、大小、位置,以及输入的默认值等。     下面以具体例子说明之。     Dim Prompt,Title,Default,MyValue        '说明各变量为可变类型     Prompt=”输入一个1至3之间的值:”          '设置提示信息     Title=”数据输入”                          '设置标题     Default=”1”                               '设置默认值             '对话框显示提示信息、标题及默认值     MyValue=InputBox(Prompt,Title,Default) 图3-15 Inputbox函数示例         结果如图。             '在100,100的位置显示对话框 MyValue=InputBox(Prompt,Title,Default,100,100) '在100,100的位置显示对话框,但不使用Title,Default参数     MyValue=InputBox(Prompt,,,100,100)     注意到在InputBox函数中参数是按一定顺序排列的,为了省略某些参数,必须加入相应的逗号分隔。     2.MsgBox函数     格式:MsgBox()     MsgBox函数用于接受用户简单的选择信息,以决定其后的操作。MsgBox函数在对话框中显示消息,等待用户单击按钮,并返回一个整型值,告诉程序用户单击了哪一个按钮。参数的意义与InputBox函数相同。     最简单的函数形式调用语句如:   Msg=MsgBox(“操作已完成”) 执行结果出现图3-16的对话框,用户单击“确定”按钮MsgBox返回数值1。 MsgBox对话框出现后,用户必须作出选择,程序才可以继续运行。即必须单击某个按钮或按回车键,否则不能执行其他操作。在Windows中,这样的窗口(对话框)称为模态窗口。程序运行时,模态窗口挂起应用程序中其他窗口的操作,直到获得应答。模态窗口可以设置成不同的强制级别,即可以挂起不同级别的应用程序。     实际应用中,这种形式显得太简单了。MsgBox函数可以带其他可选参数,使对话框具有不同的形式,供用户可作不同的选择。     两个主要的可选参数是和
/
本文档为【VB语言基础】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索