冲刺届浙江省高考选考信息技术二轮专项提升01 算法与VB语言基础文档格式.docx
《冲刺届浙江省高考选考信息技术二轮专项提升01 算法与VB语言基础文档格式.docx》由会员分享,可在线阅读,更多相关《冲刺届浙江省高考选考信息技术二轮专项提升01 算法与VB语言基础文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
主要属性
功能
TextBox(文本框)
Text
文本框内容
Label(标签)
Caption
标签内容
CommandButton(命令按钮)
按钮标题
Form(窗体)
窗体标题
Timer(计时器)
Interval
时间间隔
(单位:
毫秒ms)
常见基本属性补充
可用的:
Enabled可见的:
Visible字体:
Font
背景颜色:
Backcolor图片对象:
Picture名称:
Name
事件名
触发条件
Load
加载
Keypress
键盘上按键
Click
单击鼠标左键
Change
对象内容改变
Dbclick
双击鼠标左键
Timer
达到计时时间
(4)VB应用程序在运行和保存时涉及三类文件:
窗体文件(.frm)、工程文件(.vbp)和可执行文件(.exe)。
●应用程序窗体、窗体上的对象及窗体上发生事件时的执行代码存储在窗体文件(.frm)中。
●与该应用程序的构造相关的信息存储在工程文件(.vbp)中。
4.基本数据类型、常量、变量、数组
数据类型名
说明
备注
Integer
整数型
-32768~32767范围内的任何整数
Long
长整数型
-2147483648~2147483647范围内的任何整数
Single
单精度实数型
绝对值在1.0401298E~3.402823E38内的任何实数
Double
双精度实数型
绝对值在10E-324~1.79E308内的任何实数
String
字符串型
一段文字或符号
Booleam
逻辑型
判断的结果:
其值为真(True)或假(False)
Date
日期型
日期和时间
(1)常量:
是指在程序执行过程中其值固定不变的存储单元或数据。
常量声明:
Const常量名=常量
(2)变量:
是指在程序执行过程中其值可能随时发生改变的存储单元或数据。
变量声明:
Dim变量名AS变量的数据类型
(3)数组声明定义:
Dim数组名(A1toA2)AS数据类型,A1为数组的下标下界,A2为数组的下标上界。
(4)变量名和常量名的命名规则:
变量名由字母、数字和下划线等字符组成,但必须以字母开头,VB的保留字不能作为变量名。
变量名不区分大小写字母,字符个数不超过255个。
5.常见标准函数及三类基本运算
(1)VB表达式的书写和常用函数的应用注意点
●运算符号不能省略;
●运算优先级别用小括号加以区分,没有中括号和大括号;
●常用函数和运算符号的使用。
(2)常见的标准函数
常见的标准函数
Abs(x)
求x的绝对值
Int(x)
求不大于x的最大整数
Sqr(x)
求x的算术平方根
Rnd()
产生[0,1)之间的随机数
Asc(x)
字符转换为ASCII
Chr(x)
ASCII转换为字符
Str(x)
数值转换为字符串
Val(x)
数字字符串转换为数值
Len(x)
计算字符串的长度
Mid(x,n,k)
取字符串x的从第n个字符开始的k个字符
Fix(x)
去除小数部分
Left(x,n)
取字符串x的从左边开始的n个字符
【注意】Int(x)和Fix(x)的区别:
Int(l.5)=1和Fix(l.5)=1,Int(-1.5)=-2和Fix(-1.5)=-1
Str(x):
x为正数时,转换后自动加1个空格,Str(12)="
12"
和Str(-12)="
-12"
(3)算术类基本运算
算术类基本运算
基本运算
运算符
优先级
表达式
表达式的值
乘幂
^
1
25^0.5
5
取负
-
2
-(-3)
3
乘法
*
4*5.1
20.4
实数除法
/
6/5
1.2
整数除法
\
4
6\5
求余数
Mod
7Mod5
加法
+
6
3+5
8
减法
9-5
【注意】①数值加法:
1+2=3,字符加法:
"
1"
+"
2"
="
12”;
而1+"
不合法
②字符拼接运算符&:
1&
2="
12"
,1&"
2”="
,"
&"
="
(4)关系类基本运算
关系类基本运算
相等
=
7
2015Mod4=0
False
不相等
<
>
2015<
2014
True
小于
3<
大于
5>
50
小于等于
5<
=50
大于等于
1>
=2
【注意】等号“=”在VB中有两种含义:
赋值和判断关系。
Ifx=6Thenx=x+lElsex=x+2其中x=6的等号表示判断关系,后面的等号都表示赋值
(5)逻辑类基本运算
逻辑类基本运算
非
Not
Not(1>
1)
与
And
9
(3>
2)And(6<
=4)
或
Or
10
(2>
3)Or(10<
=10)
【注意】Not逻辑取反,True变False,False变True。
And与运算,只有两边同时成立,其值才为True。
Or或运算,只有两边同时不成立,其值才为False。
【通俗口诀】Not:
非真即假,非假即真And:
全真则真,有假则假Or:
有真则真,全假则假
6.算法结构和VB语句
(1)顺序结构是程序设计最基本的结构。
按照解决问题的顺序写出相应的语句,执行顺序是自上而下,依次执行。
赋值语句:
把“=”右边的表达式的计算结果存储到“=”左边的变量或某个对象的指定的属性中。
常见格式:
格式1:
变量名=表达式格式2:
对象名.属性名=表达式
要改变Label(标签)、CommandButton(命令按钮)、Form(窗体)对象的上显示的内容,可以修改其Caption属性,属性赋值语句格式为:
对象名.Caption=表达式
要改变TextBox(文本框)对象的上显示的内容,可以修改其Text属性,属性赋值语句格式为:
对象名.Text=表达式
要在List(列表框)对象的上添加内容,可以通过其方法AddItem来实现,其代码格式为:
对象名.AddItem表达式
转换函数
str(x)
数值转化为字符串
Str(13)值为"
13"
数字字串转化为数值
Val("
)值为13
①字符串和数值:
123"
和123,带双引号的"
是字符串。
②VB数据类型Integer、Long、Single、Double都是数值类型,String为字符类型。
③在VB程序中对象的Caption、Text的属性值都属于字符串类型,列表框List上添加内容的也是字符串型。
④赋值语句右边的数据类型和左边的类型不一致,则需要将右边的转换成和左边一致后再赋值给左边。
根据赋值等号两边数据类型,来确定右边是否要转换。
数值型=Val(字符串型)字符串型=Str(数值型)
(2)选择结构也称为分支结构。
VB选择语句能使程序在执行过程中,根据不同的判断结果,选择执行不同的处理,选择结构可用IF语句来实现。
①行If语句
格式1:
IF条件表达式Then语句’条件成立时执行语句,否则不执行
格式2:
IF条件表达式Then语句1Else语句2’条件成立时执行语句l,否则执行语句2
②在VB中,块IF语句有如下三种形式:
形式一:
单分支结构
形式二:
双分支结构
形式三:
嵌套结构
(1)单分支选择结构:
If条件Then
语句或语句组
EndIf
'
语句组是指有多条语句的情况
(2)双分支选择结构:
If
条件Then
语句或语句组1
Else
语句或语句组2
EndIf
(3)多分支选择结构:
If条件Then
ElseIF条件2Then
……
ElseIF条件nThen
语句或语句组n
语句或语句组n+1
【注意】区分“行IF”和“块IF”的简单的方式:
看Then的右边有无语句。
(3)循环结构也叫重复结构。
VB循环语句能使程序在执行过程中,在一定条件下反复执行某段程序的流程结构。
循环结构可用For或Do循环语句来实现。
循环语句:
1.For语句:
通过次数控制循环的计算过程。
2.Do语句:
通过条件控制循环的计算过程。
实现循环结构的常用语句有for语句和while语句,它们的结构具体如下:
For…Next语句的格式
(已知过程不知道结果)
DoWhile…Loop语句的格式
(已知结果不知道过程)
For循环变量=初值To终值[Step步长]
循环体
Next循环变量
说明:
(1)For-Next语句通常是在循环次数确定的时候使用,
(2)步长即循环变量的增量,当步长为1时,Step步长可以省略不写。
DoWhile条件
Loop
(1)当问题只知道循环结束的条件,重复执行的次数事先并不知道,这时就需要用DoWhile…Loop循环语句;
(2)DoWhile…Loop语句是在条件成立的时候执行循环体,条件不成立时退出循环。
For/Next语句和DoWhile/Loop语句在许多情况下是可以通用的。
但是,For/Next语句更适合用于循环次数容易确定的场合,而DoWhile/Loop语句的使用则更灵活。
【注意】For循环结构循环次数计算:
次数=Int((终值-初值)/步长+1)
0次:
初值<
终值且步长为负初值>
终值且步长为正
1次:
(终值—初值)/步长<
1
Dowhile语句中必然存在与条件表达式相关联的赋值语句,否则程序死循环。
(4)注释语句是以单引号(
’)开头的一串文字。
注释语句的作用仅仅是为了增加程序的可读性,对程序执行的效果没有影响。
函数补充:
产生随机整数[a,b]的表达式为:
Int(Rnd*(b-a+l))+a
实数变量x四舍五入并保留n位小数的表达式:
Int(x*10^n+0.5)/10^n
例如x=l.546,四舍五入保留2为小数Int(x*100+0.5)/100,即为1.55
7.六种常见经典算法
(1)十进制转二进制
(2)十进制转十六进制
n=29‘n表示一个正整数
Dowhilen<
0‘被除数不为零,则循环
b=nmod2‘除2后得到余数0或1
n=n\2‘n整除2后作为新的被除数
S=Str(b)+s
‘将余数添加到s字符串中进行连接,注意Str(b)在前面
Label1.caption=s‘将结果显示在标签label1中
n=29‘n表示一个正整数
ch=“0123456789ABCDEF”
b=nmod16‘除16后得到余数
n=n\16‘n整除16后作为新的被除数
S=mid(ch,b+1,1)+s
‘将余数添加到s字符串中进行连接,注意余数从ch字符串中取,如得到余数b为1,则需要在ch中的第二个位置取“1”,所以mid中用b+1位置
Label1.caption=s‘将结果显示在标签label1中
(3)将二进制转十进制
(4)将小写字母转换成大写字母
ch=”101011”‘表示二进制,用字符串描述
c=0‘c表示最后的十进制值
Fori=1tolen(ch)
a=val(mid(ch,i,1))
‘将二进制逐个取出,转换为数值
c=c+a*2^(len(ch)-i)
‘关键句:
将二进制的值乘2的次数,并累加到c中,如i=1时,二进制最高位是1,指数是5,则语句为:
c=c+1*2^5
Nexti
Text1.text=str(c)‘将值显示在文本框中
ch=”youhaveagoodday”
s=””
Fori=1toLen(ch)
ch2=mid(ch,i,1)‘逐个取字符
s=s+Chr(asc(ch2)-32)
‘将字符转ASCII码数值-32后再转回字符,变成大写字母(大小写字符在ascii码中差32,“A”=65,“a”=97)
Text1.text=s
(5)统计字符串中小写字母的个数,放入数组c
(6)在有序数组中插入一个值
Dimc(25)asinteger‘定义数组c,从c(0)到c(25)分别放字母“a”~“z”的个数
ch=”youhavebelieveinyourself”
Fori=1tolen(ch)
ch2=mid(ch,i,1)‘逐个取出字符
n=Asc(ch2)-asc(“a”)
‘将字符转换为ascii码,并减去“a”的ASCII码,得到数组中的下标
Ifn>
=0andn<
=25then
c(n)=c(n)+1‘将对应的数组元素值加1
EndIf
Fori=0to25
List1.addItemChr(i+97)+”:
”+Str(c(i))
‘将内容显示到列表框中,前面部分是显示相应的字母,后面部分是显示字母数量
c数组中的数据如下:
c
(1)
c
(2)
c(3)
c(4)
c(5)
c(6)
c(7)
c(8)
12
18
若n=11要插入数组中。
思路是:
从数组的最后往前比较,当前数组中的值比n大,则将该值往后移动一位置,如c(6)=18,大于n,则执行:
c(7)=c(6),意味着将c(6)的值赋值给c(7),这个时候c(6)和c(7)其实都是18,代码如下:
Fori=8to1step-1‘从最后元素开始比较
Ifc(i)>
nthen‘当前位置大于要插入的值
c(i+1)=c(i)‘将大值移动到后面元素中
ElseIfc(i)<
0then
‘c(i)不是0表示不是后面的元素
c(i+1)=n
ExitFor‘将的值插入的i+1的位置
Endif
8.【补充】VB程序运行中常见的几种错误
错误类型
错误原因
1.要求对象
代码中对象名错误
2.除数为零
表达式中被除数为零
3.溢出
数据所赋的值超出定义的大小范围
4.类型不匹配
数据所赋的值和定义的类型不符,
特别关注字符串类型和数值类型的转换
5.缺少endif
If……Endif没有配对
6.Next没有for
For……Next没有配对
7.Loop缺少Do
Dowhile……Loop没有配对
8.下标越界
数组下标超出定义时的下标范围
9.未找到方法或数据成员
对象没有这个属性或方法,例如:
Text1.Caption
10.无效的过程调用或参数
函数参数错误,例:
sqr(-1)负数不能求平方根
11.子程序或函数未定义
子程序或函数没有定义就使用,标准函数名写错
12.编译错误-用户定义类型未定义
ADO链接数据库时,没有引用-microsoftADO6.0Library
「典型错误示例」
1.数据溢出:
指输入的数据大小超出定义的取值范围。
如下图所示:
2.程序界面缺少对象:
指程序数据输入或输出自某一对象,但程序界面中没有此对象。
如下图所示,程序界面缺少输出对象——文本框text1:
3.未找到方法或数据成员:
指程序语句中指出的某一对象不存在或没有相关的属性,此错误往往也是书写错误所引起。
如下图所示,文本框显示数据对应的属性为text,但在程序中书写错误,导致无法正常显示数据:
4.下标越界:
指数组在程序运行中下标超出定义的范围。
如下图所示,数组定义时允许下标取值范围为1~10,实际程序执行结束时下标取值为11,超出范围:
5.语法错误:
指在程序运行中相关语句结构错误。
如下图所示,IF语句结构中缺少了Then。
6.类型不匹配:
指在程序运行中赋值语句或运算符二边数据类型不一致。
如下图所示,减号二端为字符串和数值。