19中-2015vb学习资料讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一课初步认识程序设计
程序由一系列指挥计算机工作的指令组成,它是应用软件和系统软件的核心。
由于计算机的操作主要是对各种数据进行处理,因此在程序中还必须对操作的对象——数据进行安排。
数据在计算机中的组织称为数据结构,而算法则是对解决问题的方法和步骤的描述,即对操作步骤的描述,所以我们还可以进一步理解为:程序=数据结构+算法。
从分析问题,确定算法,用计算机语言编写程序,上机运行并调试程序,直到问题解决,这过程就是程序设计。
随着计算机技术的发展,程序设计语言已经从机器语言、汇编语言发展到高级语言;从面向问题处理过程的结构化程序设训语言,发展到面向对象的可视化程序设计工具。
所谓事件(Event),是指用户操作引发或由系统引发,能被对象所识别并做出响应的动作。
例如,用户单击命令按钮将引发CommandButton的Click 事件,程序运行窗体加载将引发Form的Load事什等等。
一、面向对象程序设计的思想
在面向对象程序设计语言中,把代码和数据“封装”起来视为一个对象,并为每个对象赋予各种属性,使对象成为实在的、可视的实体。
程序设计人员在开发应用程序时,无需编写创建和描述每个对象的程序代码,只需针对各个对象编写其要完成的功能的程序代码就可以了。
在一个程序内部制作的对象,可以比较容易地在其他应用程序中使用,这样大大节省了开发应用程序的时问,并且这种面向对象的程序设计也提高了编程的简易性。
二、Visual Basic程序设计语言的特点
Visual Basic是一种可视化、面向对象、采用事件驱动方式、结构化的高级程序设计语言。
前3个特点我们已经有了一些初步认识,那么结构化是什么意思昵?结构化就是所有程序都可以由顺序结构、选择结构、循环结构这3种基本结构组成。
三、VB简单应用程序的设计步骤
1.设计图形用户界面。
2.设置对象属性.
3.编写对象事件过程及通用过程代码。
4.运行调试程序。
5.保存工程。
四、方法的概念
在VB系统中,一个对象除了具有属性之外,往往还具有一些内部的函数或过程,表示该对象所能做的动作。
这些函数或过程是由VB系统定义和实现的,用户不需要详细了解其内部代码和实现过程,只需要熟知其功能定义及调用方式即可。
这些函数或过程即称为对象的方法(Method)。
每一个对象都可以有自己的一个或多个方法。
每个方法都定义了一个具有特定意义的操作。
例如,Form对象有End、Print(打印)等方法。
方法的语句格式为:
[对象名]方法名[参数l,参数2,……]
五、书写代码时应注意的事项
1.在书写VB代码时不分大小写,但为了使程序清晰、可读,VB自动将关键字的首字母转换成大写。
2.在书写语句时,一行可以写一条语句,也可以写多条语句。
写多条语句时,语句之间要用“:”分隔。
例如:
a=3
b=5
c=a*b
可以写为:a=3:b=5:c=a*b
3.在语句行中使用的标点符号,只能是英文半角方式下的符号,包括:各参数间的分隔符、语句之间的分隔符、函数中用于携带自变量的圆括号、将字符串引起来的双引号等,都是英文半角方式下的符号。
4.输入程序代码时只能使用半角方式,不能使用全角方式。
阅读材料:
1.机器语言
目前电子计算机采用的物理器件主要是电子元件,由于电子元件的特性,计算机只能够识别“0”和“1”组成的机器代码。
因此,早期的程序设计语言是由“0”和“1”这样的二进制代码指令组表示的,是能够被计算机直接接受和执行的计算机语言,通常称为机器语言。
不同计算机的指令系统会有所不同。
每一条机器指令一般包含两个主要部分操作(指出计算机应做什么)和被操作的对象(指出处理的数据或它的地址)。
在这些指令的控制下,计算机可以实现最基本的算术运算和逻辑运算。
人们与早期的计算机通信都是由通过机器语言编写的程序来完成的,程序中的所有语句都被分解为一系列由0和1组成的代码,记录在穿孔带上。
这种程序难以理解,程序设计任务繁重,效率低下,而且要求程序员必须经过专门的训练。
显然,这种机器语言与人类的自然语言之间存在着巨大的鸿沟。
2.汇编语言
为了让使用机器语言编写的程序更易理解,程序员使用了一种类似英语缩略词且带有助记性符号的语言,每条汇编指令都和一条机器指令相对应,只是指令码和操作数都采用符号形式,这种语言被称为汇编语言。
这种语言与特定的机器和特定的微处理器有关,而且不能被机器直接接受,必须用一种语言翻译器将程序中的每条语句翻译成机器语言才能执行。
与机器语言相比,差异不大。
3.高级语言
利用汇编语言与计算机进行交流仍然存在着很大障碍,程序的理解和调试仍然十分困难。
于是,高级语言应运而生,第一个高级程序设计语言是Fortran语言,主要用于科学和工程计算,它更接近自然语言。
用高级语言编写的程序必须经过翻译器将其翻译成机器语言,才能在计算机上执行。
高级语言中的每条语句都将被翻译成多条机器语言。
由于高级语言的抽象度比较高,源代码无须与硬件、系统底层操作对应,所以移植性比汇编语言要好得多,理想的情况下甚至不必为不同的系统平台或者机器改动源代码。
高级语言的出现为计算机的应用开辟了广阔的前景,在Fortran语音之后,又出现了许多高级语言,如Basic、Pascal、c++、Java等等。
第二课表达式与数据类型
一、算法
做任何事情都有一定的步骤。
比如看电影,步骤为:买票、按时到场、验票入场、找座位坐下、看电影、退场等等。
这里涉及两个问题,一是必须做什么,二是按什么顺序做。
也就是说,对下一个需要解决的问题,如何解决并将它分解为一系列可行的操作步骤,这就是“算法”需要研究的问题。
所以说算法(Algorithm)是解决个问题而采取的方法和步骤。
要完成一件工作,应包括设计算法和实现算法两部分。
二、数据类型
用于描述客观事物的数字、字符以及所有能输入到计算机中并被计算机程序加工处理的符号的集合统称为数据。
VB能处理的数据有很多种,不同类型的数据有不同的表示方法、不同的操作方式和不同的取值范围。
VB常用的数据类型有以下几种。
(1)数值型数据
数值型数据一般能够进行计算,又分为整型和实型。
整型数是指不带小数和指数符号的数,如l23、-5、3652等。
而实型数是指带小数或指数符号的数,如:123.0、-0.5、4.85E13(即4.85X10的13次方)等。
(2)字符型数据
字符型数据用以定义一个字符序列,一般不用于计算,但可以比较大小或进行连接。
如“Visual Basic”、“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.函数
函数是事先编制好的带有返回值的程序。
VB本身提供许多通用函数,用户在需要使用时直接调用即可。
例如,在计算圆周长与面积时,用户在文本框中输入半径,文本框控件接收的数据均为字符型数据,但计算时则需要数值型数据。
函数备忘录
4.表达式
(1)算术表达式
一般数学中的算式,VB无法理解,需要转换成VB可以识别的表达形式。
用运算符和括号将若干运算量(常量、变量、函数、属性值等)连接起来的式子称为VB表达式。
(2)关系表达式
条件表达式是指可以作为判断依据的表达式,条件表达式的值是逻辑型数据(Boolean),只有“真”或“假”两个值。
关系表达式是条件表达式的一种,是指用关系运算符把算术表达式或字符表达式连接起来的式子。
关系运算符有:<、>、=、<>、>=、<=。
第三课顺序结构
按照程序的书写顺序执行,这样的程序结构就叫做顺序结构。
1.赋值语句:
已经书写好的VB表达式,怎样赋值给变量呢?通常,为变量和对象属性设置新值要使用赋值语句。
赋值语句是程序中最基本的语句。
在表述一个算法时,经常要引入变量,并赋给该变量一个值,用来表明赋给某一个变量的一个具体的确定值的语句叫做赋值语句。
一般格式:
变量名=表达式
功能:先计算“=”右边表达式的值,然后将其值赋给左边的变量或属性。
说明:“=”在此不代表等量关系,而是赋值号。
赋值是一种操作,是具有方向性的,并且要求“=”两边的数据类型要一致。
例如:
构建表达式:
A=2*B+1
L=2*3.14*r
利用控件赋值:
X=val( text1.tex)
Label5.caption = y
2.键盘输入语句:
变量名 = inputbox(“提示”,“标题”)
例如:
r=inputbox("r=","输入半径")
3.打印输出语句
Print “提示语”;变量,“提示语”;表达式
①print输出内容中的输出内容指程序要输出的数据,输出语句可以输出常量,变量,表达式的值,例如print(,B), print(4*3)等。
②print输出内容中的“输出内容”有多项时,一定要用“;”或“,”作分隔,其中:
✧“;”表示紧凑格式
✧“,”表示分区格式
✧可用多个Print来表示
例如:
Print "x=";x,"y=";y
③打印内容不换行
Print 打印内容;
或Print 打印内容,
④打印换行
Print
⑤打印空格
Print space(x)
4.val(自变量)函数
把自变量的字符类型转换成数值类型
第四课选择结构
选择结构是程序设计的一种基本结构,它根据给定条件是否成立,来决定执行哪些操作。
VB系统提供的分支语句可以同时实现判断与分支功能。
分支语句有不同的格式,可以根据需要进行选择。
1.单行if语句
格式:
If 条件 then 语句1 Else 语句2
2.块结构if语句
在条件比较简单并且分支语句块也简单的情况下,为了书写方便可以使用单行If语句。
但是当分支语句块比较复杂时,用单行If语句就难于书写了,而且也不便于进行程序块的凸凹处理,致使程序的结构不清晰。
因此人们常采用块结构的分支语句。
格式:
If 条件 then
语句组1
Else
语句组2
Endif
3.随机函数
随机函数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≤Rnd<1;根据不等式变换规则,有0≤Rnd*10<10,从而可以得到[0,1O)区间上的随机数。
如果用表达式Fix(Rnd*lO),则可以得到[0,9]区间上的随机整数。
依此类推,使用公式Fix(Rnd*(n-m+1))+m,可以得到[m,n]区间上的随机整数。
5.逻辑表达式
由逻辑运算符将关系表达式连接起来的式子称为逻辑表达式。
常用的逻辑运算符有三种,它们是And(逻辑与)、Or(逻辑或)和Not(逻辑非)。
(1)And(逻辑与)
当它所连接的两个条件都满足,则“逻辑与”的条件成立。
(2)Or(逻辑或)
当它所连接的两个条件中有一个(或一个以上)满足,则“逻辑或”的条什成立。
(3)Not(逻辑非)
对一个逻辑量取反。
例如有一个逻辑量的值为真,加上Not后,该逻辑表达式的值即为假。
6.运算符的优先级别:
7.变量的声明
由于生成随机数要在Form的Load()事件过程中进行,而判断要在单击“判断”按钮之后进行,这两个不同的事件过程都要调用同一个变量。
此种情况,在变量使用前,应该对变量进行定义。
一般使用Dim语句进行定义。
Dim语句的一般格式为:Dim 变量名 As 数据类型
其中,数据类型可以是Integer(整型)、Single(单精度型)、String(字符型)等。
Dim语句的主要功能为:定义变量的类型及作用范围,合理分配内存。
8.使用消息函数反馈信息
消息函数MsgBox()用来弹出显示简单信息的对话框,并等待用户单击按钮作出反应。
消息函数的常用格式为:MSgBox(<prompt>)
其中,prompt为需要显示的文字信息。
例如:MsgBox(”你猜对了!”)
例题:猜数游戏。
要求系统随机产生一个0-9之间的自然数,由用户猜数。
如果猜对了,系统给出猜测正确的信息,再猜下一个;如果猜错了,能
够显示是猜大了还是猜小了。
程序代码:
利用逻辑表达式书写判断条件,程序可以改写为:
第五课循环结构
一、For…Next循环
1.For…Next循环结构
在程序设计中,要完成重复执行的工作时,需要使用循环结构语句。
循环结构语句有多种形式,当事先知道需要重复执行次数时,可以使用For…Next循环语句。
For…Next循环结构格式:
For 循环变量=初值 to 终值 step 步长
循环体
Next 循环变量
其中,For语句称为“循环起始语句”,它的作用是确定循环变量的值如何变化,从而控制循环的次数。
Next语句称为“循环终端语句”,它的作用是标志循环的范围。
在For语句和Next语句之间的语句组就是“循环体”。
当程序执行到For语句时,首先将初值赋给循环变量,记录下终值和步长值,并判断循环变量是否超过终值,如果超过,就跳出循环,否则执行循环体中的语句;当执行到Next语句时,系统所做的工作是将循环变量在原值的基础上增加一个步长值,然后再返回和终值进行比较,如果循环变量的值超越终值,就跳出循环,执行Next语句后面的语句,否则继续执行循环体,
重复上述的过程。
当步长值等于1时,循环起始语句中的“step 步长”可以省略不写。
加强练习:
练习1 :0-1+2-3+······+98-99+100=
练习2: 练习3: 1*2+2*3+3*4+···+9*10=
练习4:利用控件输入100以内的任意一个数,计算从1到该数的和(计算从1到100以内任一个数的和)
2.For …Next 循环嵌套
For …Next 循环嵌套格式:
For 循环变量1=初值 to 终值 step 步长
······
For 循环变量2=初值 to 终值 step 步长
循环体
Next 循环变量2
······
Next 循环变量1
3.循环嵌套应用
1)计算问题
例如1:水仙花数是指一个三位数,其各个位上的数字的立方的和等于该三位数。
如153就是水仙花数,因为153=1^3+5^3+3^3。
编程求所有的三位水仙花数。
例如2:用15元买15包食品,食品有糖、花生、瓜子3种,糖每包2元,花生每包1元,瓜子每包0.5元,编程找出所有解决方案。
2)打印图形
=-++-+-10
191 (4131211)
二、Do循环
1.Do循环结构:
Do
循环体
Loop Until 循环终止条件2.Do循环语句的四种变化:
3.循环语句的比较
For循环主要用于描述预先知道循环次数的循环结构,是一种计数循环。
Do循环是根据条件是否满足而决定循环是否继续进行,而条件的判断可以在循环语句的开始部分设立(先判断条件再进入循环体),也可以把条件判断放在循环语句的结尾部分(先执行一次循环体再进行条件判断)。
并且可以根据条件的表述使用关键词“While”或者“Until”。
加强练习:
练习1:当1+4+7+10+······+ N 之和超过20000时,求N的值。
练习2:当S=1+2+3+4+······+ N,求一个最大的N值,使得S<3000。
第六课字符串变量
字符串:由双引号括起来的一串字符称为字符串。
字符串变量是在变量名的后面加$符号。
如:A$
其中:
1、双引号不是字符串的一部分
2、空格作为一个字符
3、允许有空串,即字符串不包括任何字符,用””表示
4、字符串中大小写字母有区别
例如:
A$=”12345”
B$=”67890”
C$=right(A$,3)+left(B$,2)
D$=mid(C$,2,3)
Print A$,B$,C$,D$
加强练习:
练习1:输入字符串(字符串长度小于40),将其逆序打印输出。
练习2:键盘输入一串英文单词,统计其中字母“a”出现的次数。
练习3:输入字符串,打印由字符组成的某个规律图形。
第七课数组
把用一个名字来代表的按一定顺序排列的一组数据或变量称为数组。
格式:数组名(下标)
其中:
下标可以是常量、已经赋值的变量、表达式、数组元素。
下标值 >= 0,小数部分自动四舍五入。
加强练习:
练习1:随机产生10个两位整数并按升序重新排
练习2:随机产生30个0-5之间的整数,统计各个数字出现的次数。