16-1第一课初步认识程序设计程序由一系列指挥计算机工作的指令组成,它是应用软件和系统软件的核心。由于计算机的操作主要是对各种数据进行处理,因此在程序中还必须对操作的对象——数据进行安排。数据在计算机中的组织称为数据结构,而算法则是对解决问题的方法和步骤的描述,即对操作步骤的描述,所以我们还可以进一步理解为:程序=数据结构+算法。从分析问题,确定算法,用计算机语言编写程序,上机运行并调试程序,直到问题解决,这过程就是程序设计。随着计算机技术的发展,程序设计语言已经从机器语言、汇编语言发展到高级语言;从面向问题处理过程的结构化程序设训语言,发展到面向对象的可视化程序设计工具。所谓事件(Event),是指用户操作引发或由系统引发,能被对象所识别并做出响应的动作。例如,用户单击命令按钮将引发CommandButton的Click事件,程序运行窗体加载将引发Form的Load事什等等。一、面向对象程序设计的思想在面向对象程序设计语言中,把代码和数据“封装”起来视为一个对象,并为每个对象赋予各种属性,使对象成为实在的、可视的实体。程序设计人员在开发应用程序时,无需编写创建和描述每个对象的程序代码,只需针对各个对象编写其要完成的功能的程序代码就可以了。在一个程序内部制作的对象,可以比较容易地在其他应用程序中使用,这样大大节省了开发应用程序的时问,并且这种面向对象的程序设计也提高了编程的简易性。二、VisualBasic程序设计语言的特点VisualBasic是一种可视化、面向对象、采用事件驱动方式、结构化的高级程序设计语言。前3个特点我们已经有了一些初步认识,那么结构化是什么意思昵?结构化就是所有程序都可以由顺序结构、选择结构、循环结构这3种基本结构组成。三、VB简单应用程序的设计步骤1.设计图形用户界面。2.设置对象属性.3.编写对象事件过程及通用过程代码。4.运行调试程序。5.保存工程。16-2四、方法的概念在VB系统中,一个对象除了具有属性之外,往往还具有一些内部的函数或过程,表示该对象所能做的动作。这些函数或过程是由VB系统定义和实现的,用户不需要详细了解其内部代码和实现过程,只需要熟知其功能定义及调用方式即可。这些函数或过程即称为对象的方法(Method)。每一个对象都可以有自己的一个或多个方法。每个方法都定义了一个具有特定意义的操作。例如,Form对象有End、Print(打印)等方法。方法的语句格式为:[对象名]方法名[参数l,参数2,……]五、书写代码时应注意的事项1.在书写VB代码时不分大小写,但为了使程序清晰、可读,VB自动将关键字的首字母转换成大写。2.在书写语句时,一行可以写一条语句,也可以写多条语句。写多条语句时,语句之间要用“:”分隔。例如:a=3b=5c=a*b可以写为:a=3:b=5:c=a*b3.在语句行中使用的标点符号,只能是英文半角方式下的符号,包括:各参数间的分隔符、语句之间的分隔符、函数中用于携带自变量的圆括号、将字符串引起来的双引号等,都是英文半角方式下的符号。4.输入程序代码时只能使用半角方式,不能使用全角方式。阅读材料:1.机器语言目前电子计算机采用的物理器件主要是电子元件,由于电子元件的特性,计算机只能够识别“0”和“1”组成的机器代码。因此,早期的程序设计语言是由“0”和“1”这样的二进制代码指令组表示的,是能够被计算机直接接受和执行的计算机语言,通常称为机器语言。不同计算机的指令系统会有所不同。每一条机器指令一般包含两个主要部分操作(指出计算机应做什么)和被操作的对象(指出处理的数据或它的地址)。在这些指令的控制下,计算机可以实现最基本的算术运算和逻辑运算。16-3人们与早期的计算机通信都是由通过机器语言编写的程序来完成的,程序中的所有语句都被分解为一系列由0和1组成的代码,记录在穿孔带上。这种程序难以理解,程序设计任务繁重,效率低下,而且要求程序员必须经过专门的训练。显然,这种机器语言与人类的自然语言之间存在着巨大的鸿沟。2.汇编语言为了让使用机器语言编写的程序更易理解,程序员使用了一种类似英语缩略词且带有助记性符号的语言,每条汇编指令都和一条机器指令相对应,只是指令码和操作数都采用符号形式,这种语言被称为汇编语言。这种语言与特定的机器和特定的微处理器有关,而且不能被机器直接接受,必须用一种语言翻译器将程序中的每条语句翻译成机器语言才能执行。与机器语言相比,差异不大。3.高级语言利用汇编语言与计算机进行交流仍然存在着很大障碍,程序的理解和调试仍然十分困难。于是,高级语言应运而生,第一个高级程序设计语言是Fortran语言,主要用于科学和工程计算,它更接近自然语言。用高级语言编写的程序必须经过翻译器将其翻译成机器语言,才能在计算机上执行。高级语言中的每条语句都将被翻译成多条机器语言。由于高级语言的抽象度比较高,源代码无须与硬件、系统底层操作对应,所以移植性比汇编语言要好得多,理想的情况下甚至不必为不同的系统平台或者机器改动源代码。高级语言的出现为计算机的应用开辟了广阔的前景,在Fortran语音之后,又出现了许多高级语言,如Basic、Pascal、c++、Java等等。第二课表达式与数据类型一、算法做任何事情都有一定的步骤。比如看电影,步骤为:买票、按时到场、验票入场、找座位坐下、看电影、退场等等。这里涉及两个问题,一是必须做什么,二是按什么顺序做。也就是说,对下一个需要解决的问题,如何解决并将它分解为一系列可行的操作步骤,这就是“算法”需要研究的问题。所以说算法(Algorithm)是解决个问题而采取的方法和步骤。要完成一件工作,应包括设计算法和实现算法两部分。二、数据类型16-4用于描述客观事物的数字、字符以及所有能输入到计算机中并被计算机程序加工处理的符号的集合统称为数据。VB能处理的数据有很多种,不同类型的数据有不同的表示方法、不同的操作方式和不同的取值范围。VB常用的数据类型有以下几种。(1)数值型数据数值型数据一般能够进行计算,又分为整型和实型。整型数是指不带小数和指数符号的数,如l23、-5、3652等。而实型数是指带小数或指数符号的数,如:123.0、-0.5、4.85E13(即4.85X10的13次方)等。(2)字符型数据字符型数据用以定义一个字符序列,一般不用于计算,但可以比较大小或进行连接。如“VisualBasic”、“123456”、“李明”等。像电话号码、邮政编码、身份证号码等数据,一般定义为字符型数据。对于字符型数据,常用引号括起来。(3)逻辑型数据逻辑型数据用来表示现实中只有两种可能的情况,只有True(真)和False(假)两个值。如字形是否加下划线、图片是否显示、考试是否通过等,都可以用逻辑型数据来表示。当逻辑型数据转换为数值型数据时,True对应-1,False对应0。(4)日期型数据日期型数据用以表示日期,如2006年5月12日可以用#05/12/2006#表示。三、常量、变量、函数、表达式从数据处理的层次上讲,数据可分为常量、变量、函数和表达式。1.常量顾名思义,常量是在程序执行期间其值不变的量。如3.14、-256、“l23”、“北京”、Truc等。2.变量变量是在程序执行期间其值可变的量。变量实际上是一个存储单元,存储单元的名称就是变量名。变量能够用来保存数据。变量名必须以字母或汉字开头,可以由字母、数字和下划线组成,长度不超过255个字符,中间不能包括:+、-、*、/、&、$等符号,给变量命名不得使用VB已经使用的名字(称为关键字)。如xl、a_2、Ab、姓名、password是合法变量名,而3x、end、sub、a-b是非法的。在VB中,许多对象的属性就是变量。3.函数16-5函数是事先编制好的带有返回值的程序。VB本身提供许多通用函数,用户在需要使用时直接调用即可。例如,在计算圆周长与面积时,用户在文本框中输入半径,文本框控件接收的数据均为字符型数据,但计算时则需要数值型数据。函数备忘录函数含义备注Abs()绝对值函数Fix()截断函数截去小数点后面的小数部分Rnd随机函数产生(0,1)区间的随机数Randomize设置随机函数的种子Sqr()平方根函数Time时间函数Date日期函数Val()数值转换函数Str()字符串转换函数4.表达式(1)算术表达式一般数学中的算式,VB无法理解,需要转换成VB可以识别的表达形式。用运算符和括号将若干运算量(常量、变量、函数、属性值等)连接起来的式子称为VB表达式。16-6(2)关系表达式条件表达式是指可以作为判断依据的表达式,条件表达式的值是逻辑型数据(Boolean),只有“真”或“假”两个值。关系表达式是条件表达式的一种,是指用关系运算符把算术表达式或字符表达式连接起来的式子。关系运算符有:、、=、、=、=。第三课顺序结构按照程序的书写顺序执行,这样的程序结构就叫做顺序结构。1.赋值语句:已经书写好的VB表达式,怎样赋值给变量呢?通常,为变量和对象属性设置新值要使用赋值语句。赋值语句是程序中最基本的语句。在表述一个算法时,经常要引入变量,并赋给该变量一个值,用来表明赋给某一个变量的一个具体的确定值的语句叫做赋值语句。一般格式:变量名=表达式功能:先计算“=”右边表达式的值,然后将其值赋给左边的变量或属性。说明:“=”在此不代表等量关系,而是赋值号。赋值是一种操作,是具有方向性的,并且要求“=”两边的数据类型要一致。例如:构建表达式:A=2*B+1L=2*3.14*r利用控件赋值:X=val(text1.tex)Label5.caption=y2.键盘输入语句:变量名=inputbox(“提示”,“标题”)例如:r=inputbox(r=,输入半径)3.打印输出语句Print“提示语”;变量,“提示语”;表达式16-7①print输出内容中的输出内容指程序要输出的数据,输出语句可以输出常量,变量,表达式的值,例如print(,B),print(4*3)等。②print输出内容中的“输出内容”有多项时,一定要用“;”或“,”作分隔,其中:“;”表示紧凑格式“,”表示分区格式可用多个Print来表示例如:Printx=;x,y=;y③打印内容不换行Print打印内容;或Print打印内容,④打印换行Print⑤打印空格Printspace(x)4.val(自变量)函数把自变量的字符类型转换成数值类型第四课选择结构选择结构是程序设计的一种基本结构,它根据给定条件是否成立,来决定执行哪些操作。VB系统提供的分支语句可以同时实现判断与分支功能。分支语句有不同的格式,可以根据需要进行选择。1.单行if语句格式:If条件then语句1Else语句22.块结构if语句在条件比较简单并且分支语句块也简单的情况下,为了书写方便可以使用单行If语句。但是当分支语句块比较复杂时,用单行If语句就难于书写了,而且也不便于进行程序块的凸凹处理,致使程序的结构不清晰。因此人们常采用块结构的分支语句。16-8格式:If条件then语句组1Else语句组2Endif3.随机函数随机函数Rnd可以产生[0,1]区间的随机小数,如0、0.7055475、0.4932等,但不可为1。Randomize语句使Rnd函数产生不同的随机序列,该语句要放在Rnd函数使用之前。4.截断函数截断函数Fix(x)代表取自变量x的整数部分,如Fix(0.5)=0,Fix(2.9)=2。由上可知,0≤Rnd1;根据不等式变换规则,有0≤Rnd*1010,从而可以得到[0,1O)区间上的随机数。如果用表达式Fix(Rnd*lO),则可以得到[0,9]区间上的随机整数。依此类推,使用公式Fix(Rnd*(n-m+1))+m,可以得到[m,n]区间上的随机整数。5.逻辑表达式由逻辑运算符将关系表达式连接起来的式子称为逻辑表达式。常用的逻辑运算符有三种,它们是And(逻辑与)、Or(逻辑或)和Not(逻辑非)。(1)And(逻辑与)当它所连接的两个条件都满足,则“逻辑与”的条件成立。(2)Or(逻辑或)当它所连接的