选修知识点Word文件下载.docx
《选修知识点Word文件下载.docx》由会员分享,可在线阅读,更多相关《选修知识点Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
决定控件与窗体顶部的距离
Left
决定控件与窗体左边的距离
Font
设置控件中字体格式
BackColor
设置控件背景色
ForeColor
设置控件的前景色(即文字颜色)
BorderStyle
设置控件的边框风格
Alignment
即标签文字对齐属性:
(0)LeftJustify时文本左对齐;
(1)RightJustify时文本右对齐;
设置为
(2)Center时文本居中。
对象.属性=属性值
对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过程序代码设置方法如下
例:
给文本框“Txt123”的“Text”属性赋值为字符串“20”,代码如下
Txt123.text=”20”
变量=对象.属性
如果要获取对象的状态或特性,这时就要读取对象的属性值,方法如下
读取文本框“txt123”的“Text”属性的代码如下
a=txt123.text
●方法
[对象].方法[参数名表]
form.print”欢迎使用”
Print“abc”
该语句使用print方法在form1窗体中显示字符串“欢迎使用”
●事件及事件驱动
事件是对象对外部操作的响应,如在程序执行时,单击命令按钮会产生一个Click事件。
如需要命令按钮响应Click事件,就把完成Click事件功能的代码写到Click事件的事件过程中,与事件一一对应。
事件过程的形式如下:
PrivateSub对象_事件名()
(事件过程代码)
EndSub
一、常量:
指在程序进行过程中不变的量,在VB中一般分数值常量与字符常量两种
数值常量:
就是数学中说的常数,分整型常量和实型常量两种
整型常量:
即整数,指不带小数点的数值如1、0、、-10、+35等都是合法的整数
实型常量:
即实数,指带小数点的数值。
实型常量又分为定点数和浮点数两种。
定点数:
3.14159和-6.8,1.99
浮点数:
2E6、1E5、88E
1.2345×
103可表示为1.2345E3,字母E表示底数10
浮点数就是数学上的科学计数法。
字符串常量:
被一对双引号括起来的若干个合法的字符称为字符串常量。
例如:
”China”、”VisualBasic”、”18”、”3.1415”等,双引号中字符,不包括双引号本身。
符号常量:
如果多次用到同一个常量,则可用一个有意义的名字表示这个常量。
二、变量:
在程序执行过程中,其值可以改变的量称为变量
变量命名注意要点:
1、必须以字母或汉字开头,不能以数字或其他字符开头。
2、只能由字母、汉字、数学或下划线组成,不能含有小数点、空格等字符。
3、最长不超过255个字符
4、不能以VB保留字作变量名,如语句定义符、函数名等。
5、VB不区分变量名中字母大小写。
如HELLO和Hello是同一个变量。
数据及运算
(1)常用数据类型:
(见选修书P21)
(2)常量和变量的命名、声明及赋值
符号常量的声明:
Const常量名[As常量类型]=常量值(或表达式)
如:
ConstpiAsSingle=3.14159常量名为pi
变量的声明:
Dim<
变量名>
As<
变量类型>
如:
DimaAsInteger定义一个 整型变量,变量名为a
(3)变量的赋值
VB中使用=给变量赋值,其形式如下:
变量=表达式
三.运算符
1、算术运算(见选修书P25)
2、关系运算(优先级相同)
= 等于 <
小于号
<
>
不等于 >
大于号dimsasboolean
= 大于等于号 <
=小于等于号s=trueprints
注意:
关系表达式的运算结果为布尔值True或False
3>
2结果为True
3、逻辑运算
Not(取反)And(与)Or(或)
运算结果为布尔型(Boolean):
True或False数字
逻辑运算符的优先级为:
Not>
And>
Or
4、日期运算符与日期表达式
日期表达式是用日期运算符“+”或“-”将算式表达式、日期型常量、日期型变量、日期函数等连接起来的式子,如表达式“#2003/09/01#+30”的运算结果是“2003-10-1”;
表达式“#2003/10/20#-#2003/10/10#”的运算结果为整数10
5、字符运算
字符串连接符为“+”和“&
”
“123”+“45”=“12345”
“123”&
“45”=“12345”
123+“45”=168
123&
“45”=“168”“12345”
6、运算符的执行顺序
在VB中,当一个表达式中同时出现多种运算符时,运算次序由运算符的优先级决定,优先级高的运算符先运算,优先级相同的从左向右进行运算。
不同性质的运算符优先级如下。
算术运算符>
字符串运算符>
关系运算符>
逻辑运算符
算术运算优先级见选修书P25表格
四.常用函数
1.数学函数
函数
名称
含义
Abs(x)
绝对值函数
求x的绝对值|x|
Int(x)
取整函数
求≤x的最大整数
Sqr(x)
算术平方根函数
求x的算术平方根
Log(x)
自然对数函数
求x的自然对数
Rnd
随机函数
产生[0,1)之间的随机数
Exp(x)
指数函数
ex,e=2.718282……
Sgn(x)
符号函数
1x>
Sgn(x)=0x=0
-1x<
Sin(x)
正弦函数
Sin(x),x的单位为弧度
Cos(x)
余弦函数
Cos(x),x的单位为弧度
Tan(x)
正切函数
Tan(x),x的单位为弧度
●产生[A,B)间的随机数的公式:
rnd*(B-A)+A
产生[A,B]间的随机整数的公式:
int(rnd*(B-A+1))+A
相关题解
要计算机随机在屏幕上显示一个小于10(保留两位小数)。
正确的算法是(D)
A、①randomize②x=int(rnd*1000)③x=x/10④printx
B、①randomize②x=rnd③x=int(x*1000/100)④printx
C、①randomize②x=rnd③x=int(x*1000)④printx
D、①randomize②x=int(rnd*1000)③x=x/100④printx
2.字符串函数(选修书P31)
常用转换函数(选修书P31)
●大小写字母的转换
⑴a的ASCII码为:
97A的ASCII码为:
65“0”48空格32
⑵大写字母的ASCII码比对应的小写字母小32
⑶ASCII码的大小:
数值<
大写字母<
小写字母
(4)小写转大写:
a转Achr(asc(“a”)-32)
(5)大写转小写
A转achr(asc(“A”)+32)
3.Tab定位函数的使用
例题
PrivateSubForm_Click( )
DimaAsInteger
DimbAsInteger
a=4:
b=9
PrintTab
(1);
"
数"
;
Tab(9);
平方"
Tab(18);
立方"
Tab(27);
平方根"
a;
a*a;
a*a*a;
Sqr(a)
b;
b*b;
b*b*b;
Sqr(b)
4.用户交互函数
VB提供InputBox()和MsgBox()函数用于人机交互
InputBox()其语法格式为:
InputBox(提示[,标题][,默认值][,X坐标][,Y坐标])
MsgBox()其语法格式为:
MsgBox(提示信息[,按钮][,标题])
1、判断x是否在区间(a,b]上,在VB中以哪个逻辑表达式是正确的?
(A)
A、a<
xandx<
=bB、a<
x<
=bC、a<
xandx≤bD、a>
=b
2、向n变量存入1个2位整数,要使此2位数十位和个位上的值分别存入x,y变量。
正确的算法是(D)。
选项:
A、①x=Left(n,1)②y=n-x*10③Printx:
Printy
B、①x=Left(n,1)②y=Right(n,1)③Printx:
C、①x=n/10②y=n-x*10③Printx:
D、①x=Int(n/10)②y=n-x*10③Printx:
五.程序设计的三大基本结构
(一)顺序结构
代码按照由上到下的顺序一行一行地执行。
程序执行过程中没有分支、没有重复,这种结构称为顺序结构。
1、下列VB程序运行后,变量x的值为(C).
x=2
Printx+l
Printx+2
A、2B、3C、5D、8
(二)分支结构
(1)单分支if结构:
●行if语句:
IF<
条件>
Then语句A
●块if语句:
Then
语句A
Endif
(2)双分支if结构:
Then语句AElse语句B
IF非0Then
语句A
ELSE
语句B
ENDIF
(3)多分支If语句
If<
表达式1>
<
语句块1>
[ElseIf<
表达式2>
<
语句块2>
]
……
[Else <
语句块n+1>
]
EndIf
(4)SelectCase语句(根据条件表达式的值,向下寻找符合的开关,以找到的第一个开关来执行,然后离开。
)
SelectCase<
条件表达式>
CaseN1
语句组1
CaseN2
…
CaseELSE
语句组N+1
EndSelect
综合分析
1、如要完成:
从键盘输入一个正整数,判断是否是奇数,如是就在屏幕上显示。
比较好
的算法是(BD)。
A、①输人的数存人n变量②f=(n/2=Int(n/2))③如果f中的值为True就显示n中值
B、①输人的数存人n变量②f=(n/2=Int(n/2))③如果f中的值为False就显示n中值
C、①输人的数存人n变量②如果n/2=Int(n/2)成立,就显示n中值
D、①输人的数存人n变量②如果n/2=Int(n/2)不成立,就显示n中值
(三)循环结构
(1)For-Next循环
For循环变量一般形式是:
For循环变量=初值To终值Step循环变量增量
循环体
Next循环变量
循环变量的初值、终值、循环变量增量都是数值型。
其中要重复执行的操作称为循环体,增量可正可负,如果没有设置Step,则增量的缺省值为1
1、循环变量取初值;
2、循环变量与终值比较,没有超过终值转3,否则循结束,接着执行循环语句的后继语句;
3、执行一次循环体
4、循环变量增加一个增量
5、重复步骤2~4。
以上可以看出,For-Next循环变量是一种当型循环。
说明
(a)For语句与Next语句必须成对出现,而且它们当中的“循环变量”必须是同一个变量。
(b)当循环变量为正时,循环变量超过终值,是指循环变量的值大于终值勤;
若为负,则是指循环变量的值小于终值。
(2)Do-Loop循环
For-Next循环的次数是确定的,但是有的问题只知道循环结束的条件,重复执行的次数事先并不知道,这是需要Do-Loop循环
格式一:
DoWhile条件
循环体
Loop
当VB执行DoWhile-Loop循环时,先判断指定的条件是否为真,若条件为真,执行循环体,条件为假时退出循环。
格式二:
Do
LoopWhile条件
进入循环体后,先执行一次循环体,然后再检查条件是否成立。
如果成立,就重复执行循环体,直到条件不成立退出循环体。
格式三:
LoopUntil条件
如果不成立,就重复执行循环体,直到条件P成立退出循环体。
格式四:
DoUntil条件
循环体
Loop
当VB执行DoUntil-Loop循环时,先判断指定的条件是否为假,若条件为假,执行循环体,条件为真时退出循环。
例题:
求最大公约数
PrivateSubCommand1_Click()
DimrAsInteger
a=Val(Text1.Text)
b=Val(Text2.Text)
r=aModb
DoWhiler<
0
a=b
b=r
Loop
Text3.Text=Str(b)
六.面向对象程序设计思想
1、对象的三要素:
属性、方法、事件
2、面向对象程序设计的特征:
继承性、封装性、多态性
1、在visualBasic中显示和编辑程序代码时,采用(C).
A、工程资源管理器窗口B、窗体设计器窗口
C、代码编辑窗口D、属性窗口
5、在VB中,要设置某个对象属性时,应进入:
(D)
A任意模式
B中断模式
C运行模式
D设计模式
七.算法与问题解决
1、数组及其应用
数组是一组相同类型的变量集合。
数组用一个统一的名字代表逻辑上相关的一批数据,每个元素靠下标变量来区分.
Dim数组名(下标) As 数据类型
Dima(10)Assingle等同于Dima(0to10)Assingle
a(0)、a
(1)、a
(2)、a(3)、a(4)、a(5)、a(6)、a(7)、a(8)、a(9)、a(10)11个独立数组成员供使用
数组操作通常与For—Next循环结合使用。
For语句中的循环变量作为数组元素的下标,通过循环变量的不断改变,达到对每个数组元素依次进行处理的目的。
例子:
利用数组实现:
产生10个随机数,求出和与平均数
Dima(9)AsInteger‘数组的定义
DimsAsInteger
Randomize‘将RND函数随机化
Fori=0To9
a(i)=Int((100-1+1)*Rnd)+1
Printa(i)
s=s+a(i)
NextI
b=s/10
Print"
和为:
"
s
平均值为:
b
2、二分法查找(二分法查找的对象必须是对有序数列)
二分法查找思路:
1.对于有序数列(从小到大排),设定上界high(最小元素下标)和下界low(最大元素下标),当满足条件low<
=high时,求中点mid,将中点元素的值与所要查找的值比较,若中点元素值比所要查找元素小,则low=mid+1,否则high=mid-1,直到找到为止;
若low>
high,则说明找不到。
Dima(9)AsInteger
DimmidAsInteger
a(0)=12:
a
(1)=20:
a
(2)=27:
a(3)=36:
a(4)=45:
a(5)=50:
a(6)=55:
a(7)=60:
a(8)=79:
a(9)=105
low=0
high=9
DoWhilelow<
=high
mid=(low+high)/2
Ifa(mid)=55Then
Print"
找到了"
ExitDo
Else
Ifa(mid)<
55Then
low=mid+1
high=mid-1
EndIf
Loop
Iflow>
highThen
print"
没有55!
3、冒泡排序
(1)从最后往前比1--100
Dima(9)AsInteger
Fori=0To9
a(i)=Int((100-1+1)*Rnd)+1
Printa(i);
Nexti
定义数组
给数组的每个元素赋值
Forj=1To9
Fori=9Tojstep-1
Ifa(i)<
a(i-1)Then
t=a(i-1)
a(i-1)=a(i)
a(i)=t
Nexti
Nextj
将数组中元素从小到大冒泡排序
从a(9)开始比较、交换
外循环控制排序的趟数
内循环控制每一趟排序比较的次数
Printa(i);
显示排序后的数组元素
(2)从前往后比
Forj=9To1Step-1
Fori=0Toj-1
Ifa(i)>
a(i+1)Then
t=a(i+1)
a(i+1)=a(i)
从a(0)开始比较、交换
Fork=0To9
Printa(k);
Nextk
4、解析法
求解一元二次方程a*x^2+b*x+c=0的实根
dimx1asdouble,x2asdouble
dimaASDouble,bASDouble,cASDouble
ifb*b-4*a*c>
=0then
x1=(-b+sqr(b*b-4*a*c))/(2*a)
x2=(-b-sqr(b*b-4*a*c))/(2*a)
text1.text=“x1=“&
str(x1)
text2.text=“x2=“&
str(x2)
else
print“方程无解”
endif
分析:
X=
x1=(-b+sqr(b*b-4*a*c))/(2*a)
x2=(-b-sqr(b^2-4*a*c))/(2*a)
5、穷举法
求解“百鸡问题”:
已知公鸡每只3元,母鸡每只5元,每3只小鸡1元。
用100元钱买100只鸡,问每种鸡应各买多少?
DimaAsInteger,bAsInteger,cAsInteger
Fora=0to33‘公鸡数
Forb=0to20‘母鸡数
Forc=0to100‘小鸡数
Ifa+b+c=100anda*3+b*5+c/3=100
then
Printa;
b;
c
endif
Nextc
Nextb
Nexta
6、递归法
用递归函数求n!
Functions(nAsInteger)'
自定义递归函数的过程
Ifn=1then
S=1
Else
S=n*s(n-1)
Endif
EndFunction
DimnAsInteger
n=Val(InputBox("
请输入N的值"
))
Prints(n)'
调用递归函数
'
5!
=5*4!
4!
=4*3!
3!
=3*2!
2!
=2*1!
1!
=1
n!
=n*(n-1)!
如果用s(n)来表示n!
当n=1时,s(n)=?
;
当n>
1时,s(n)=?
习题:
1、有5人,问第5人年龄,说比前面第4人小3岁,问第4.3.2人,都说比前面人小3岁,问第1人,说他的年龄为38岁。
问第5人的年龄多大。
用递归法解决此问题的正确步骤是(B)。
A、①定义age(n)函数②函数中当n>
1时返回函数值为age(n-1)当n=1返回函数值为38
B、①定义age(n)函数②函数中当n>
1时返回函数值为age(n-1)-3当n=1返回函数值为38
C、①定义age(n)函数②函数中不断地调用age(n-1)-3
D、①定义age(n)函数②函数中不断地调用age(n)函数自己
2、求2!
+3!
+4!
+5!
……+10!
的值。
能完成此运算,并且比较好的算法是(A)。
A、①定义求阶乘的函数用jc(n)②主程序中用一个循环9次调用jc(n)函数进行累加
B、用一个程序完成:
每一项阶乘用一个For/Nex