VB复习1.docx
《VB复习1.docx》由会员分享,可在线阅读,更多相关《VB复习1.docx(42页珍藏版)》请在冰豆网上搜索。
VB复习1
编写一个完整的程序,要求如下:
1.界面设计
在Form1窗体上添加1个文本框和2个标签,标签1显示考生的真实姓名和学号,按下表建立菜单:
菜单标题
菜单名称
窗体1
Menu1
…倒序
Menu11
…退出
Menu12
窗体2
Menu2
在Form2窗体,并放置"绘图"和"返回"两个命令按钮。
2.程序功能如下:
(1)单击"倒序"菜单项时,在标签2内按倒序形式显示文本框1中的内容(例如,文本框1中输入123,标签2显示为321)。
(2)当单击"退出"菜单项时,结束程序的运行,单击"窗体2"菜单项时,打开Form2窗体。
(3)在Form2上单击"绘图"命令按钮:
绘制(-10,100)-(150,-30)的坐标系统,并用Circle方法在窗体上绘制8个半径长为10、
圆心坐标(90以内)和颜色为随机值的圆。
单击"返回"命令按钮则关闭Form2窗体,显示Form1窗体。
提示:
用Rnd产生圆心坐标点,颜色函数:
QBColor(n)n=0~15
•
•7….PrivateSubMenu11_Click()
•Label2=""
•Fori=Len(Text1)To1Step-1
•Label2=Label2&Mid(Text1,i,1)
•Nexti
•EndSub
•PrivateSubMenu12_Click()
•End
•EndSub
•PrivateSubMenu2_Click()
•Form2.Show
•EndSub
•PrivateSubCommand1_Click()
•Cls
•Me.Scale(-10,100)-(150,-30)
•Fora=1To8
•Circle(Rnd*90,Rnd*90),10,QBColor(Rnd*15)
•Nexta
•EndSub
•PrivateSubCommand2_Click()
•UnloadMe
•EndSub
编写一个完整的程序,要求如下:
1.界面设计
在Form1窗体上放置一个图形框和1个文本框,文本框自动显示考生的真实姓名和学号,按下表建立菜单:
菜单标题
菜单名称
窗体1
Menu1
…绘图
Menu11
…退出
Menu12
窗体2
Menu2
在窗体Form2上放置2个标签、1个滚动条和2个命令按钮,按钮的标题分别为"累加"和"返回",设定滚动条最小值为2、最大值为10。
2.程序功能如下:
(1)当单击"绘图"菜单项时,定义图形框的坐标系为(-8,2)-(8,-2)。
用PSet方法在在图形框内在窗体上绘制-2π到2π之间的正弦曲线y=Sinx的红色图形,红色常数为vbRed。
(2)当单击"窗体2"菜单项时,打开Form2窗体,单击"退出"菜单项时,结束程序的运行。
(3)在窗体2内拖动滚动条滑块,在Label1显示滚动条当前值n;单击"累加"按钮,在标签Label2显示1+2+...+n的值;单击"返回"按钮,关闭Form2窗体,显示Form1窗体。
•
•
•
•
•6…PrivateSubMenu11_Click()
•Picture1.Scale(-8,2)-(8,-2)
•Forx=-6.28To6.28Step0.01
•Picture1.PSet(x,Sin(x)),vbRed
•Nextx
•EndSub
•PrivateSubMenu12_Click()
•End
•EndSub
•PrivateSubMenu2_Click()
•Form2.Show
•EndSub
•Dims%
•PrivateSubCommand1_Click()
•Label2=s
•EndSub
•PrivateSubCommand2_Click()
•UnloadMe
•EndSub
•PrivateSubHScroll1_Scroll()
•s=0
•Label1=HScroll1.Value
•Fori=1ToHScroll1.Value
•s=s+i
•Nexti
•EndSub
编写一个完整的程序,要求如下:
1.界面设计
在Form1窗体上放置1个文本框,2个标签,2个命令按钮,设置文本框为多行,有滚动条。
参见样例,设置各个控件的提示文字。
2.程序功能如下:
(1)当单击"产生随机数并找出最大值"按钮后,在文本框内自动产生10个100-900之间的随机整数,并在Label2中显示最大的数。
(2)单击"结束"按钮,停止程序运行。
编写一个完整的程序,要求如下:
1.界面设计
在Form1窗体上添加1个List1控件和1个标签,标签显示考生的真实姓名和学号,按下表建立菜单:
菜单标题
菜单名称
窗体1
Menu1
…产生
Menu11
…退出
Menu12
窗体2
Menu2
在窗体Form2上放置"绘图"和"返回"两个命令按钮。
2.程序功能如下:
(1)单击"产生"菜单项时,在List1内随机产生10个300以内的正整数。
(2)当单击"窗体2"菜单项时,隐藏Form1窗体,显示Form2窗体;单击"退出"菜单项时,结束程序的运行。
(3)在Form2上单击"绘图"命令按钮:
用Line方法在屏幕上随机产生20条长度、颜色、宽度不同的直线。
单击"返回"命令按钮则关闭Form2窗体,显示Form1窗体。
提示:
坐标点为:
x=Rnd*Me.ScaleWidth,y=Rnd*Me.ScaleHeight。
用DrawWidth属性设置线宽,颜色函数:
QBColor(n)n=0~15
4…..PrivateSubMenu11_Click()
List1.Clear
Fori=1To10
List1.AddItemInt(Rnd*300)
Nexti
EndSub
PrivateSubMenu12_Click()
End
EndSub
PrivateSubMenu2_Click()
UnloadForm1
Form2.Show
EndSub
PrivateSubCommand1_Click()
Cls
Fori=1To20
DrawWidth=Int(Rnd*5+1)
Line(Me.ScaleWidth*Rnd,Me.ScaleHeight*Rnd)-(Me.ScaleWidth*Rnd,Me.ScaleHeight*Rnd),QBColor(Rnd*15)
Nexti
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
编写一个完整的程序,要求如下:
1.界面设计
在Form1窗体上添加2个文本框和1个标签,标签显示考生的真实姓名和学号,按下表建立菜单:
菜单标题
菜单名称
窗体A
Menu1
…产生
Menu11
…退出
Menu12
窗体B
Menu2
在本工程内加入窗体Form2,并放置"绘图"和"返回"两个命令按钮。
2.程序功能如下:
(1)单击"产生"菜单项时,在文本框1随机产生一个10000以内的正整数,同时在文本框2显示该数的逆序数(说明:
735的逆序数是537)。
(2)当单击"窗体2"菜单项时,打开Form2窗体,单击"退出"菜单项时,结束程序的运行。
(3)在Form2上单击"绘图"命令按钮:
用用Pset方法在窗体上画200个随机彩色点,点的大小在单位3~6之间变化。
单击"返回"命令按钮则关闭Form2窗体,显示Form1窗体。
提示:
坐标点为:
x=Rnd*Me.ScaleWidth,y=Rnd*Me.ScaleHeight。
用DrawWidth设置线宽
颜色函数:
QBColor(n)n=0~15
•5…PrivateSubMenu11_Click()
•Text2=""
•Text1=Int(Rnd*10000)
•Fori=Len(Text1)To1Step-1
•Text2=Text2&Mid(Text1,i,1)
•Nexti
•EndSub
•PrivateSubMenu12_Click()
•End
•EndSub
•PrivateSubMenu2_Click()
•Form2.Show
•EndSub
•PrivateSubCommand1_Click()
•Cls
•Fori=1To200
•DrawWidth=Int(Rnd*4+3)
•PSet(Me.ScaleWidth*Rnd,Me.ScaleHeight*Rnd),QBColor(Rnd*15)
•Nexti
•EndSub
•PrivateSubCommand2_Click()
•UnloadMe
•EndSub
•
•
•
•画200个点
•PrivateSubMenu13_Click()
•Dimi,x,y,c
•Cls'清空窗体
•DrawWidth=1
•Form1.Scale(-10,100)-(150,-30)'定义坐标系
•Line(-10,0)-(150,0)'画x轴
•Line(0,100)-(0,-30)'画y轴
•Randomize'用Rnd函数之前必须调用
•Fori=1To200
•x=Int(Rnd*159-10)'x坐标在(-10,150)
•y=Int(Rnd*129-30)'y坐标在(-30,100)
•
•c=Int(Rnd*16)'颜色在0~15之间
•DrawWidth=Int(Rnd*4+3)'粗细在3~6之间
•
•PSet(x,y),QBColor(c)'在坐标(x,y)处画半径为r,颜色为c的圆圈
•Nexti
•
•EndSub
编写一个完整的程序,要求如下:
1.界面设计
(1)在Form1窗体上添加1个图形框和1个标签,标签内显示考生的真实姓名和学号,按下表建立菜单:
菜单标题
菜单名称
备注
窗体1
Menu1
一级菜单
…绘图
Menu11
二级菜单
…退出
Menu12
二级菜单
窗体2
Menu2
一级菜单
在窗体Form2上放置2个标签、1个滚动条和2个命令按钮,按钮的标题分别为"阶乘"和"返回",设定滚动条最小值为2、最大值为10。
2.程序功能如下:
(1)单击"绘图"菜单项,定义图形框的坐标系为(-5,5)-(5,-5)。
用Line方法在在图形框内绘制参数方程x=4Cos5αCos4α,y=4Cos5αSinα在0~2π之间的红色图形,红色常数为vbRed。
(2)单击"窗体2"菜单项时,打开Form2窗体,单击"退出"菜单项时,结束程序的运行。
(3)在窗体2内拖动滚动条滑块,在Label1显示滚动条当前值n;单击"阶乘"按钮,在标签Label2显示数n的阶乘值;单击"返回"按钮,关闭Form2窗体,显示Form1窗体。
编写一个完整的程序,要求如下:
1.界面设计
在Form1窗体上放置1个文本框,2个标签,2个命令按钮,设置文本框为多行,有滚动条。
参见样例,设置各个控件的提示文字。
2.程序功能如下:
(1)当单击"产生随机数并找出最大值"按钮后,在文本框内自动产生10个100-900之间的随机整数,并在Label2中显示最大的数。
(2)单击"结束"按钮,停止程序运行。
PrivateSubCommand1_Click()
list1.Clear
m=o
Fori=1To10
n=Int(Rnd*800+100)
list1.AddItemn
Ifn>mThenm=n
Nexti
label1=m
EndSub
编写一个完整的程序,要求如下:
1.界面设计
在Form1窗体上放置1个命令按钮,2个文本框,3个标签,1个框架内含4个单选按钮,分别对应"+"、"-"、"*"、"/"4个运算符。
参见样例,设置各个控件的提示文字。
2.程序功能如下:
(1)单击"产生随机操作数"命令按钮,在2个文本框内分别随机产生1-10之间的操作整数。
(2)单击某运算符对应的单选按钮,在标签3中显示计算结果。
程序改错
不允许增加或删除语句、改变语句先后顺序,但可以修改语句。
程序1(Command1_Click()事件):
一元二次方程求根,利用InputBox输入系数,结果显示在Label1。
程序中有2个错误。
Dimdalt!
a#,b#,c#
a=InputBox("输入系数a"):
b=InputBox("输入系数b"):
c=InputBox("输入系数c")
dalt=b*b-4*acb*b-4*a*c
Ifdalt>=0Then'两个实根
dalt=Sqr(dalt)
Label1="X1="&(b+dalt)/2/a&vbCrLf
Label1="X2="&(b-dalt)/2/a
Label1=Label1&“x2=”&(b-dalt)/2/a
Else
Label1="无实根"
EndIf
程序2(Command2_Click()事件):
输入百分制成绩mark,在Label1显示对应3级制的评定,程序中有1个错误。
优良:
[80,100]合格:
[60,80),不及格:
[0,60)
mark=Val(Text1)
Ifmark>=60ThenIfmark>=60andmark<80Then
Label2="合格"
ElseIfmark>=80Then
Label2="优良"
Else
Label2="不及格"
EndIf
程序3(Command1_Click()事件):
本程序段求1~100的之间3的倍数和,结果显示在Label1。
程序中有2个错误。
Sum=1Sum=0
Fori=3To100Step3
Sum=Sum+i
Nexti
Label1="Sum="+SumLabel1="Sum="&Sum
程序4(Command1_Click()事件):
判断一个整数的奇偶性,程序中有1个错误。
DimxAsInteger
x=InputBox("请输入一个整数:
","数据输入")
Ifx/2=x*0.5Then'判断条件语句IfxMod2=0Then
a$="整数"&x&"是偶数"
Else
a$="整数"&x&"是奇数"
EndIf
MsgBoxa$,,"奇偶数判断"
程序5(Command2_Click()事件):
计算10!
,程序中有2个错误。
DimsAsIntegerDimsAslong
s=0s=1
Fori=1To10
s=s*i
Next
Text1=s
程序6(Command2_Click()事件):
输入百分制成绩mark,在Label1显示对应3级制的评定,程序中有1个错误。
优良:
[80,100]合格:
[60,80),不及格:
[0,60)
mark=Val(Text1)
Ifmark>=80Then
Label2="优良"
ElseIf60<=mark<80Then60<=markAndmark<80Then
Label2="及格"
Else
Label2="不及格"
EndIf
1.在VisualBasic中语句的续行号采用__A_____。
A.空格与下划线B.下划线与空格
C.空格与短线D.短线与空格
2.如果文本框的Enabled属性设为False,则__A______。
文本框的Enabled属性设为False,不能输入,但可显示数据
A.文本框的文本将变成灰色,并且此时用户不能将光标置于文本框内
B.文本框的文本将变成灰色,用户仍然能将光标置于文本框内,但是不能改变文本框中的内容。
C.文本框的文本将变成灰色,用户仍然能改变文本框中的内容。
D.文本框的文本正常显示,用户能将光标置于文本框内,但是不能改变文本框中的内容。
3.为了取消窗体的最大化功能,需要设置__D____属性为False。
A.ControlBoxB.MinButton
C.EnabledD.MaxButton
4.表达式Chr(Int(Rnd*5+65))生成的范围为__B____。
Rnd*5+65产生的数在[65,70),Chr(65)将65变为字母A
Chr(66)是B…
A.65∽69B."A"∽"E"
C."A"∽"F"D.65∽70
5.有说明语句Dimx!
,则x是____C____类型的变量。
A.整型B.长整型
C.单精度浮点型D.双精度浮点型
6.下面程序段的功能是求两个数中的小数,____C_________是不正确的。
A.Min=IIf(x>y,y,x)
B.IfxC.Ify<=xThenMin=y:
Min=x
D.Ify<=xThenMin=y
Ify>xThenMin=x
Ify<=xThenMin=y:
Min=x等价于
Ify<=xThenMin=y
Min=x
7.下列程序段执行的结果是____A_______。
x=5
y=2
Ifx>2Thenx=1,不大于2直接跳到Print
Ify>=2Thenx=3
EndIf
Printx
A.1B.2C.0D.3
8.按照VB默认规定,数组声明Dima(2+5)共有__A____个元素。
A.18B.15
C.10D.7(X+1)*(Y+1)=?
9.当单击一个没有被选中的复选框时,其它已被选中的复选框会处于____D____。
A.不选中B.不显示
C.禁止D.选中
10.图片框Picture1中装入了一个图形,运行时为了清除该图形,应采用的正确方法是___B___。
A.选择图片框,然后按Del键
B.Picture1.picture=LoadPicture("")
C.Picture1.picture=""
D.选择图片框,在属性窗口中选择Picture属性条,然后按回车键
11.VisualBasic是一种面向对象的可视化程序设计语言,采取了___A______的编程机制。
A.事件驱动B.按过程顺序执行
C.从主程序开始执行D.按模块顺序执行
12.设计时,要求改变窗体的标题,应当在属性窗口中对_A____属性进行操作。
A.CaptionB.Name
C.TextD.Label
13.要使窗体Form1的标题栏中显示"正在复制文件…",以下正确的语句是__A___。
A.Form1.Caption="正在复制文件…"B.Form1.Title="正在复制文件…"
C.Form1.Text="正在复制文件…"D.Form1.name="正在复制文件…"
14.下面正确的赋值语句是__C___。
A.x+y=30B.x*x+y*y=z*z
C.y=y+30D.3y=x
15.a+b小于10,且a-b大于1的逻辑表达式是____B_____。
A.a+b<10Ora-b>1
B.a+b<10Anda-b>1
C.a+b<10.And.a-b>1
D.(a-b>1)To(a+b<10)
16.在VisualBasic代码中,将多个语句合并在一行上的并行符是__B___。
A.撇号(')B.冒号(:
)
C.感叹号(!
)D.问号(?
)
17.结构化程序由三种基本结构组成,下面属于三种基本结构之一的是__B____。
顺序,判断,循环
A.递归结构B.循环结构
C.过程结构D.输入输出结构
18.按照VB默认规定,数组声明语句Dima(1To2,2)中的数组a包含了__A_______个数组元素。
A.6B.2
C.4D.8
19.若要使单选按钮具有图形特性可通过___D_______属性来进行。
A.AppearanceB.BackStyle
C.BordestyleD.Style
20.假设窗体上有一个列表框控件List1,其中放有若干列表项。
则____D______能表示当前被选中的列表项的内容。
A.List1.ListB.List1.ListIndex
C.List1.IndexD.List1.Text
21.关于运算符优先级,以下说法中正确的是_____A_____。
A.关系运算符的优先级相同B.算术运算符“\”和“/”的优先级相同
C.逻辑运算符的优先级相同D.算术运算符中负号和减号的优先级相同
22.下面C是合法的字符常数。
A.ABC$B.'ABC'
C."ABC"D.ABC
23.循环语句Fori%=8To-2Step-2的执行次数是C。
A.8B.7
C.6D.5
24.以下关系表达式中,其值为False的是A。
A."ABC">"AbC"B."the"<>"they"
C."VISUAL"=UCase("Visual")D."Inte