age=age+
(1)1
stu=
(2)+age–25stu
Loop
func=age
EndFunction
SubMain()
IfCommand="assess"Then
Open""ForInputAs#1
LineInput#1,n
Close#1
Open""ForOutputAs#1
Print#1,func(n)
Close#1
Else
'请完善大学生数n的输入语句
(3)=InputBox("请输入大学生数n:
","Input")n
MsgBoxfunc(n)
EndIf
EndSub
4、操作要求:
设计一个VB学习指导程序的窗口运行界面,界面设计如下图。
要求
(1)打开“C:
\MyExam\工程”,设置窗体Form1属性值:
将该窗体标题命名为“VB学习指导”;
(2)添加一个标签控件Label1,并设置如下属性值:
该控件填充内容“VB学习指导”;
字体为隶书,字形为粗体,字号为三号,字体颜色为调色板中第5行第7列,并居中对齐;
(3)对标签控件Label2(请输入口令:
),设置如下属性值:
根据字体大小自动调整;
(4)添加一个文本框控件Text1,并设置如下属性值:
文本框高度为650,宽度为2215;
文本框内容为空;
(5)添加一个命令按钮Option2,并设置如下属性值:
将该按钮标题命名为“退出”;
字体为黑体,字号为四号;
按钮宽度1575,高度735;
(5)保存并提交。
5、操作要求:
打开"C:
\MyExam\工程”,补充完成程序。
实现当从键盘上输入x的值后,求函数y的值(当x<0时,y=|3x+1|;当x>=0时,y=4x+1)。
如:
输入-2后,输出结果:
5.
Functionfunc(x)
Ifx<0Then
func=
(1)abs(3*x+1)
Else
func=
(2)4*x+1
EndIf
EndFunction
6、操作要求:
打开“C:
\MyExam\工程”补充完成程序并保存!
该程序的功能是:
从键盘上输入两个数a和b,比较a和b的大小,并输出较小的数。
Functionfunc(a,b)
If
(1)Thena
func=a
Else
If
(2)Thena>b
func=b
Else
func="两数相等"
EndIf
EndIf
EndFunction
7、操作要求:
输入a、b、c的值,判断一元二次方程ax^2+bx+c=0是否有解,如果无解则输出“无解”,如果两个解相同则输出“两解相同”,否则输出“两解不同”。
Functionf(a,b,c)
'请完成其它的判断语句
Ifb*b-4*a*c<0Thenf="无解"
Ifb*b-4*a*c=0Then
(1)f="两解相同"
(2)Ifb*b-4*a*c>0Thenf="两解不同"
EndFunction
SubMain()
IfCommand="assess"Then
Open""ForInputAs#1
LineInput#1,a
LineInput#1,b
LineInput#1,c
Close#1
Open""ForOutputAs#1
Print#1,f(a,b,c)
Close#1
Else
a=InputBox("请输入a","Input")
b=InputBox("请输入b","Input")
'请完成变量c的输入语句
(3)c=InputBox("请输入c","Input")
MsgBoxf(a,b,c)
EndIf
EndSub
8、操作要求:
打开“C:
\MyExam\工程”补充完成程序并保存!
该程序的功能是:
求实数x的绝对值。
Functionfunc(x)
Ifx>=0
(1)then
func=x
Else
func=
(2)-x
(3)endif
EndFunction
9、操作要求:
打开“C:
\MyExam\工程”进行以下操作后并保存!
填空完成程序,计算N!
的值并在窗体上打印出结果,如输入:
3,则输出:
6。
(注:
N!
=1×2×…×N)
Functionfunc(n)
DimiAsInteger
(1)func=1
Fori=1To
(2)n
func=func*i'计算N!
Nexti
EndFunction
10、操作题:
“提示信息”界面设计,如下图所示,要求
(1)打开“C:
\MyExam\工程”,对窗体Form1设置如下属性值:
窗体标题为“提示信息”;
背景色为调色板第1行第7列。
(2)添加一个标签控件Label,并设置如下属性值:
标签标题为“要继续吗”(注:
“”为中文标点符号);
标签高度为495,宽度为1935;
字体为楷体,字形为常规,字号为三号,字体颜色为调色板第5行第8列,背景类型为0。
(3)添加一个按钮控件CommandButton,并设置如下属性值:
按钮标题为“否”;
字号为小四。
(4)保存并提交。
11、操作要求:
输入10位同学的英语成绩存放在数组score中,利用选择排序算法按照从大到小的顺序进行排序。
'算法描述:
'输入10位同学的英语成绩存放在数组score中
'利用选择排序算法按照从大到小的顺序进行排序
'定义数组score,下界为1,上界为10,数据类型为Single
Dim
(1)score(1To10)AsSingle
Functionf()
'i为排序的次数,应该排序9次,为i添加初值和终值
Fori=
(2)1To9
Min=score(i):
m=i
'j为每次排序的数的范围,应从i+1开始直到第10个数,为j添加初值和终值
Forj=(3)i+1To10
Ifscore(j)>MinThenMin=score(j):
m=j
Nextj
'以k为中间变量,编写交换score(i)和score(m)的语句
k=score(i)
score(i)=score(m)
(4)score(m)=k
Nexti
st="排序后的数列为:
"
Fori=1To10
st=st+Str(score(i))+""
Nexti
f=st
EndFunction
SubMain()
DimiAsInteger,mAsInteger,kAsInteger,jAsInteger
DimstAsString
IfCommand="assess"Then
Open""ForInputAs#1
DimxAsString
Fori=1To10
LineInput#1,x
score(i)=Val(x)
Nexti
Close#1
Open""ForOutputAs#1
Print#1,f()
Close#1
Else
Fori=1To10
'输入10位同学的英语成绩,在赋值号左侧添加变量
(5)=InputBox("请输入第"&i&"个数据")score(i)
Nexti
MsgBoxf()
EndIf
EndSub
12、购物问题:
购物满1000元,打7折,800到1000元,打8折,500到800元,打9折。
Privatesubcommand1_click()
X=val
Ifx>=1000then
(1)Y=*x
Elseif
(2)thenx>=800
Y=*x
Elseifx>=500then
(3)Y=*x
Else
Y=x
Endif
=y
Endsub
13、十进制转化成二进制问题:
将一个十进制数转化为二进制数。
Functionfunc(x)
Dimbin(32),j,str
Str=””
j=0
dowhile(x>0)
bin(j)=
(1)xmod2
(2)x=x\2
j=j+1
loop
dowhile(j<>0)
str=str&bin(j-1)
j=(3)j-1
loop
func=str
endfunction
14、水仙花数问题:
水仙花数是满足下面条件的一组三位的正整数,它们满足条件:
每一位上数字的立方之和恰好等于它自己。
例如:
153就是一个水仙花数,13+53+33=153,请找出所有的水仙花数及个数。
参考程序代码如下:
方法一:
PrivateSubCommand1_Click()
DimsumAsInteger
Dimi,a,b,cAsInteger
Sum=0
Fori=100To999
a=i\100‘求得百位上的数字
b=i\10Mod10‘求得十位上的数字
c=iMod10‘求得个位上的数字
Ifa^3+b^3+c^3=iThen‘判断是否满足条件
(Str(i))
sum=sum+1‘统计个数
EndIf
Nexti
="个数:
"+Str(sum)
EndSub
方法二:
PrivateSubCommand1_Click()
DimsumAsInteger
Dimi,j,kAsInteger
Sum=0
Fori=1To9‘百位数
Forj=0To9‘十位数
Fork=0To9‘个位数
Ifi^3+j^3+k^3=100*i+10*j+kThen‘是否满足条件
(Str(100*i+10*j+k))
sum=sum+1‘统计个数
EndIf
Nextk
Nextj
Nexti
="个数:
"+Str(sum)
EndSub
15、用递归算法来计算斐波那契数列1,1,2,3,5,8,13,21……的第N项,我们可以写出这样的计算公式:
fib(n)=fib(n-1)+fib(n-2)(n>2)
fib
(2)=1(n=2)
fib
(1)=2(n=1)
Fib函数参考程序代码如下:
Functionfib(nAsInteger)AsLong‘计算斐波那契数列第n项
Ifn=1orn=2Then
fib=1‘已知第1项、第2项均为1
Else
fib=fib(n-1)+fib(n-2)‘计算公式,fib(n)=fib(n-1)+fib(n-2)
EndIf‘要求fib(n-1)和fib(n-2)需要再次执行算法fib
EndFunction
也可以用如下代码来完成:
Functionfib(nAsInteger)AsLong‘计算斐波那契数列第n项
Ifn=1orn=2Thenfib=1‘已知第1项、第2项均为1
Ifn>2thenfib=fib(n-1)+fib(n-2)‘计算公式
EndFunction
参考程序代码如下:
PrivateSubCommand1_Click()
DimnAsInteger
DimanAsLong
n=Val
an=fib(n)
=Str(an)
EndSub