资源描述
高中信息技术《算法与程序设计VB(选修)》
知识要点
相关知识点
(一)算法
1.定义
相关题解:
1算法:就是解决问题的方法和步骤。算法是程序设计的“灵魂”,算法+数据结构=程序。
运用计算机程序解决实际问题时,合理的步骤是B、分析问题→设计算法→编写程序→调试程序
2.算法的描述方法:
1算法的描述:可分多种表达方法,一般用自然语言、流程图和伪代码进行描述。
2自然语言描述法:指用人们日常生活中使用的语言(本国语言),用自然语言描述符合我们的习惯,且容易理解。
3流程图描述:也称程序框图,它是算法的一种图形化表示方法。且描述算法形象、直观,更易理解。
4伪代码描述法:是介于自然语言和计算机程序语言之间的一种算法描述。是专业软件开发人员常用方法。
输入或输出
判断
处理或运算
连接点
流程线
开始或结束
(二)程序设计基础
对象.属性=属性值
对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过程序代码设置,方法如下
例:给文本框“Txt123”的“Text”属性赋值为字符串“20”,代码如下
Txt123.text =”20”
变量=对象.属性
如果要获取对象的状态或特性,这时就要读取对象的属性值,方法如下
例:读取文本框“txt123”的“Text”属性的代码如下
a = txt123.text
2方法
[对象].方法[参数名表]
例:form.print ”欢迎使用”
该语句使用print方法在form1窗体中显示字符串“欢迎使用”
3事件及事件驱动
事件是对象对外部操作的响应,如在程序执行时,单击命令按钮会产生一个Click事件。如需要命令按钮响应Click事件,就把完成Click事件功能的代码写到Click事件的事件过程中,与事件一一对应。
事件过程的形式如下:
Private Sub 对象_事件名( )
……………(事件过程代码)
End Sub
一个简单的VB程序
求圆的周长和面积
Private Sub Command1_Click()
Dim r As Single '定义r为单精度型
Dim c As Single '定义c为单精度型
Dim s As Single '定义s为单精度型
r = Val(Text1.Text) '输入半径r
c = 2 * 3.14159 * r '计算周长
s = 3.14159 * r * r '计算面积
Text2.Text = c '输出周长
Text3.Text = s '输出面积
End Sub
Private Sub Command2_Click()
End '退出
一、常量:批在程序进行过程中不变的量在VB中一般分数值常量与字符常量两种
数值常量:就是数学中说的常数,分整型常量和实型常量两种
整型常量:即整数,指不带小数点的数值如1、0、、-10、+35等都是合法的整数
实型常量:即实数,指带小数点的数值。
实型常量又分为定点数和浮点数两种。
例:定点数:3.14159和-6.8,1.99
浮点数:2E6、1E5、88E
例:1.2345×103 可表示为1.2345E3,字母E表示底数10
浮点数就是数学上的科学计数法。
字符串常量:被一对双引号括起来的若干个合法的字符称为字符串常量。例如:”China”、”Visual Basic”、”18”、”3.1415”等,双引号中字符,不包括双引号本身。
符号常量:如果多次用到同一个常量,则可用一个有意义的名字表示这个常量。
二、变量:在程序执行过程中,其值可以改变的量称为变量
变量命名注意要点:1、必须以字母开头,不能以数字或其他字符开头。
2、只能由字母、汉字、数字学或下划线组成,不能含有小数点、空格等字符。
3、最长不超过255个字符
4、不能以VB保留字作变量名,如语句定义符、函数名等。
5、VB不区分变量名中字母大小写。如HELLO和Hello是同一个变量。
数据及运算
(1)常用数据类型:(整型)Integer、(长整型)Long、(单精度型)Single、(双精度型)Double、(字符串型)String、(布尔型)Boolean、(日期型)Date
其中(整型)Integer、(长整型)Long、(单精度型)Single、(双精度型)Double属于数值型
表示范围:
(整型)Integer (-32768 —— 32767,存储为 16 位 , 2 个字节)
(长整型)Long(-21亿 —— 21亿,可以表示人口数量)
(布尔型)Boolean(True 真、是 或 False假、非)
(字符串型)String(定长字符串:0——65535个字符,不定长字符串:0——20亿个字符)
字符串型数据是指用 “ ”括起来的一串字符。如“欢迎进入VB世界!”、“ Visual Basic” 、“1234 ”都是字符串类型。
(日期型)Date(100/1/1——9999/12/31)
日期型数据专门用来处理日期和时间。VB采用一对“#”把日期和时间的值括起来,如#2003/08/20#表示2003年8月20日。
(2)变量的命名、声明及赋值
变量的声明:
Dim <变量名 >As <变量类型>
如:Dim a As Integer 定义一个 整型变量,变量名为a
变量的赋值
VB中使用Let语句给变量赋值,其形式如下:
变量 = 表达式
数据的输出
程序中运算得到的结果,除可以使用文本框和标签显示外,对于大批量的数据更适合用Pint方法输出,格式如下
[对象] . Print [表达式列表]
例题:
Private Sub Form_Click()
Dim x As Single, y As Single
Form1.Print -61; -34
Form1.Print 9 * 2; 12
Form1.Print "This is"; "a book"
x = 3: y = 4
Print "x="; x, "y="; y
End Sub
注意:Print 方法
运算符
1、 算术运算:
+ 加 -- 减 *乘
^ 指数 例:2^2 = 4
/ (浮点)除 例:5 / 2 = 2.5
\ 整除 例: 5 \ 2 = 2
Mod 求余数 例:5 Mod 2 = 1
关系运算
= 赋值 、 < 小于号
<> 不等于 > 大于号
>= 大于等于号 <=小于等于号
注意:关系表达式的运算结果为布尔值True 或 False
例:3 > 2 结果为 True(真或是)
逻辑运算
Not(取反)And(与) Or(或)
运算结果为布尔型(Boolean)True 或 False
逻辑运算符的优先级为:No > And > Or
日期运算符与日期表达式
日期表达式是用日期运算符“+”或“-”将算式表达式、日期型常量、日期型变量、日期函数等连接起来的式子,如表达式“#2003/09/01# +30”的运算结果是“2003-10-1”;表达式“#2003/10/20# - #2003/10/10#”的运算结果为整数10
字符运算
字符串连接符为“+”和“&”
“123” + “45” = “12345”
“123” & “45” = “12345”
123 + “45” = 168
“123” + 45 = 168
运算符的执行顺序
在VB中,当一个表达式中同时出现多种运算符时,运算次序由运算符的优先级决定,优先级高的运算符先运算,优先级相同的从左向右进行运算。不同性质的运算符优先级如下。
算术运算符 > 字符串运算符 > 关系运算符 > 逻辑运算符
常用函数
数学函数
Abs(x) 求x 的绝对值,例:abs(-3.6) = 3.6
Sqr(x) 求 x 的平方根,例:sqr(100) = 10
Int(x)求≤x的最大整数 例:int(3.6) = 3 int(--3.6) = --4
Rnd(x)产生[0,1)之间的随机数(不包括1)
Sin(x)
Cos(x)
Tan(x)
Atn(x)
Exp(x)
Log(x)
使用三角函数时,参数应是弧度,如数学中sin300应写为:sin(30*3.14159/180)
字符串函数
Len(字符串) 求字符串的长度 ,例:Len(“hello”) = 5
Left(字符串,截取长度) 截取字符串左边部分,例:Left(“hello”,2) = “he”
Mid(字符串,起始位置,截取长度) ,例:Mid(“hello”,2,2) = “el”
Right (字符串,长度)
截取字符串右边部分。例: Right (“hello”,2) = “lo”
String(数值,字符)生成指定长度与指定字符的字符串,例:String(3,”9”) = ”999”
函数mid (C,N1,N2)的作用是从字符串C中N1位开始取出长度为N2 的子串。那么,
Mid ("aBcDeFg", 3, 3)的值为(D)。
A、aBc B、cde C、eFg D、cDe
常用转换函数
Val(字符串) 将字符串转换为数值
Str(数值) 将数值转换为字符串
用户交互函数
VB提供InputBox( )和MsgBox( )函数用于人机交互
InputBox( )其语法格式为:
InputBox( 提示[,标题][,默认值][,X坐标][,Y坐标])
MsgBox( ) 其语法格式为:
MsgBox(提示信息[,按钮][,标题] )
程序设计的顺序结构
顺序结构:代码按照由上到下的顺序一行一行地执行。程序执行过程中没有分支、没有重复,这种结构称为顺序结构。
程序设计的分支结构
行If语句
行If是指在一行中写完的If语句。其一般格式为:
格式一:If条件Then语句
执行这种形式的If语句时,首先对条件进行判断。若条件成立,则执行Then后面的语句;若条件不成立,则执行If语句后继程序行的语句
格式二:If条件 Then 语句 1 Else 语句 2
例题:输入三个不相同的数,求出其中最小数。
Private Sub Form_Click()
Dim a As Single, b As Single, c As Single
Dim Min As Single
a = InputBox("输入a", "输入框")
b = InputBox("输入b", "输入框")
c = InputBox("输入c", "输入框")
If a < b Then Min = a Else Min = b
If c < Min Then Min = c
Print "最小数="; Min
End Sub
执行这种形式的语句时,先进行判断。若条件成立,则执行语句1;否则执行语句2。
块If语句
上述If-then语句只能根据条件的真假是否执行一条语句,当Then部分和Else部分包含的内容较多时,则可选用“块If语句”结构。
格式三:If 条件 Then
语句块
End If
格式四:If 条件 Then
语句块1
Else
语句块2
End If
程序设计的循环结构
一、For-Next循环
For循环变量一般形式是:
For循环变量=初值To终值Step循环变量增量
循环体
Nxt循环变量
例题1:求s=1+2+3+4.....+100
Private Sub Form_Click()
Dim i As Integer
Dim sum As Integer
sum = 0
For i = 1 To 100
sum = sum + i ' 循环体
Next i
Print "sum="; sum
End Sub
例题2:Step循环变量增量
Private Sub Form_Click()
For j = 3 To 15 Step 2
Print j
Next j
End Sub
循环变量的初值、终值、循环变量增量都是数值型。其中要重复执行的操作称为循环体,增量可正可负,如果没有设置Step,则增量的缺省值为1
1、 循环变量取初值;
2、 循环变量与终值比较,没有超过终值转3,否则循结束,接着执行循环语句的后继语句;
3、 执行一次循环体
4、 循环变量增加一个增量
5、 重复步骤2~4。
以上可以看出,For-Next循环变量是一种当型循环。说明
(a) For语句与Next语句必须成对出现,而且它们当中的“循环变量”必须是同一个变量,如上例中均为I。
(b) 当循环变量为正时,循环变量超过终值,是指循环变量的值大于终值时;若为负,则是指循环变量的值小于终值。
A
P
入口
出口
二、Do-Loop循环
For-Next循环的次数是确定的,但是有的问题只知道循环结束的条件,重复执行的次数事先并不知道,这是需要Do-Loop循环
格式一:当循环:
Do While 条件
循环体
Loop
当VB执行Do While-Loop循环时,先判断指定的条件是否为真,若条件为真,执行循环体,条件为假时退出循环。
格式二:直到循环
Do
循环体
Loop Until条件
A
P
N
这种循环的执行过程如图所示。进入循环体后,先执行一次循环体A,然后再检查条件P是否成立。如果不成立,就重复执行循环体A,直到条件P成立退出循环体。
例题:如果我国人口每年以平均1.5%的速度增长,问多少年后我国人口达到或超过15亿?设现在人口为12.3亿。
Private Sub Form_Click()
Dim p As Single
Dim r As Single
Dim n As Integer
p = 1230000000#
r = 0.015
n = 0
Do
p = p * (1 + r)
n = n + 1
Loop Until p >= 1500000000#
Print n; "年后", "人口="; p
End Sub
展开阅读全文