VB实验及答案文档格式.docx
《VB实验及答案文档格式.docx》由会员分享,可在线阅读,更多相关《VB实验及答案文档格式.docx(41页珍藏版)》请在冰点文库上搜索。
Label1.Caption="
广西师范学院"
EndSub
(4)程序的运行及保存。
【提示】
在窗体上显示“广西师范学院”有两种方法:
(1)用Print方法:
设置窗体的前景色为红色。
(2)用一个标签控件:
设置标签控件的前景色为红色。
【思考】为什么在以上两种方法中在颜色的设置问题上有所不同?
3通过编程修改控件的属性。
(1)进入程序设计的界面如图1-1(a)。
(2)点击“单击此处”按钮后程序运行的界面如图1-1(b)。
(1)在窗体中创建一个标签Label1、一个命令按钮Command1。
(2)在属性窗口中设置对象的属性:
设计界面
请留意此处
单击此处
(3)在Command1的Click事件中编写程序代码:
Form1.Caption="
编程后界面"
欢迎您使用VB6.0"
Command1.Caption="
运行结果"
可以通过两种方法设置对象的属性:
(1)在程序设计状态,通过属性窗口对该属性进行修改或设置。
(2)在程序运行状态,通过程序中的语句动态地更改对象的属性。
修改对象属性的语句格式:
对象名.属性名称=新设置属性值
实验二
顺序结构程序设计
1.掌握常量和变量、表达式的基本概念和正确书写格式。
2.掌握赋值语句和常用函数的正确使用方法。
3.掌握输入、输出对话框(InputBox和MsgBox)的基本使用方法。
1假设有变量a=2,b=5,c=4,d=3,e=6,编写程序,计算表达式a+b>
candd*a=e的值,将结果打印在窗体上。
注意复合表达式的运算顺序。
【思考】复合表达式按什么样的顺序运算?
2
编写程序,界面如图2-1所示。
使得单击一次按钮可以产生一个[60,90]之间的随机数并显示在标签Label1上,再求出该数的正弦值,将结果写在标签Label2上。
在窗体上创建一个命令按钮Command1、两个标签Label1和Label2。
随机数的正弦值
下一个随机数
Label2
Dimx!
y!
Randomize
x=Rnd*31+60
y=Sin(x)
随机数(60-90):
"
&
Str(x)
Label2.Caption="
正弦值
:
Str(y)
(1)使用Rnd函数产生随机数,注意,为了防止两次运行程序的随机数序列相同,调用Rnd之前先用Randomize语句进行初始化。
(2)产生某闭区间内的随机数的公式为:
(上限-下限+1)*rnd+下限。
(3)求正弦值函数为:
sin()。
【思考】怎样产生一个[60,90]之间的随机数?
3编写一个华氏温度F与摄氏温度C之间转换的应用程序,界面如图2-2所示。
其中F与C之间的关系为:
。
在窗体上创建两个命令按钮Command1和Command2、两个标签Label1和Label2、两个文本框Text1和Text2。
温度转换
>
Command2
<
华氏温度
摄氏温度
Text1
Text
Text2
Dimf!
c!
f=Val(Text1.Text)
c=(f-32)*5/9
Text2=Str(c)
PrivateSubCommand2_Click()
c=Val(Text2.Text)
f=9/5*c+32
Text1=Str(f)
4求圆的面积及圆柱体的体积,界面如图2-3所示。
在窗体上创建两个命令按钮Command1和Command2,四个标签Label1、Label2、Label3和Label4,四个文本框Text1、Text2、Text3和Text4。
求圆的面积
求圆柱的体积
圆的半径
圆柱的高
Label3
圆的面积
Label4
圆柱的体积
Text1、Text2、Text3、Text4
DimrAsSingle,sAsSingle
r=Val(Text1.Text)
s=3.14159*r*r
Text3.Text=Str(s)
Dimr!
h!
v!
h=Val(Text2)
v=3.14159*r*r*h
Text4=v
实验三
选择结构程序设计
1.掌握逻辑表达式的正确使用方法。
2.掌握单分支、双分支和多分支条件语句结构的使用方法。
1有函数:
写一个程序,输入x值后,则输出相应y值。
要求用“If…ElseIf…EndIf”和用“SelectCase”两种方法完成该题目。
注意区分1≤x<
10和1<
=xAndx<
10有什么不同。
2编写一个判断给定坐标在第几象限的程序,界面如图3-1所示。
在窗体上创建一个命令按钮Command1,三个标签Label1、Label2和Label3,两个文本框Text1和Text2。
象限判断
判断
X=
Y=
Text1、Text2
x=Val(Text1)
y=Val(Text2)
Ifx>
0Then
Ify>
在第一象限"
Else
在第四象限"
EndIf
在第二象限"
在第三象限"
3编写一个网吧收费程序。
(1)运行界面如图3-2所示。
(2)网吧基本收费为2元/小时。
(3)根据不同的上机时数x,上机费用y可以按以下公式计算收费:
在窗体上创建一个命令按钮Command1,两个标签Label1和Label2,两个文本框Text1和Text2。
计费
上机时数
上机费用
x=Val(Text1)
Ifx<
3Then
y=2*x
ElseIfx<
5Then
y=2*0.9*x
10Then
y=2*0.8*x
y=2*0.75*x
Text2=Str(y)
4输入某学生的某科目考试成绩(100分制),输出该学生的成绩等级。
90分以上为“优秀”,80~89分为“良好”,70~79分为“中等”,60~69分为“及格”,60分以下为“不及格”。
在窗体上创建一个命令按钮Command1,两个标签Label1和Label2,两个文本框Text1和Text2,如图3-3所示。
成绩等级
请输入成绩
成绩等级为
Dimcj!
djAsString
cj=Val(Text1.Text)
SelectCaseVal(Text1)\10
Case9,10
Text2="
优秀"
Case8
良好"
Case7
中等"
Case6
及格"
CaseElse
不及格"
EndSelect
实验四
循环结构程序设计
1.掌握循环的基本概念。
2.掌握For循环。
3.掌握Do...While循环和DoWhile...Loop循环,注意区分两种循环。
4.了解Do...LoopUntil循环和DoUntil...Loop循环。
5.掌握如何利用循环条件来控制循环,防止死循环的出现。
1编写一个程序,当程序运行时,单击窗体后,用单循环在窗体上输出规则字符图形,如图4-1所示。
(1)编写事件代码:
PrivateSubForm_Click()
Dimi%
Cls
Fori=1To10
PrintString(i,"
*"
)
Nexti
(2)程序的运行及保存。
使用String()函数,String()函数可以重复显示某个字符串。
例如,String(4,"
)可以生成4个连续的“*”,即“****”。
2编写程序,用单循环在窗体上实现如图4-2所示的图形。
Fori=9To0Step-1
PrintSpc(10-i);
String(2*i+1,Trim(Str(i)))
(1)注意观察图形的规律:
第I行在输出时是m个空格+n个字符x,其中m、n、x均和I有关系。
(2)配合Print方法使用Spc(n)函数,其作用是产生n个连续的空格。
(3)使用Str()函数和Trim()函数。
Str(f)函数是将数值f转换为相同形式的字符串;
Trim(s)函数可将字符串s的最前和最后的空格(称为前导和后导空格,可为多个空格)剪切掉,字符串中的空格不受影响。
当I为7时,Trim(Str(I))则是字符串"
7"
(4)结合(3),当I为1时,String(2*I+1,Trim(Str(I)))则生成字符串"
111"
3编写程序,求1+2+3+...+100的和,将结果打印在窗体上。
4编写程序,计算Sum=1+2+3+...,的值,直到Sum>
6000为止。
5计算
的值,当第i项
时结束。
6已知工厂去年的年产值为300万元,年增长率为15%。
试问经过多少年后,该工厂的年产值可以翻一番?
翻一番后的实际产值是多少?
在窗体上创建一个命令按钮Command1,八个标签Label1~Label8,四个文本框Text1~Text4,如图4-3。
翻一番
现有产值
元
年增长率
%
Label5
经过
Label6
年
Label7
产值为:
Label8
Text1~Text4
Dimp!
s!
y%,r!
p=Val(Text1)
r=Val(Text2)/100
y=0
s=0
Do
y=y+1
s=p*(1+r)^y
LoopWhiles<
2*p
Text3=Str(y)
Text4=Str(s)
PrivateSubForm_click()
Text1="
Text3="
Text4="
7使用双重循环,输出“九九乘法表”,如图4-4所示。
(1)界面设计:
在属性窗口将窗体Form1的Caption属性设置为“九九乘法表”。
(2)编写事件代码:
Dimi%,j%
DimstrAsString
Picture1.Print
Fori=1To9
Forj=1Toi
str=i&
"
¡
Á
j&
="
i*j
Picture1.PrintTab((j-1)*9+1);
str;
Nextj
(3)程序的运行及保存。
(1)注意行号和该行乘法单元的个数之间的关系。
(2)注意乘法单元的规律:
“4×
3=12”中4为行号,3为列号,且列号不大于行号。
(3)乘号“×
”可从汉字输入法软键盘菜单的“数学符号”中找到;
或从Word中菜单【插入】->
【符号】中找到,再从Word中剪切或复制到VB代码中。
(4)可以将窗体的AutoRedraw属性设为True,以防初始大小的窗体显示不下全部内容。
8显示所有的水仙花数。
所谓水仙花数,就是指一个3位正整数,其各位数字的立方和等于该数本身。
例如,
,153即为水仙花数。
在窗体上创建一个图形框Picture1。
PrivateSubPicture1_Click()
Picture1.Cls
Picture1.Print"
Ë
ù
Ó
Ð
µ
Ä
®
Ï
É
»
¨
Ê
ý
Î
ª
£
º
Fori=100To999
a=i\100
b=i\10Mod10
c=iMod10
Ifi=a^3+b^3+c^3ThenPicture1.Printi;
本题目解法有两种:
(1)对3位数的各位数组合进行穷举:
利用3重循环,将3个个位数组成一个3位数进行判断。
例如,3位数的各位数从高位到低位依次为a、b、c,则对应的3位数为a*100+b*10+c。
(2)对所有3位数进行穷举:
利用单循环对所有3位数进行穷举,循环内将一个3位数拆成3个个位数进行判断。
例如,对s=678进行拆解时:
个位数=sMod10;
十位数=(s\10)Mod10;
百位数=s\100。
当然,也可以将上述拆解过程写为一个循环(这时就是利用双重循环,内层循环即为拆解过程)。
实验五
数组及其应用
1.掌握数组的基本概念。
2.掌握数组的声明、引用。
3.掌握静态数组和动态数组的区别。
4.掌握控件数组。
4.掌握如何利用数组解决与数组相关的常用算法(特别是排序算法)。
1随机产生10个0~100之间(包括0和100)的整数,存放在一个数组中,然后求各元素之和、平均值,统计大于平均值的元素个数并把它们打印出来,如图5-1所示。
在窗体上创建三个命令按钮Command1、Command2和Command3,四个标签Label1、Label2、Label3和Label4,两个文本框Text1和Text2,两个图形框Picture1和Picture2。
求和
求平均值
Command3
统计
10个随机整数分别为:
各元素之和为:
平均值为:
大于平均值的元素为:
OptionBase1
Dima(10)AsInteger
Dimi%,sum%
sum=0
sum=sum+a(i)
Text1=Str(sum)
Text2=Val(Text1)/10
PrivateSubCommand3_Click()
Ifa(i)>
Val(Text2)ThenPicture2.Printa(i);
Picture2.Cls
a(i)=Int(Rnd*101)
Picture1.Printa(i);
2编写一个程序,删除数组中某个元素,如图5-2所示。
在窗体上创建一个命令按钮Command1,三个标签Label1、Label2和Label3,一个文本框Text1,两个图形框Picture1和Picture2。