VB程序设计 习题及答案第5章 循环结构程序设计_第1页
VB程序设计 习题及答案第5章 循环结构程序设计_第2页
VB程序设计 习题及答案第5章 循环结构程序设计_第3页
VB程序设计 习题及答案第5章 循环结构程序设计_第4页
VB程序设计 习题及答案第5章 循环结构程序设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.第5章 循环结构程序设计 51 试编程序,打印出自然数1到20的立方数。【参考答案】程序代码设计Private Sub Form_Click() Form1.Print " x", " x2" For x = 1 To 20 Form1.Print x, x 2 Next xEnd Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "打印自然数1到20的立方数" Form1.Print "单击窗体开始"End Sub

2、图5-1 程序运行结果程序运行结果如图5-1所示: 52 试编程序,打印出1到500之间所有偶数的和。【参考答案】程序代码设计Private Sub Command1_Click() Sum = 0 For k = 1 To 500 If k Mod 2 = 0 Then Sum = Sum + k Next k Form1.Print "1到500的偶数和为:" SumEnd Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print Form1.Print "打印1到500

3、之间所有偶数的和" Form1.Print图5-2 程序运行结果End Sub程序运行结果如图5-2所示: 53 试编写打印下面图案的源程序。 * * * * * * * * * * * * * * *【参考答案】程序代码设计Private Sub Command1_Click() For i = 1 To 5 Form1.Print Tab(5 + i); For j = i To 5 Form1.Print "*" Next j Form1.Print Next iEnd Sub程序运行结果如图5-3所示: 图5-3 程序运行结果 

4、;54 试编写打印下面图案的源程序。 * * * * * * * * * * * * * * * * * * * * * * * * * 【参考答案】程序代码设计Private Sub Command1_Click() For i = 1 To 4 Form1.Print Tab(10 - i); For j = 1 To 2 * i - 1 Form1.Print "*" Next j Form1.Print Next i For k = 3 To 1 Step -1 Form1.Print Tab(10 - k); For j = 1 To 2 * k - 1

5、 Form1.Print "*" Next j Form1.Print图5-4 程序运行结果 Next kEnd Sub程序运行结果如图5-4所示: 55 编写程序,计算下面表达式的值(1)1!+3!+5!+(2N+1)!【参考答案】程序代码设计Private Sub Command1_Click() n = Val(InputBox("请输入N值") Sum = 1 term = 1 For k = 3 To 2 * n + 1 Step 2 term = term * (k - 1) * k Sum = Sum + term Next k

6、Form1.Print "1!+3!+5!+(2N+1)!=" Sum图5-5(1)程序运行结果End Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "计算1!+3!+5!+(2N+1)!"End Sub运行结果:若n输入的值为5,则程序运行结果如图5-5(1)所示。 (2)1+X/2!+X2/4!+X3/6!+XN/(2N)!【参考答案】程序代码设计Private Sub Command1_Click() x = Val(InputBox("

7、请输入x值") n = Val(InputBox("请输入N值") Sum = 1 t1 = 1 t2 = 1 For k = 2 To 2 * n Step 2 t1 = t1 * x t2 = t2 * (k - 1) * k Sum = Sum + t1 / t2 Next k Form1.Print "1+X/2!+X2/4!+XN/(2N)!=" SumEnd Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "计算1+X/2!+X2/4

8、!+XN/(2N)!"End Sub运行结果:图5-5(2)程序运行结果若x输入值为:1.5,n输入值为:5,则程序运行结果如图5-5(2)所示。 (3)1+1×3+1×3×5+1×3×(2N+1)【参考答案】程序代码设计Private Sub Command1_Click() n = Val(InputBox("请输入N值") Sum = 1 term = 1 For k = 3 To 2 * n + 1 Step 2 term = term * k Sum = Sum + term Next k Fo

9、rm1.Print "1+1×3+1×3×5+1×3×(2N+1)=" SumEnd Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "计算1+1×3+1×3×5+1×3×(2N+1)"End Sub运行结果:若n输入值为5,则程序运行结果如图5-5(3)所示:    图5-5(3)程序运行结果  (4)x-

10、x3/3!+x5/5!-x7/7!+【参考答案】程序代码设计Private Sub Command1_Click() x = Val(InputBox("请输入x值") Sum = x t1 = x t2 = 1 f = 1 k = 1 While (t1 / t2 > 0.0001) k = k + 2 t1 = t1 * x * x t2 = t2 * (k - 1) * k图5-5(4)程序运行结果 f = f * (-1) Sum = Sum + f * t1 / t2 Wend Form1.Print "x-x3/3!+x5/5!-x7/7!+=&

11、quot; SumEnd Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "计算x-x3/3!+x5/5!-x7/7!+"End Sub运行结果:若x输入值为:1.5, 则程序运行结果如图5-5(4)所示: (5)1+1/2+1/3+1/N (1/N<10-4)【参考答案】程序代码设计Private Sub Form_Click() Sum = 0 k = 1 While (1 / k > 0.0001) Sum = Sum + 1 / k k = k + 1 W

12、end Form1.Print "1+1/2+1/3+1/N=" SumEnd Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "计算1+1/2+1/3+1/N" Form1.Print "单击窗体开始"End Sub程序运行结果如图5-5(5)所示:图5-5(5)程序运行结果  5.6 由随机函数产生10道一位整数与两位整数相加的加法题,产生的加法题依次显示在屏幕上,每产生一道题后,由用户输入答案,如果答案正确,记10分;如

13、果答案错误,允许第二次输入答案,第二次输入答案正确,记5分,错误记0分。最后给出总得分。【参考答案】程序代码设计Private Sub Form_Click() s = 0 For i = 1 To 10 a = Int(10 * Rnd) b = Int(10 + 90 * Rnd) str1$ = "第" & i & "题 " & a & "+" & b c = Val(InputBox(str1$ & " 第一次回答") If a + b = c Then s

14、= s + 10 str2$ = str1$ & " 10分" Else c = Val(InputBox(str1$ & " 第二次回答") If a + b = c Then s = s + 5 str2$ = str1$ & " 5分" Else str2$ = str1$ & " 0分" End If End If Form1.Print str2$ Next i Form1.Print "总分" sEnd Sub Private Sub For

15、m_Load() Form1.AutoRedraw = True Form1.Print "加法题,第一次回答正确10分," Form1.Print "第二次回答正确5分" Form1.Print "单击窗体开始"End Sub图5-6 程序运行结果程序运行结果如图5-6所示: 5.7 编写计算还贷款年限的程序,从贷款的第三年开始还贷,贷款年利按复利计算。贷款额10万元,年利率7%,每年还款数3万元,要求输出经过多少年才能还清贷款,以及最后一年的还款数。【参考答案】程序代码设计Private Sub Form_Click()

16、 Dim p As Single p = 10 r = 0.07 n = 0 While (p > 0) p = p * (1 + r) n = n + 1 If n >= 3 Then p = p - 3 Wend Form1.Print "还清贷款时间" & n; "年" Form1.Print "最后一年的还款数" & (3 + p) & "万"End Sub Private Sub Form_Load() Form1.AutoRedraw = True Form

17、1.Print "贷款额10万元,年利率7%" Form1.Print "计算还贷数据" Form1.Print "单击窗体开始"End Sub图5-7 程序运行结果程序运行结果如图5-7所示: 5.8 输入三角形的三条边A、B、C,根据A、B、C的数值判断三角形的性质,并给出如下信息:(1)等边三角形;(2)等腰三角形;(3)任意三角形;(4)不能构成三角形。【参考答案】(1)用户界面设计(2)控件属性设置(略)(3)程序代码设计Private Sub Command1_Click() a = Val(Text1.Text

18、) b = Val(Text2.Text) c = Val(Text3.Text) If (a = b And b = c) Then str1 = "等边三角形" ElseIf (a = b Or b = c Or c = a) Then str1 = "等腰三角形" ElseIf (a + b <= c Or b + c <= a Or c + a <= b) Then str1 = "不能构成三角形" Else str1 = "任意三角形" End If Label2.Caption = s

19、tr1End Sub图5-8程序运行结果程序运行结果如图5-8所示。 59 一个球从10米的高处落下,它每次反弹的高度为前一次下落高度的2/3,编写程序计算球第10次落地时运动的总路程。【参考答案】程序代码设计Private Sub Form_Click() h = 10 s = h For i = 1 To 9 h = h * 2 / 3 s = s + 2 * h Next i s = CInt(100 * s) / 100 Form1.Print "球第10次落地时的总路程为" s; "米"End Sub图5-9 程序运行结果 

20、 Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "计算球第10次落地时的总路程" Form1.Print "单击窗体开始"End Sub程序运行结果如图5-9所示。 510 编写程序把一个分数化为最简分数。对一个分数化简,实际是要寻找分子N与分母M的最大公因子。【参考答案】程序代码设计Private Sub Command1_Click() Dim m As Integer, n As Integer, u As Integer, v As Integer m

21、= Val(Text1.Text) n = Val(Text2.Text) If m > n Then u = m: v = n Else v = m: u = n End If Do r = u Mod v u = v: v = r Loop Until r = 0 m = m / u: n = n / u Label2.Caption = "化简后分子 " & m & " , 分母 " & nEnd Sub程序运行结果如图5-10所示:图5-10 程序运行结果  511 幼儿园的小朋友分吃一堆糖果。第

22、一天吃了一半,又吃了一颗;第二天,同样吃了剩下的一半,又多吃了一颗。到第十天一看,只剩一颗糖果。问原来共有多少颗糖果。【参考答案】程序代码设计Private Sub Form_Click() num = 1 For k = 9 To 1 Step -1 num = (num + 1) * 2 Next k Form1.Print "糖果数为" numEnd Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "计算糖果数" Form1.Print "单击窗体开

23、始"End Sub程序运行结果如图5-11所示: 图5-11 程序运行结果 512 求解方程X3+Y3-Z3=3,其中X、Y、Z均为正整数,且X、Y、Z均1,同时X、Y、Z均6。【参考答案】程序代码设计Private Sub Form_Click() For x = 1 To 6 For y = 1 To 6 For z = 1 To 6 If x 3 + y 3 - z 3 = 3 Then Form1.Print x; y; z End If Next z Next y Next xEnd Sub图5-12程序运行结果 Private Sub For

24、m_Load() Form1.AutoRedraw = True Form1.Print "解方程X3+Y3-Z3=3" Form1.Print "单击窗体开始"End Sub程序运行结果如图5-12所示: 513 36块砖,36人搬,男搬4、女搬3、两个小儿抬一砖,要求一次全搬完,问男、女、小儿需若干?方程:x+y+z=36 4*x+3+y+z/2=36【参考答案】程序代码设计Private Sub Form_Click() For x = 1 To 36 For y = 1 To 36 For z = 1 To 36 If x + y +

25、z = 36 And 4 * x + 3 * y + z / 2 = 36 Then Form1.Print x; y; z End If Next z Next y Next xEnd Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "男、女、小儿需若干" Form1.Print "单击窗体开始"图5-13程序运行结果End Sub程序运行结果如图5-13所示: 514 打印出3100之间的所有素数(质数)。【参考答案】程序代码设计Private Sub Form_Click() k = 0 For n = 3 To 100 For i = 2 To n - 1 If n Mod i = 0 Then Exit For Next i If i > n - 1 Then k = k + 1:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论