VB程序设计 习题及答案第5章 循环结构程序设计Word文档下载推荐.docx
《VB程序设计 习题及答案第5章 循环结构程序设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VB程序设计 习题及答案第5章 循环结构程序设计Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
程序运行结果如图5-2所示:
5.3试编写打印下面图案的源程序。
*****
****
***
**
*
Fori=1To5
Form1.PrintTab(5+i);
Forj=iTo5
Form1.Print"
*"
Nextj
Nexti
程序运行结果如图5-3所示:
5.4试编写打印下面图案的源程序。
*******
Fori=1To4
Form1.PrintTab(10-i);
Forj=1To2*i-1
Fork=3To1Step-1
Form1.PrintTab(10-k);
Forj=1To2*k-1
程序运行结果如图5-4所示:
5.5编写程序,计算下面表达式的值
(1)1!
+3!
+5!
+……+(2N+1)!
n=Val(InputBox("
请输入N值"
))
Sum=1
term=1
Fork=3To2*n+1Step2
term=term*(k-1)*k
Sum=Sum+term
1!
="
计算1!
运行结果:
若n输入的值为5,则程序运行结果如图5-5
(1)所示。
(2)1+X/2!
+X2/4!
+X3/6!
+……+XN/(2N)!
x=Val(InputBox("
请输入x值"
t1=1
t2=1
Fork=2To2*nStep2
t1=t1*x
t2=t2*(k-1)*k
Sum=Sum+t1/t2
Nextk
1+X/2!
+X^2/4!
+……+X^N/(2N)!
计算1+X/2!
运行结果:
若x输入值为:
1.5,n输入值为:
5,则程序运行结果如图5-5
(2)所示。
(3)1+1×
3+1×
3×
5+……+1×
……(2N+1)
term=term*k
1+1×
……(2N+1)="
计算1+1×
……(2N+1)"
若n输入值为5,则程序运行结果如图5-5(3)所示:
(4)x-x3/3!
+x5/5!
-x7/7!
+……
Sum=x
t1=x
f=1
k=1
While(t1/t2>
0.0001)
k=k+2
t1=t1*x*x
f=f*(-1)
Sum=Sum+f*t1/t2
Wend
x-x^3/3!
+x^5/5!
-x^7/7!
+……="
计算x-x^3/3!
+……"
若x输入值为:
1.5,则程序运行结果如图5-5(4)所示:
(5)1+1/2+1/3+……+1/N(1/N<
10-4)
While(1/k>
Sum=Sum+1/k
k=k+1
1+1/2+1/3+……+1/N="
计算1+1/2+1/3+……+1/N"
程序运行结果如图5-5(5)所示:
5.6由随机函数产生10道一位整数与两位整数相加的加法题,产生的加法题依次显示在屏幕上,每产生一道题后,由用户输入答案,如果答案正确,记10分;
如果答案错误,允许第二次输入答案,第二次输入答案正确,记5分,错误记0分。
最后给出总得分。
s=0
Fori=1To10
a=Int(10*Rnd)
b=Int(10+90*Rnd)
str1$="
第"
&
i&
"
题"
a&
+"
b
c=Val(InputBox(str1$&
第一次回答"
Ifa+b=cThen
s=s+10
str2$=str1$&
10分"
Else
第二次回答"
s=s+5
5分"
0分"
EndIf
Form1.Printstr2$
总分"
s
加法题,第一次回答正确10分,"
第二次回答正确5分"
程序运行结果如图5-6所示:
5.7编写计算还贷款年限的程序,从贷款的第三年开始还贷,贷款年利按复利计算。
贷款额10万元,年利率7%,每年还款数3万元,要求输出经过多少年才能还清贷款,以及最后一年的还款数。
DimpAsSingle
p=10
r=0.07
n=0
While(p>
0)
p=p*(1+r)
n=n+1
Ifn>
=3Thenp=p-3
还清贷款时间"
n;
年"
最后一年的还款数"
(3+p)&
万"
贷款额10万元,年利率7%"
计算还贷数据"
程序运行结果如图5-7所示:
5.8输入三角形的三条边A、B、C,根据A、B、C的数值判断三角形的性质,并给出如下信息:
(1)等边三角形;
(2)等腰三角形;
(3)任意三角形;
(4)不能构成三角形。
(1)用户界面设计
(2)控件属性设置(略)
(3)程序代码设计
a=Val(Text1.Text)
b=Val(Text2.Text)
c=Val(Text3.Text)
If(a=bAndb=c)Then
str1="
等边三角形"
ElseIf(a=bOrb=cOrc=a)Then
等腰三角形"
ElseIf(a+b<
=cOrb+c<
=aOrc+a<
=b)Then
不能构成三角形"
任意三角形"
Label2.Caption=str1
程序运行结果如图5-8所示。
5.9一个球从10米的高处落下,它每次反弹的高度为前一次下落高度的2/3,编写程序计算球第10次落地时运动的总路程。
h=10
s=h
Fori=1To9
h=h*2/3
s=s+2*h
s=CInt(100*s)/100
球第10次落地时的总路程为"
s;
米"
计算球第10次落地时的总路程"
程序运行结果如图5-9所示。
5.10编写程序把一个分数化为最简分数。
对一个分数化简,实际是要寻找分子N与分母M的最大公因子。
DimmAsInteger,nAsInteger,uAsInteger,vAsInteger
m=Val(Text1.Text)
n=Val(Text2.Text)
Ifm>
nThen
u=m:
v=n
v=m:
u=n
Do
r=uModv
u=v:
v=r
LoopUntilr=0
m=m/u:
n=n/u
Label2.Caption="
化简后分子"
m&
分母"
n
程序运行结果如图5-10所示:
5.11幼儿园的小朋友分吃一堆糖果。
第一天吃了一半,又吃了一颗;
第二天,同样吃了剩下的一半,又多吃了一颗。
到第十天一看,只剩一颗糖果。
问原来共有多少颗糖果。
num=1
Fork=9To1Step-1
num=(num+1)*2
糖果数为"
num
计算糖果数"
程序运行结果如图5-11所示:
5.12求解方程X3+Y3-Z3=3,其中X、Y、Z均为正整数,且X、Y、Z均≥1,同时X、Y、Z均≤6。
Forx=1To6
Fory=1To6
Forz=1To6
Ifx^3+y^3-z^3=3Then
Form1.Printx;
y;
z
Nextz
Nexty
解方程X^3+Y^3-Z^3=3"
程序运行结果如图5-12所示:
5.1336块砖,36人搬,男搬4、女搬3、两个小儿抬一砖,要求一次全搬完,问男、女、小儿需若干?
方程:
x+y+z=36
4*x+3+y+z/2=36
Forx=1To36
Fory=1To36
Forz=1To36
Ifx+y+z=36And4*x+3*y+z/2=36Then
男、女、小儿需若干"
程序运行结果如图5-13所示:
5.14打印出3~100之间的所有素数(质数)。
k=0
Forn=3To100
Fori=2Ton-1
IfnModi=0ThenExitFor
Ifi>
n-1Thenk=k+1:
PrintFormat(n,"
@@@@@@"
);
Ifk=5Thenk=0:
Print
Nextn
打印出3-100之间的所有素数"
程序运行结果如图5-14所示:
5.15验证哥德巴赫猜想:
“任何一个大于6的偶数,均可以表示为两个素数之和”,从键盘输入一个大于6的偶数后,打印出所有的分解结果。
输入一个大于6的偶数"
Ifn<
=6OrnMod2<
>
0Then
数据错误"
Form1=2Ton/2
m2=n-m1
f=0
Fori=2Tom1-1
Ifm1Modi=0Thenf=1:
ExitFor
Fori=2Tom2-1
Ifm2Modi=0Orf=1Thenf=1:
Iff=0ThenPrintm1;
m2
Nextm1
打印两个素数之和"
若输入值为:
100,则程序运行结果如图5-15所示: