《算法和程序设计》知识点Word文档格式.docx
《《算法和程序设计》知识点Word文档格式.docx》由会员分享,可在线阅读,更多相关《《算法和程序设计》知识点Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
Height
决定控件高度
Width
决定控件宽度
TOP
决定控件的靠顶部位置
Left
决定控件的靠左边位置
Font
设置控件中字体格式
BackColor
设置控件背景色
ForeColor
设置控件的前景色
BorderStyle
设置控件的边框风格
Visible
决定控件是否可见
Enabled
决定控件运行时是否有效
对象名.属性名=属性值
对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过程序代码设置,方法如下
例:
给文本框“Txt123”的“Text”属性赋值为字符串“20”,代码如下
Txt123.text=”20”
变量=对象名.属性名
如果要获取对象的状态或特性,这时就要读取对象的属性值,方法如下
读取文本框“txt123”的“Text”属性的代码如下
a=txt123.text‘读取字符(或a=Val(txt123.text)’读取数值)
2、方法
[对象].方法[参数名表]
form.print”欢迎使用”
该语句使用print方法在form1窗体中显示字符串“欢迎使用”
3、事件及事件驱动
事件是对象对外部操作的响应,如在程序执行时,单击命令按钮会产生一个Click事件。
如需要命令按钮响应Click事件,就把完成Click事件功能的代码写到Click事件的事件过程中,与事件一一对应。
事件过程的形式如下:
PrivateSub对象_事件名()
……………(事件过程代码)
EndSub
一个简单的VB程序
求圆的周长和面积
PrivateSubCommand1_Click()
DimrAsSingle'
定义r为单精度型
DimcAsSingle'
定义c为单精度型
DimsAsSingle'
定义s为单精度型
r=Val(Text1.Text)'
输入半径r,变量r为数值型,因此输入语句必须加函数Val()
c=2*3.14159*r'
计算周长
s=3.14159*r*r'
计算面积
Text2.Text=str(c)'
输出周长
Text3.Text=str(s)'
输出面积,变量s为数值型,因此输出语句必须加函数str()
PrivateSubCommand2_Click()
End'
退出
EndSub
(三)、常量:
在程序进行过程中不变的量。
在VB中一般分数值常量与字符常量两种
数值常量:
就是数学中说的常数,分整型常量和实型常量两种
整型常量:
即整数,指不带小数点的数值如1、0、-10、+35等都是合法的整数
实型常量:
即实数,指带小数点的数值。
字符串常量:
被一对双引号括起来的若干个合法的字符称为字符串常量。
例如:
”China”、”VisualBasic”、”18”、”3.1415”等,双引号中字符,不包括双引号本身。
逻辑常量:
包含true和false两个值。
系统常量:
包括VB已定义的常量(如Vbred)和用户定义常量(如果多次用到同一个常量,则可用一个有意义的名字表示这个常量。
Constpi=3.14159)
(四)、变量:
在程序执行过程中,其值可以改变的量称为变量
变量命名注意要点:
1、必须以字母开头,不能以数字或其他字符开头。
2、只能由字母、数字或下划线组成,不能含有小数点、空格等字符。
3、最长不超过255个字符
4、不能以VB保留字作变量名,如语句定义符dim、函数名str等。
5、VB不区分变量名中字母大小写。
如HELLO和Hello是同一个变量。
数据及运算
(1)常用数据类型:
(整型)Integer、(长整型)Long、(单精度型)Single、(双精度型)Double、(字符串型)String、(布尔型)Boolean、(日期型)Date
其中(整型)Integer、(长整型)Long、(单精度型)Single、(双精度型)Double属于数值型
表示范围:
(整型)Integer(-32768——32767,存储为16位,2个字节)
(字符串型)String字符串型数据是指用“”括起来的一串字符。
如“欢迎进入VB世界!
”、“VisualBasic”、“1234”都是字符串类型。
(2)常量和变量的命名、声明及赋值
符号常量的声明:
Const常量名=常量值
如:
Constpi=3.14159常量名为pi
变量的声明:
Dim<
变量名>
As<
变量类型>
如:
DimaAsInteger定义一个整型变量,变量名为a
变量的赋值
变量名=表达式
例题
PrivateSubForm_Click()
DimaAsInteger,bAsInteger,cAsInteger
Dimstr_1AsString
a=54:
b=114:
c=a+b
str_1="
HelloWorld"
Printa,b,c
Printstr_1
Endsub
2、VB语言中,下列数据类型说明符中表示字符型的是()。
A、BooleanB、IntegerC、DateD、String
3、在VB语言中,下列合法的变量名是()。
A、34abB、ab34C、*abcD、c\c
4、下列选项中属于字符串常量的是()。
A、abB、a+bC、"
1235"
D、1235
5、在VB语言中,下列合法的变量名是()。
A、aaB、a*bC、7abD、dim
(五)运算符
算术运算:
+加--减*乘
^幂 例:
2^2=4
/(实数)除 例:
5/2=2.5
\整除 例:
5\2=2
Mod求余数 例:
5Mod2=1
6、分析下列程序:
PrivateSubForm_Click()
s=11\3+11Mod3
Prints
EndSub
当单击窗体时s的值是().
A、5B、6C、4D、3
关系运算
= 赋值 、 <
小于号
<
>
不等于 >
大于号
= 大于等于号 <
=小于等于号
注意:
关系表达式的运算结果为布尔值True或False
3>
2结果为True(真或是)
7、下面表达式的值是false的有().
A、"
969"
<
"
n97"
B、Int(4.99)<
len("
basic"
)C、str(2000)<
1997"
D、3>
2
逻辑运算
Not(取反)And(与)Or(或)
运算结果为布尔型(Boolean)True或False
逻辑运算符的优先级为:
Not>
And>
Or
8、下列逻辑表达式的值为“假”的是()。
A、2+4>
8B、3+12=15C、5>
0And4>
3D、10/5<
3
9、下列逻辑表达式的值为“假”的是()。
A、3+5>
7B、8/4<
4C、5>
3And3>
2D、4+11>
20
10、已知A,B,C,D是简单变量,且都已有互不相同的值,执行语句A=C:
D=B后,下列
关系表达式逻辑值为“真”的是()。
A、C=AB、A=BC、D=CD、B=C
11、设a=2,b=3,在VB中,表达式a>
bOrb>
3值是:
()
A、FalseB、TrueC、-1D、1
字符运算
字符串连接符为“+”和“&
”
“123”+“45”=“12345”
“123”&
“45”=“12345”
123+“45”语法错误
12、VB的字符串运算符是“&
”,该运算符主要用于连接两个或更多的字符串。
"
abcd"
&
efg"
连接后的运算结果为:
abcdefg"
。
那么,"
1+2"
3"
的运算结果为:
()。
A、33B、6C、"
1+23"
D、True
运算符的执行顺序
在VB中,当一个表达式中同时出现多种运算符时,运算次序由运算符的优先级决定,优先级高的运算符先运算,优先级相同的从左向右进行运算。
不同性质的运算符优先级如下。
算术运算符>
字符串运算符>
关系运算符>
逻辑运算符
13、在VB语言中,表示“a大于0且b小于12”的正确表达式是()。
A、b<
12ora>
0B、b>
12Anda<
0C、a>
12Ora<
0D、a>
0Andb<
12
(六)常用函数
数学函数
Abs(x)求x的绝对值,例:
abs(-3.6)=3.6
Sqr(x)求x的平方根,例:
sqr(100)=10
Int(x)求≤x的最大整数例:
int(3.6)=3int(--3.6)=--4
Rnd()产生[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
Mid(字符串,起始位置,截取长度),例:
Mid(“hello”,2,2)=“el”
14、函数mid(C,N1,N2)的作用是从字符串C中N1位开始取出长度为N2的子串。
那么,
Mid("
aBcDeFg"
3,3)的值为()。
A、aBcB、cdeC、eFgD、cDe
常用转换函数
Val(字符串)将字符串转换为数值,常用于数值的输入语句中。
Val(“123”)=123
Str(数值)将数值转换为字符串,常用于数值的输出语句中
Chr(在ASCII表中取数值对应的字符)例:
chr(65)=”A”
Asc(求字符在ASCII表中的数值)例:
asc(“a”)=97
15、VisualBasic中,下列()函数是求绝对值的。
A、ABS(X)B、SQR(X)C、INT(X)D、STR(X)
16、表达式Abs(-3.6)*sqr(100)的值是()。
A、-36B、360C、36D、-360
17、下列()数据类型不是数值型。
A、DateB、SingleC、DoubleD、Integer
18、下列函数中,返回值是字符串的是().
A、MidB、IntC、ValD、Len
19、代数表达式
表达式后错误的是()
A、g*t*t/2B、1/2*g*t^2C、g*t^2/2D、gt^2/2
20、数学式子
在VB中的正确写法是:
A、(2*a+b)/4*a*bB、(2*a+b)/(4ab)C、(2a+b)(4ab)D、(2*a+b)/(4*a*b)
21、判断x是否在区间[a,b]上,在VB中以哪个逻辑表达式是正确的()
A、a<
xandx<
=bB、a<
=x<
=bC、a<
=xandx<
=bD、a>
=b
(七)程序设计的顺序结构
顺序结构:
代码按照由上到下的顺序一行一行地执行。
程序执行过程中没有分支、没有重复,这种结构称为顺序结构。
例题:
交换两个变量中的数据。
PrivateSubcmdSwap_Click()
DimxAsSingle,yAsSingle
DimmAsSingle
x=Val(txtsx.Text)
y=Val(txtsy.Text)
m=x:
x=y:
y=m'
交换数据
txtdx.Text=Str(x)
txtdy.Text=Str(y)
牢记以上代码中的数值型数据的输入和输出语句!
!
22、以下是一段VB程序:
a=1
b=a+1
c=a+b
它的基本结构属于()
A、顺序结构B、选择结构C、循环结构D、树型结构
23、下列VB程序运行后,变量x的值为().
x=2
Printx+l
Printx+2
A、2B、3C、5D、8
(八)程序设计的分支结构
行If语句
行If是指在一行中写完的If语句。
其一般格式为:
格式一:
If条件Then语句
执行这种形式的If语句时,首先对条件进行判断。
若条件成立,则执行Then后面的语句;
若条件不成立,则执行If语句后继程序行的语句
格式二:
If条件Then语句1Else语句2
输入三个不相同的数,求出其中最小数。
DimaAsSingle,bAsSingle,cAsSingle
DimMinAsSingle
a=InputBox("
输入a"
"
输入框"
)
b=InputBox("
输入b"
c=InputBox("
输入c"
Ifa<
bThenMin=aElseMin=b
Ifc<
MinThenMin=c
Print"
最小数="
;
Min
执行这种形式的语句时,先进行判断。
若条件成立,则执行语句1;
否则执行语句2。
必须写在一行内,不能换行,没有EndIf
块If语句
上述If-then语句只能根据条件的真假是否执行一条语句,当Then部分和Else部分包含的内容较多时,则可选用“块If语句”结构。
格式三:
If条件Then
语句块
EndIf
当从输入一个数时,当该数大于或等于60时显示"
及格"
,该数小于60时显示"
不及格"
DimaAsSingle
a=Val(Text1.Text)
Ifa>
=60Then
Label1.Caption="
Ifa<
60Then
EndSub{这样的格式是不是太麻烦了,所以请选用格式四,自己改过来吧!
}
格式四:
语句块1
Else
语句块2
编写程序,求函数Y的值(当x≤0时,y=3x+1;
当x>
0时,y=4x+1)。
DimxAsSingle
DimyAsSingle
x=Val(InputBox("
请输入变量x"
))
Ifx<
=0Then
y=3*x+1
Else
y=4*x+1
EndIf
Print"
y="
y
24、以下是一段VisualBasic程序:
IfI=1Then
X=X+1
X=X*2
它的基本结构属于().
A、选择结构B、循环结构C、顺序结构D、树型结构
25、下列程序段运行后,变量Value的值是()
x=20
Ifx>
=10Then
Value=5*x
Value=4*x
A、100B、80C、90D、70
26、下面是判断变量x是不是能被5整除的偶数的程序,横线上的逻辑表达式应为()
PrivateSubcommandl_Click()
DimxAsInteger
x=Val(Text1.Text)
IfThen
Labell.Caption=”这个数是能被5整除的偶数”
Labell.Caption=”这个数不是能被5整除的偶数”
选项:
A、(xMod5)=0And(xMod2)=0
B、(xMod5)=0or(xMod2)=0
C、xMod5=0
D、xMod2=0
27、下列程序段运行后,m的值为()
A=2:
b=1:
c=5
IfA<
bThenm=AElsem=b
Ifc<
mThenm=c
A、1B、2C、5D、提示错误,无答案
(九)程序设计的循环结构
1、For-Next循环
For循环变量一般形式是:
For循环变量=初值To终值[Step循环变量增量]
循环体
Next循环变量
例题1:
求s=1+2+3+4.....+100
DimiAsInteger
DimsumAsInteger
sum=0
Fori=1To100
sum=sum+i'
Nexti
Text1.text=str(sum)
EndSub‘注意这里累加器的应用
例题2:
Step循环变量增量
PrivateSubCommand_Click()
Forj=3To15Step2
Printj‘共输出7个值
Nextj
EndSub‘变量j=357911131517循环7次,j最后的值为17不算在循环中。
循环变量的初值、终值、循环变量增量都是数值型。
其中要重复执行的操作称为循环体,增量可正可负,如果没有设置Step,则增量的缺省值为1
1、循环变量取初值;
2、循环变量与终值比较,没有超过终值转3,否则循环结束,接着执行循环语句的后继语句;
3、执行一次循环体
4、循环变量增加一个增量
5、重复步骤2~4。
以上可以看出,For-Next循环变量是一种当型循环。
说明
(a)For语句与Next语句必须成对出现,而且它们当中的“循环变量”必须是同一个变量,如上例中均为I。
(b)当循环变量为正时,循环变量超过终值,是指循环变量的值大于终值时;
若为负,则是指循环变量的值小于终值。
2、Do-Loop循环
For-Next循环的次数是确定的,但是有的问题只知道循环结束的条件,重复执行的次数事先并不知道,这是需要Do-Loop循环
DoWhile条件
循环体
Loop
求最大公约数
Dima,b,rAsInteger
b=Val(Text2.Text)
r=aModb
DoWhiler<
0
a=b
b=r
Loop
Text3.Text=Str(b)
当VB执行DoWhile-Loop循环时,先判断指定的条件是否为真,若条件为真,执行循环体,条件为假时退出循环。
28、下列程序段执行结束后,变量y的值是()。
y=2
Dowhiley<
=6
y=y+y
Loop
A、2B、6C、8D、16
29、分析程序,写出执行结果。
PrivateSubcommand1_click()
DimSAsInteger,IAsInteger
S=0
Fori=1to10Step2
S=S+i
Nexti
Print“S=”;
s
答案:
S=
(十)算法与问题解决
1、解析法
利用所学的数学或物理等知识来求解一个问题。
2、枚举法
对所有可能的情况都逐一列举和判断。
外循环分支的结构。
简单理解一下程序思想及代码(部分程序请补充完整代码)
(1)一只猴子摘了一堆桃子,它每天吃当天桃子数的一半,每次忍不住多吃了一个。
这样到第十天时只有一个桃子可以吃了,编程计算猴子最初共有多少个桃子。
程序:
DimsAsInteger
s=1
Fori=1To9
s=(s+1)*2
Next
Print“s=”;
s
(2)完善按钮“计算7!
”的Click事件程序,当单击命令按钮时Text1显示7!
的值。
PrivateSubCommand1_Click()
DimaAslong
DimiAsInteger
(30)
Fori=1To7
a=a*i
Nexti
(31)
这里输入值太大容易“溢出”,可以更改变量a的类型为double
(3)"
计算1+2+……+100"
DimaAsInteger
DimIAsInteger
a=0
a=a+i
Text2.Text=Str(a)
(