VB程序设计课后习题答案科学出版社.docx
《VB程序设计课后习题答案科学出版社.docx》由会员分享,可在线阅读,更多相关《VB程序设计课后习题答案科学出版社.docx(18页珍藏版)》请在冰豆网上搜索。
![VB程序设计课后习题答案科学出版社.docx](https://file1.bdocx.com/fileroot1/2023-1/24/c6724188-8b5a-4209-89e0-f71346cf25de/c6724188-8b5a-4209-89e0-f71346cf25de1.gif)
VB程序设计课后习题答案科学出版社
同步练习1
二、选择题
01——05CADAB
06——10ACDAB
11——15CBDBB
同步练习2
二、选择题
01——05ABDCA
06——10CACBC
11——15DADAD
16——20BDBBB
三、填空题
1.可视
2.LEFT、TOP、WIDTH、HEIGHT
3.按字母顺序
4.查看代码
5.工具、编辑器
6.FORM窗体、FONT
7.MULTILINE
8.在运行时设计是无效的
9.工程、工程属性、通用、FORM1.SHOW
10.TABINDEX、0
同步练习3
二、选择题
01——05BCADB
06——10ADBBC
11——15DBCBA
16——20BAABB
三、填空题
1.整型、长整型、单精度型、双精度型
2.SIN(30*3.14/180)+SQR(X+EXP(3))/ABS(X-Y)-LOG(3*X)
3.164、今天是:
3-19
4.FALSE
5.-4、3、-3、3、-4、4
6.CDEF
7.(XMOD10)*10+X\10
8.(35\20)*20=20
(35\20)*20=20
9.XMOD3=0ORXMOD5=0
10.27.6、8.2、8、1、100、397、TRUE、FALSE
同步练习4
一、选择题
01——05DBCAD
06——10CBBAB
11——15D25BAC
16——20CBACB
21——25DAABC
二、填空题
1.正确性、有穷性、可行性、有0个或多个输入、有1个或多个输出
2.123
3.X>=7
4.X5.1024
6.11
7.12
8.6、I、”*”;
9.0、100、I+1
10.2*I、6、”*”;
三、编程题
1.编程求n!
,n从键盘输入。
PrivateSubForm_Click()
Dimn%,s%,i%
n=Val(InputBox("请输入n的值:
"))
s=1
Fori=1Ton
s=s*i
Nexti
Printn;"!
=";s
EndSub
2.编程求100以内的全部质数。
PrivateSubForm_Click()
Dimi%,k%,n%,y$
Forn=1To100
k=Int(Sqr(n))
Fori=2Tok
IfnModi=0ThenExitFor
Nexti
Ifi>kThen
y=y&Str(n)
EndIf
Nextn
MsgBoxy,,“显示质数"
EndSub
3.编写程序,计算1+2+…+100的值。
PrivateSubForm_Click()
Dimi%,s%
s=0
Fori=1To100
s=s+i
Nexti
Print"1+2+3+…+100=";s
EndSub
4.百元买百鸡。
假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。
(采用穷举法)
假设母鸡、公鸡、小鸡各为x、y、z,列出方程为:
x+y+z=100
3x+2y+0.5z=100
PrivateSubForm_Click()
Dimx%,y%,z%
Print"母鸡","公鸡","小鸡"
Forx=0To33
Fory=0To50
z=100-x-y
If3*x+2*y+0.5*z=100Then
Printx,y,z
EndIf
Nexty
Nextx
EndSub
5.给定三角形的3条边的边长,计算三角形的面积。
编写程序,首选判断的3条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。
当输入-1时结束程序。
PrivateSubForm_Click()
Dima%,b%,c%,s!
p!
DoUntila=-1Orb=-1Orc=-1
a=Val(InputBox("a="))
b=Val(InputBox("b="))
c=Val(InputBox("c="))
Ifa+b>cAnda+c>bAndb+c>aThen
p=(a+b+c)/2
s=Sqr(p*(p-a)*(p-b)*(p-c))
Print"s=";s
EndIf
Loop
EndSub
6.编程打印如下图所示的数字金字塔。
PrivateSubForm_Click()
Dimi%,j%
Fori=1To8
PrintTab(9-i);
Forj=1To2*i-1
PrintTrim(Str(i));
Nextj
Print
Nexti
EndSub
7.勾股定理中3个数的关系是:
a*a+b*b=c*c。
编写程序,输出30以内满足上述关系的整数组合,例如3、4、5就是一个整数组合。
PrivateSubForm_Click()
Dimi%,j%,k%
Fori=1To30
Forj=1To30
Fork=1To30
Ifi^2+j^2=k^2Then
Printi,j,k
EndIf
Nextk
Nextj
Nexti
EndSub
8.如果一个三位数3个数字的立方和等于该数本身,称为水仙花数。
例如153就是一个水仙花数:
13+53+33=153。
编写程序,显示所有三位的水仙花数。
PrivateSubForm_Click()
Dimx%,a%,b%,c%
Forx=100To999
a=x\100
b=(xMod100)\10
c=xMod10
Ifa^3+b^3+c^3=xThen
Printx
EndIf
Nextx
EndSub
9.税务部门征收所得税,规定如下:
(1)收入200元以内,免征;
(2)收入在200~400元内,超过200元的部分纳税3%;
(3)收入超过400元的部分,纳税4%;
(4)当收入达5000元或超过时,将4%改为5%。
编程实现上述操作。
PrivateSubForm_Click()
Dimx%,y!
x=Val(InputBox("请输入收入额:
"))
SelectCasex
CaseIs<200
y=0
Case200To400
y=(x-200)*0.03
Case400To4999
y=(x-400)*0.04
CaseIs>=5000
y=(x-400)*0.05
EndSelect
Print"y=";y
EndSub
10.编写一程序根据上网时间计算上网费用,计算方法如下:
50元(<10小时)
网费=每小时6元(10~60小时)
每小时4元(>=60小时)
同时为了鼓励多上网,每月收费最多不超过200元。
PrivateSubForm_Click()
Dimt!
s!
t=Val(InputBox("请输入上网小时数"))
SelectCaset
CaseIs<10
s=50
Case10To59
s=6*t
Ifs>200Thens=200
CaseIs>=60
s=4*t
Ifs>200Thens=200
EndSelect
Print"上网费用为";s;"元。
"
EndSub
11.编写一个程序,当输入月份时,输出季节的名称。
例如,当输入月份为12、1和2时,输出“冬季”;当输入月份为3、4、5时,输出“春季”;当输入月份为6、7、8时,输出“夏季”;当输入月份为9、10、11时,输出“秋季”;当输入其他数字时,输出“输入错误,请重新输入!
”。
PrivateSubForm_Click()
Dimm%
m=Val(InputBox("请输入月份:
"))
SelectCasem
Case12,1,2
Print"冬季"
Case3,4,5
Print"春季"
Case6,7,8
Print"夏季"
Case9,10,11
Print"秋季"
CaseElse
Print"输入错误,请重新输入!
"
EndSelect
EndSub
12.分别利用If语句、SelectCase语句,设计计算下列分段函数的程序。
2x-1(x<0)
f(x)=4x(x=0)
7x-5(x>0)
PrivateSubForm_Click()
Dimx!
f!
x=Val(InputBox("请输入x的值:
"))
SelectCasex
CaseIs<0
f=2*x-1
Case0
f=4*x
CaseIs>0
f=7*x-5
EndSelect
Printf
EndSub
同步练习5
一、选择题
01——05DCACD
06——10DBCDC
11——15BADAD
二、填空题
1.NAME、INDEX
2.PRESERVE
3.VARIANT
4.N
(2)=2
N(3)=3
5.123141
6.123246
7.MAX、MAX=ARR1(I)
三、编程题
1.从键盘上输入10整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即第1个元素与第10个元素互换,第2个元素与第9个元素互换,……,第5个元素与第6个元素互换。
输出数组为原来各元素的值和对换后各元素的值。
PrivateSubForm_Click()
Dima(1To10)
Fori=1To10
a(i)=Val(InputBox("请输入第"&i&"个数"))
Nexti
Print"原来各元素的值:
"
Fori=1To10
Printa(i);
IfiMod5=0ThenPrint
Nexti
Fori=1To5
temp=a(i)
a(i)=a(10-i+1)
a(10-i+1)=temp
Nexti
Print"对换后各元素的值"
Fori=1To10
Printa(i);
IfiMod5=0ThenPrint
Nexti
EndSub
2.设有如下两组数据。
编写一个程序,把两组数据分别读入两个数组中,然后把两个数组中对应下标的元素相加,即2+79,8+27,…,25+80,并把相应的结果放入第三个数组中,最后输出第三个数组的值。
A28764287025
B7927324157667880
PrivateSubForm_Click()
Dima,b,c(7)
a=Array(2,8,7,6,4,28,70,25)
b=Array(79,27,32,41,57,66,78,80)
Fori=0To7
c(i)=a(i)+b(i)
Nexti
Fori=0To7
Printc(i);
Nexti
EndSub
3.有一个n×m的矩阵,其各元素的值由随机函数生成(范围为50~150)。
编写程序,找出其中最大的元素所在的行和列,并输出其值及行号和列号。
OptionBase1
PrivateSubForm_Click()
Dimmax%,row%,col%
Dima()AsInteger
n=Val(InputBox("请输入矩阵的行:
"))
m=Val(InputBox("请输入矩阵的列:
"))
ReDima(n,m)
Fori=1Ton
Forj=1Tom
a(i,j)=Int(101*Rnd)+50
Printa(i,j),
Ifj=mThenPrint
Nextj
Nexti
max=a(1,1):
row=1:
col=1
Fori=1Ton
Forj=1Tom
Ifa(i,j)>maxThen
max=a(i,j)
row=i
col=j
EndIf
Nextj
Nexti
Print"最大元素是:
";max
Print"在第"&row&"行,"&"第"&col&"列"
EndSub
4.编写程序,产生50个互不相同的10~99的随机整数,统计各数值段(10~19,20~29,….80~89,90~99)有多少个数并输出。
PrivateSubForm_Click()
Dima(1To50)AsInteger,iAsInteger
Dimb(1To9)AsInteger,kAsInteger
Fori=1To50
a(i)=Int(Rnd*90+10)
Printa(i);
IfiMod10=0ThenPrint
k=Int(a(i)/10)
b(k)=b(k)+1
Nexti
Print
Fori=1To9
Print(i*10)&"~"&(i*10+9)&"的学生人数:
"&b(i)
Nexti
EndSub
5.采用控件数组编写一个简单的计算器。
要求该计算器能够实现简单的加、减、乘、除运算。
PrivateSubCommand1_Click(IndexAsInteger)
SelectCaseIndex
Case0
Text3=Val(Text1)+Val(Text2)
Case1
Text3=Val(Text1)-Val(Text2)
Case2
Text3=Val(Text1)*Val(Text2)
Case3
Text3=Val(Text1)/Val(Text2)
EndSelect
EndSub
7.编程显示Fibonacci数列的前40项。
该数列有如下特点:
其第1、2项均为1,从第3个数开始,该数是其前两个数之和,公式为:
F(n)=F(n-1)+F(n-2)
PrivateSubForm_Click()
Dimf(39)
f(0)=1:
f
(1)=1
Fori=2To39
f(i)=f(i-1)+f(i-2)
Nexti
Fori=0To39
Printf(i),
If(i+1)Mod5=0ThenPrint
Nexti
EndSub
8.从键盘上任意输入10个数,要求分别用冒泡法、选择法降序排列。
选择法降序:
PrivateSubForm_Click()
Dima(1To10)AsInteger
Fori=1To10
a(i)=Val(InputBox("输入A("&i&")的值"))
Nexti
Print"排序前数据:
"
Fori=1To10
Printa(i);
IfiMod5=0ThenPrint'每行打印5个元素
Nexti
Fori=1To9
p=i
Forj=i+1To10
Ifa(p)Nextj
t=a(i):
a(i)=a(p):
a(p)=t'交换数据
Nexti
Print"排序后数据:
"
Fori=1To10
Printa(i);
IfiMod5=0ThenPrint
Nexti
EndSub
冒泡法降序
PrivateSubForm_Click()
Dima(1To10)AsInteger
Fori=1To10
a(i)=Val(InputBox("输入A("&i&")的值"))
Nexti
Print"排序前数据:
"
Fori=1To10
Printa(i);
IfiMod5=0ThenPrint'每行打印5个元素
Nexti
Fori=1To9
Forj=1To10-i
Ifa(j)t=a(j):
a(j)=a(j+1):
a(j+1)=t
EndIf
Nextj
Nexti
Print"排序后数据:
"
Fori=1To10
Printa(i);
IfiMod5=0ThenPrint
Nexti
EndSub
同步练习6
一、选择题
01——05BDBAB
06——10DBDCC
11——15ABCBA
16——18CDD
二、填空题
1.子、函数
2.实际、形式
3.存储单元
4.MYF(A%,B%())ASBOOLEAN
5.按值传递、按地址传递
6.LBOUND()、UBOUND()
7.局部
8.通用、所有过程
9.259
10.24
11.2
12.30、70
13.5
同步练习7
一、选择题
01——03BCA
06——10CDBBD
11——15CAD(AD)A
16——20CADBD
21——25DAAAB
26——28CAA
二、填空题
1.LOAD、UNLOAD
2.SHOW、HIDE
3.属性、方法、事件
4.工程属性、工程、工程属性
6._KEYPRESS、COMBO1.LIST(I)、ADDITEM
7.0、LIST1.LISTINDEX、LIST1.TEXT
8.1000、TRUE、TIME()
9.AA
10.下拉式组合框、简单组合框、下拉式列表框
同步练习8
一、选择题
01——05DCCDA
06——10CDBBA
11——15BDBBC
16——19CAAA
二、填空题
1.不会、不会
2.SCALEHEIGHT、SCALEWIDTH
3.(300,-150)
4.右、上
5.默认
6.0~15
7.B
8.0~-2
9.逆
10.DRAWWIDTH
11.右、上
12.MOVE
13.PICTURE1.PICTURE=LOADPICTURE(“”)
14.坐标原点、坐标度量单位、坐标轴的长度与方向
15.VB程序设计、VBPROGRAMMING
同步练习9
一、选择题
01——05BADCB
06——10BBDAB
二、填空题
1.驱动器列表框、目录列表框、文件列表框
2.CHANGE
3.
4.NAME“D:
\OLD.DOC”AS“C:
\NEW.DOC”
5.DIR1.PATH=DRIVE1.DRIVE
6.“D:
\TEXT.DOC”,”E:
\”
7.EOF
8.FORINPUT
NOTEOF
(1)
9.FORINPUT
FOROUTPUTAS#2
NOTEOF
(1)
INPUT#1,STR1
KILL“C:
\OLD.DAT”
10.PATTERN
11.空
12.字节