第5章 习题与思考题和答案.doc_第1页
第5章 习题与思考题和答案.doc_第2页
第5章 习题与思考题和答案.doc_第3页
第5章 习题与思考题和答案.doc_第4页
第5章 习题与思考题和答案.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

第五章 习题与思考题和答案一、判断题1要实现同样的循环控制,在Do While-Loop和Do-Loop While循环结构中给定的循环条件是一样的。2Do-Loop While语句实现循环时,不管条件真假,首先无条件地执行一次循环。3Do-Loop Until语句实现循环时,只要条件是假,循环将一直进行下去。4一个Do循环只能使用一个Loop关键字,但是可以使用多个Exit语句。5For循环语句正常结束(即不是通过Exit For语句或强制中断)其循环控制变量的值一定大于“终值”,并等于“终值”+“步长”。6如果有多重Do循环嵌套,位于最里层循环体语句中的Exit Do语句可以退出所有的循环。7For-Next循环结构的默认步长为1。8Do-Loop语句是循环结构的一种特殊形式,如果循环体中没有Exit Do语句,程序运行就一定会进入死循环。二、选择题1循环结构 For i!=1 to 10 step 1.5 共执行几次 。A6B7C9D10 2下列循环正常结束的是 。Ai=0 Bi=0 Do Do While i0 i=i-1 i=i-1 Loop While i0 Loop Ci=10 Di=6 Do Do i=i+1 i=i-2 Loop Until i0 Loop Until i=13下列哪组语句可以将变量A、B值互换 。AA=B : B=A BA=A+B : B=A B: A=A BCA=C : C=B : B=A DA=(A+B)/2 : B=(A B)/24下段程序执行的输出结果是 。S=0:T=0:U=0For i=1 To 3 For j=1 To i For K=j To 3 S=S+1 Next K T=T+1 Next j U=U+1Next iPrint S;T;UA3 6 14B14 6 3C14 3 6D16 4 35下程序段循环结构执行后,输出i的值是:A25 B10C11 D因为y的初值不知道,所以不确定For i=1 to 10 step 2 y=y+iNext iPrint i;6下列程序段的循环结构执行过程中共循环了 次。For i% = 1 To 10 Step 2 y = y + iNext iA3B4C5D67以下程序循环的执行次数是 。 a=0 Do while a=10 a=a+2 loop A4 B5C6D7三、填空题1. 由下列循环语句控制的循环次数是 。For k=25 to 0 step-2k=k-2Next k2. 循环结构的三种语句是: 、 、 。3. 写出For i= -12 To 33 Step 4 所进行的循环后,i的值是 。四、程序阅读题1写出以下程序在单击窗体后的输出结果。 Private Sub Form_click() mun=4 while mun=3 mun=mun+1 Print mun Wend Print mun End Sub2程序运行时单击 Command1后,输入12345678,写出窗体上的输出结果。Private Sub Command1_Click() Dim x As Long, y As String x = InputBox(输入一个数) Do While x 0 y = y & x Mod 10 y = x Mod 10 & y x = x 100 Print y LoopEnd Sub3写出程序运行后,单击窗体Form1上显示的内容。Private Sub Form_Click() Dim i As Integer, j As Integer, y As Double i = 0 y = 1 Do While i = 3 For j = 1 To (i + 1) y = y * j Next j Print y=; y i = i + 1 LoopEnd Sub4. 写出以下程序在单击窗体后的输出结果。 Private Sub Form_click() Dim k,a,b as integer a=20 b=2 k=2 Do While k=a b=b*2 k=k+5 Loop Print b End Sub5. 写出以下程序在单击命令按钮后的输出结果。 Private Sub Form_click() k=0 for i=1 to 5 for j=1 to 3 if j mod 20 then k=k+1 end if k=k+1 next j next i Print k End Sub6Private Sub Form_Click() Dim i As Integer, j As Integer Dim star As String star = # For i = 1 To 6 For j = i To 6 Form1.Print star; Next j Form1.Print Next iEnd Sub写出程序运行后,单击窗体后,Form1上输出结果为。五、程序填空题1. 下面程序的功能是:计算f=11/(2*3)+1/(3*4)1/(4*5)+1/(19*20)。Private Sub Form_Click() Dim f As Single, i As Integer, sign As Integer f = 1 f = f + sign / (i * (i + 1) Next i Print f=; fEnd Sub2下面的程序是在一个字符串变量中查找at,并用消息框给出查找结果的报告:没有找到或找到的个数,程序如下:Private Sub Form_Click() Dim str1 As String 在字符串str1中查找at Dim length As Integer 字符串长度 Dim sum As Integer 查到的个数 Dim i As Integer str1 = InputBox(请输入一个字符串) length = i = 1 sum = 0 Do While i amax then amax=x end ifif then amin=x end ifx=inputbox(“enter a score”) loop print “max=”;amax;”min=”;amin End Sub5现面的程序功能是:求Fabonia数列的第17个数是多少?第几个数起每个数都超过1E+8?Public Sub Form_Click() Fabonia数列的前三个数是0,1,2,从第四个数起,每个数都是它前面的两个数之和 Dim last_one As Long,last_two As Long,this_one As Long,i As Integer last_one = 1 数列的第二个数 last_two = 2 数列的第三个数 i = 4 从数列的第四个数求起 Do this_one = last_one + last_two If i = 17 Then Print No:17=; this_one End If Loop While this_one 1E+8End Sub6以下程序是验证100至200之间的所有偶数都能分解为两个素数之和。Private Sub Form_click()Dim n As Integer,m As IntegerDim i As Integer,j As IntegerFor n=100 to 200 Step 2For m=2 To (n/2)For i=2 To Int(Sqr(m)If m Mod i=0 Then Exit ForNext iIf ThenFor j=2 To If(n-m) Mod j=0 Then Exit ForNext jIf jInt (Sqr(n-m) Then Print n,m,n-mEnd If Next mNext nEnd Sub六编程题(1)编程序计算:1!+3!+5!+.+11!(2)输入两个正整数m和n,求其最大公约数a和最小公倍数b,计算最大公约数a的方法如下:先算出m/n 余数r,若r等于0,则n为最大公约数;若r不为0,则把原来的n值作为新的m值,把原来的r值作为新的n值,继续运算。这样辗转相除,直到r为0,此时的n值为最大公约数a,最小公倍数则可用原始m与n值的积除以最大公约数求得。(3)打印由数字组成的如下所示金字塔图案 1 222 33333 4444444 555555555 6666666 77777 888 9(4)试编程序解决百钱买百鸡问题。公元前5世纪,我国数学家张丘建在算经中提出“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?(5)编程序求表达式 s=1+x+x2/2!+x3/3!+xn/n!+的值和直至末项小于10-5为止,并在窗体上输出。答案一判断题二选择题BBBDCCC三.填空题(1)7(2)Do/Loop For/Next While/Wend(3)-36四.程序阅读题1、 488688646886424688522、 3、y=1 y=2 y=12 y=2884、325、25# # # # # # # # # # # # # # # #6、五程序填空题1.sign=1 For i=2 to 19 (3)sign=-sign2.Len(str1) length Mid(str1,i,2) Sum=03.i mod 7=5 and i Mod 5 = 3 And i Mod 3=2 i=0 (2)xint(sqr(m) Int(Sqr(n-m)六编程题(1)Private Sub Form_Click() Dim i As Integer, j As Integer Dim s As Double, Sum As Double s = 1 Sum = 0 For i = 1 To 11 Step 2 For j = 1 To i s = s * j Next j Sum = Sum + s Next i Print SumEnd Sub(2)Private Sub Form_Click() Dim m%, n%, mn%, r%, t% m = Val(InputBox(m=) n = Val(InputBox(n=) If n = 0 Or m = 0 Then MsgBox 数据有误 End End If mn = m * n If m n Then t = m: m = n: n = t End If Do While (n 0) r = m Mod n: m = n: n = r Loop Form1.Print 最大公约数=; m Form1.Print 最小公倍数=; mn / mEnd Sub(3)Private Sub Form_Click() Dim i%, j% For i = 1 To 5 Print Spc(20 - i); For j = 1 To 2 * i - 1 Print Trim(Str(i); Next j Print Next i For i = 4 To 1 Step -1 Print Spc(20 - i); For j = 1 To 2 * i - 1 Print Trim(Str(10 - i); Next j Print Next iEnd Sub(4)Private Sub Form_Click() Dim x As Integer Dim y As Integer Dim z As Integer For x = 0 To 100 For y = 0 To 100 - x z = 100 - x - y If 5 * x + 3 * y

温馨提示

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

评论

0/150

提交评论