VB程序设计课后习题答案科学出版社1Word文档下载推荐.docx
《VB程序设计课后习题答案科学出版社1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VB程序设计课后习题答案科学出版社1Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
二、填空题
1.正确性、有穷性、可行性、有0个或多个输入、有1个或多个输出
2.123
3.X>
=7
4.X<
AMIN
5.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以内的全部质数。
Dimi%,k%,n%,y$
Forn=1To100
k=Int(Sqr(n))
Fori=2Tok
IfnModi=0ThenExitFor
Ifi>
kThen
y=y&
Str(n)
EndIf
Nextn
MsgBoxy,,“显示质数"
3.编写程序,计算1+2+…+100的值。
Dimi%,s%
s=0
Fori=1To100
s=s+i
Print"
1+2+3+…+100="
4.百元买百鸡。
假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。
(采用穷举法)
假设母鸡、公鸡、小鸡各为x、y、z,列出方程为:
x+y+z=100
3x+2y+0.5z=100
Dimx%,y%,z%
母鸡"
"
公鸡"
小鸡"
Forx=0To33
Fory=0To50
z=100-x-y
If3*x+2*y+0.5*z=100Then
Printx,y,z
EndIf
Nexty
Nextx
5.给定三角形的3条边的边长,计算三角形的面积。
编写程序,首选判断的3条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。
当输入-1时结束程序。
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="
Loop
6.编程打印如下图所示的数字金字塔。
Dimi%,j%
Fori=1To8
PrintTab(9-i);
Forj=1To2*i-1
PrintTrim(Str(i));
Nextj
Print
7.勾股定理中3个数的关系是:
a*a+b*b=c*c。
编写程序,输出30以内满足上述关系的整数组合,例如3、4、5就是一个整数组合。
Dimi%,j%,k%
Fori=1To30
Forj=1To30
Fork=1To30
Ifi^2+j^2=k^2Then
Printi,j,k
EndIf
Nextk
8.如果一个三位数3个数字的立方和等于该数本身,称为水仙花数。
例如153就是一个水仙花数:
13+53+33=153。
编写程序,显示所有三位的水仙花数。
Dimx%,a%,b%,c%
Forx=100To999
a=x\100
b=(xMod100)\10
c=xMod10
Ifa^3+b^3+c^3=xThen
Printx
9.税务部门征收所得税,规定如下:
(1)收入200元以内,免征;
(2)收入在200~400元内,超过200元的部分纳税3%;
(3)收入超过400元的部分,纳税4%;
(4)当收入达5000元或超过时,将4%改为5%。
编程实现上述操作。
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
y="
y
10.编写一程序根据上网时间计算上网费用,计算方法如下:
50元(<
10小时)
网费=每小时6元(10~60小时)
每小时4元(>
=60小时)
同时为了鼓励多上网,每月收费最多不超过200元。
Dimt!
s!
t=Val(InputBox("
请输入上网小时数"
SelectCaset
10
s=50
Case10To59
s=6*t
Ifs>
200Thens=200
CaseIs>
=60
s=4*t
上网费用为"
s;
元。
11.编写一个程序,当输入月份时,输出季节的名称。
例如,当输入月份为12、1和2时,输出“冬季”;
当输入月份为3、4、5时,输出“春季”;
当输入月份为6、7、8时,输出“夏季”;
当输入月份为9、10、11时,输出“秋季”;
当输入其他数字时,输出“输入错误,请重新输入!
”。
Dimm%
m=Val(InputBox("
请输入月份:
SelectCasem
Case12,1,2
冬季"
Case3,4,5
春季"
Case6,7,8
夏季"
Case9,10,11
秋季"
CaseElse
输入错误,请重新输入!
12.分别利用If语句、SelectCase语句,设计计算下列分段函数的程序。
2x-1(x<
0)
f(x)=4x(x=0)
7x-5(x>
Dimx!
f!
请输入x的值:
CaseIs<
0
f=2*x-1
Case0
f=4*x
f=7*x-5
Printf
同步练习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个元素互换。
输出数组为原来各元素的值和对换后各元素的值。
Dima(1To10)
Fori=1To10
a(i)=Val(InputBox("
请输入第"
&
i&
个数"
原来各元素的值:
Printa(i);
IfiMod5=0ThenPrint
Fori=1To5
temp=a(i)
a(i)=a(10-i+1)
a(10-i+1)=temp
对换后各元素的值"
2.设有如下两组数据。
编写一个程序,把两组数据分别读入两个数组中,然后把两个数组中对应下标的元素相加,即2+79,8+27,…,25+80,并把相应的结果放入第三个数组中,最后输出第三个数组的值。
A28764287025
B7927324157667880
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)
Printc(i);
3.有一个n×
m的矩阵,其各元素的值由随机函数生成(范围为50~150)。
编写程序,找出其中最大的元素所在的行和列,并输出其值及行号和列号。
OptionBase1
Dimmax%,row%,col%
Dima()AsInteger
请输入矩阵的行:
请输入矩阵的列:
ReDima(n,m)
Forj=1Tom
a(i,j)=Int(101*Rnd)+50
Printa(i,j),
Ifj=mThenPrint
max=a(1,1):
row=1:
col=1
Ifa(i,j)>
maxThen
max=a(i,j)
row=i
col=j
最大元素是:
max
在第"
row&
行,"
第"
col&
列"
4.编写程序,产生50个互不相同的10~99的随机整数,统计各数值段(10~19,20~29,….80~89,90~99)有多少个数并输出。
Dima(1To50)AsInteger,iAsInteger
Dimb(1To9)AsInteger,kAsInteger
Fori=1To50
a(i)=Int(Rnd*90+10)
IfiMod10=0ThenPrint
k=Int(a(i)/10)
b(k)=b(k)+1
Print
Fori=1To9
Print(i*10)&
~"
(i*10+9)&
的学生人数:
b(i)
5.采用控件数组编写一个简单的计算器。
要求该计算器能够实现简单的加、减、乘、除运算。
PrivateSubCommand1_Click(IndexAsInteger)
SelectCaseIndex
Text3=Val(Text1)+Val(Text2)
Case1
Text3=Val(Text1)-Val(Text2)
Case2
Text3=Val(Text1)*Val(Text2)
Case3
Text3=Val(Text1)/Val(Text2)
7.编程显示Fibonacci数列的前40项。
该数列有如下特点:
其第1、2项均为1,从第3个数开始,该数是其前两个数之和,公式为:
F(n)=F(n-1)+F(n-2)
Dimf(39)
f(0)=1:
f
(1)=1
Fori=2To39
f(i)=f(i-1)+f(i-2)
Fori=0To39
Printf(i),
If(i+1)Mod5=0ThenPrint
8.从键盘上任意输入10个数,要求分别用冒泡法、选择法降序排列。
选择法降序:
Dima(1To10)AsInteger
输入A("
)的值"
排序前数据:
IfiMod5=0ThenPrint'
每行打印5个元素
p=i
Forj=i+1To10
Ifa(p)<
a(j)Thenp=j
t=a(i):
a(i)=a(p):
a(p)=t'
交换数据
排序后数据:
冒泡法降序
Forj=1To10-i
Ifa(j)<
a(j+1)Then
t=a(j):
a(j)=a(j+1):
a(j+1)=t
同步练习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.FILE1.PATH=DIR1.PATH
4.NAME“D:
\OLD.DOC”AS“C:
\NEW.DOC”
5.DIR1.PATH=DRIVE1.DRIVE
FILE1.PATH=DIR1.PATH
6.FILECOPY“D:
\TEXT.DOC”,”E:
\”
7.EOF
8.FORINPUT
NOTEOF
(1)
9.FORINPUT
FOROUTPUTAS#2
INPUT#1,STR1
KILL“C:
\OLD.DAT”
10.PATTERN
11.空
12.字节