资源简介 4.1解析法训练9学校:___________姓名:___________班级:___________考号:___________一、填空题1.为求s=2+4+8+16+32的和,流程图不能实现,需作一处适当更改。请选出你认为错误的标号并做更改。标号 处更改为 。2.要求将某一字符串中指定的字符改写成小写或大写(如果原先是大写就改成小写,反之改成大写),并将处理后的字符重新输出。程序界面如下图所示,在Text1中输入原始字符串,在Text2中输入需要改变的字符,单机“改变”按钮后,在Text3中输出处理后的结果。程序代码如下:Private Sub Command1_Click()Dim s As String, result As String, k As StringDim zs As String, n As Integerresult = ""s = Text1.Textk = Text2.TextFor n =" 1" To Len(s)①If zs =" k" ThenIf Asc(zs) >=" 65" And Asc(zs) <=" 90" Thenzs =" Chr(Asc(zs)" + 32)ElseIf Asc(zs) >=" 97" And Asc(zs) <=" 122" Thenzs =" Chr(Asc(zs)" - 32)End IfEnd If②Next n③End Sub在程序①、②、③划线处,填入适当的语句或表达式,把程序补充完整:程序中①划线处应填入___________________。程序中②划线处应填入___________________。程序中③划线处应填入___________________。3.若输入3和2,则输出结果为______。4.有如下Visual Basic程序段:a="2"b=5c=4If a>b or c该程序段运行后,变量m的值为_______。5.有如下Visual Basic程序段:a=2b=3c=0b=ac=a+b该程序段运行后,变量c的值为_______。6.下面是一段Visual Basic程序:Private Sub Command1_Click()Dim sum As Double,i As Integersum = 0For i =" 1" To 5sum = 2sum = sum+iNext iText1.Text = Str(sum)End Sub该程序运行后,语句sum=sum+i共执行了____ ____次,sum的值为 ,i的值为 。7.下列程序在调试时,文本框Text2不能输出最后的结果,已知①和②处存在唯一错误,请问错误出在 (填①或②)处,该处正确的语句应该为 。Dim x As Integer, max As IntegerDim a As Integer, b As Integer, c As Integer, t As Integerx = Val(Text1.Text) ' ①a =" x" \ 100b =" x" \ 10 Mod 10c =" x" Mod 10If a < b Then t =" a:" a =" b:" b = tIf a < c Then t =" a:" a =" c:" c = tIf b < c Then t =" c:" c =" b:" b = tmax =" a" * 100 + b * 10 + cText2.Text =max ' ②8.辗转相除法:用辗转相除法求三个数的最大公约数。程序界面如图所示,在文本框Text1、Text2和Text3中分别输入三个数从a、b和c,单击"求最大公约数"按钮(Command1)后,在文本框Text4中输出a、b、c的最大公约数y。辗转相除法具体为:设两数为a、b(a>b),求最大公约数(a,b)的步骤如下:a除以b,得a=bq......r1(0≤r1)。若r1=0,则(a,b)=b;若r1≠0, b除以r1,得b="r1q......r2" (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续r1除以r2,……如此下去,直到余数为0,这时的除数即为最大公约数(a,b)。相应的Visual Basic 程序如下:Function temp(num1 as Integer, num2 as Integer) as IntegerDim r As Integerif num1t=num1:num1=num2:num2=tendifr =" num1" Mod num2Do While (1)num1 = (2)num2 = (3)r =" num1" Mod num2Looptemp = num2End Function-------------------------------------------------------------------------------Private Sub Command1_Click()Dim a as Integer, b as Integer, c as Integer, x as Integer, y as Integera = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)x = (4)y =" temp(x," c) ‘调用函数TEMPText4.Text = Str(y)End Sub在(1)中应该填入( )A、r =0 B、 r<>0 C、 r< 0 D、r>0在(2)中应该填入( )A、num1 B、num2 C、 r D、num1 mod num2在(3)中应该填入( )A、num1 B、num2 C、 r D、num1 mod num2在(4)中应该填入( )A、temp(a, b) B 、temp(x, c) C、temp(b, c) D、temp(x, y)9.下Visual Basic程序段:s = 0For i =" 1" To 5s =" s" + i * iNext iLabel1.Caption = Str(s)该程序段运行后,在标签Label1上显示的是____________。10.有7个人坐在一起,问第七个人多少岁?他说是第6个人年龄2倍小4岁 。问第6个人岁数,他说是第5个人年龄也是2倍小4岁。问第5个人,还说是第4个人年龄2倍小4岁。问第4个人,又说是第3个人年龄2倍小4岁,以此类推。最后问第一个人,他说是5岁。请问第7个人多大?以下是小王同学编写的解决该问题的VB,请把程序补充完整。Private Sub Command1_Click()Dim i, year As IntegerDim a(1 To 8) As Integera(1) = 5For i = To 7List1.AddItem"第"+ Str(i)+"个人的年龄为"+Str(a(i))Next iEnd Sub11.按下列公式计算银行贷款等额还款的月偿还金额S:现要求编写VB程序(运行界面如图所示),实现如下功能:在文本框架中输入贷款本金、贷款期限、年利率,单击计算机按钮,在每月偿还本息额文本框中显示S的值。按此要求编写的程序如下,请把带下划线部分所缺的程序段补齐Private Sub Command1_Click()Dim x As LongDim y As SingleDim n As IntegerDim s As Singlex =" Val(Text1.Text)" *n =" 12" * Val(Text2.Text)y =" Val(Combo1.Text)" / 12 / 100 ′月利率为年利率除12s = 1For i =" 1" To ns =" (1" + y) * sNexts =Text4.Text = Str(s)End Sub其中,“等额还款”是 (Form/Text/Combo/Command)控件的Caption属性。12.将以下计算50以内奇数和S的值(s=1+3+5+…+49)的程序段补充完整.private sub form_click( )dim i as integer, s as integers=(1)_________for i="1" to 50 (2)____________(3)____________Next iprint “50以内奇数和="”;" send sub参考答案:1.3;a=1【详解】2.(1)zs =" Mid(s," n, 1)(2)result =" result" & zs 或 result =" result" + zs(3)Text3.Text = result【详解】3.32【详解】4.-3【详解】5.4【详解】6.5、7、6【详解】7.② Text2.Text =Str(max)【详解】8. B B C A【详解】9.55【详解】10.2、a(i)=a(i-1)*2–4【详解】11.10000、x * y * s / (s - 1)、Form【详解】12.(1) 0 (2)step 2 (3) s=s+i【详解】 展开更多...... 收起↑ 资源预览