4.1解析法训练9(含答案)

资源下载
  1. 二一教育资源

4.1解析法训练9(含答案)

资源简介

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 String
Dim zs As String, n As Integer
result = ""
s = Text1.Text
k = Text2.Text
For n =" 1" To Len(s)

If zs =" k" Then
If Asc(zs) >=" 65" And Asc(zs) <=" 90" Then
zs =" Chr(Asc(zs)" + 32)
ElseIf Asc(zs) >=" 97" And Asc(zs) <=" 122" Then
zs =" Chr(Asc(zs)" - 32)
End If
End If

Next n

End Sub
在程序①、②、③划线处,填入适当的语句或表达式,把程序补充完整:
程序中①划线处应填入___________________。
程序中②划线处应填入___________________。
程序中③划线处应填入___________________。
3.
若输入3和2,则输出结果为______。
4.有如下Visual Basic程序段:
a="2"
b=5
c=4
If a>b or c该程序段运行后,变量m的值为_______。
5.有如下Visual Basic程序段:
a=2
b=3
c=0
b=a
c=a+b
该程序段运行后,变量c的值为_______。
6.下面是一段Visual Basic程序:
Private Sub Command1_Click()
Dim sum As Double,i As Integer
sum = 0
For i =" 1" To 5
sum = 2
sum = sum+i
Next i
Text1.Text = Str(sum)
End Sub
该程序运行后,语句sum=sum+i共执行了____ ____次,sum的值为 ,i的值为 。
7.下列程序在调试时,文本框Text2不能输出最后的结果,已知①和②处存在唯一错误,请问错误出在 (填①或②)处,该处正确的语句应该为 。
Dim x As Integer, max As Integer
Dim a As Integer, b As Integer, c As Integer, t As Integer
x = Val(Text1.Text) ' ①
a =" x" \ 100
b =" x" \ 10 Mod 10
c =" x" Mod 10
If a < b Then t =" a:" a =" b:" b = t
If a < c Then t =" a:" a =" c:" c = t
If b < c Then t =" c:" c =" b:" b = t
max =" a" * 100 + b * 10 + c
Text2.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 Integer
Dim r As Integer
if num1t=num1:num1=num2:num2=t
endif
r =" num1" Mod num2
Do While (1)
num1 = (2)
num2 = (3)
r =" num1" Mod num2
Loop
temp = num2
End Function
-------------------------------------------------------------------------------
Private Sub Command1_Click()
Dim a as Integer, b as Integer, c as Integer, x as Integer, y as Integer
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
x = (4)
y =" temp(x," c) ‘调用函数TEMP
Text4.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 = 0
For i =" 1" To 5
s =" s" + i * i
Next i
Label1.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 Integer
Dim a(1 To 8) As Integer
a(1) = 5
For i = To 7
List1.AddItem"第"+ Str(i)+"个人的年龄为"+Str(a(i))
Next i
End Sub
11.按下列公式计算银行贷款等额还款的月偿还金额S:
现要求编写VB程序(运行界面如图所示),实现如下功能:在文本框架中输入贷款本金、贷款期限、年利率,单击计算机按钮,在每月偿还本息额文本框中显示S的值。按此要求编写的程序如下,请把带下划线部分所缺的程序段补齐
Private Sub Command1_Click()
Dim x As Long
Dim y As Single
Dim n As Integer
Dim s As Single
x =" Val(Text1.Text)" *
n =" 12" * Val(Text2.Text)
y =" Val(Combo1.Text)" / 12 / 100 ′月利率为年利率除12
s = 1
For i =" 1" To n
s =" (1" + y) * s
Next
s =
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 integer
s=(1)_________
for i="1" to 50 (2)____________
(3)____________
Next i
print “50以内奇数和="”;" s
end 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
【详解】

展开更多......

收起↑

资源预览