当前位置:首页 >> 其它课程 >> 算法与程序填空题

算法与程序填空题


浙鳌中学·2012 年信息技术学科会考理论复习资料

算法与程序设计填空题
顺序结构赋值语句:
2008年真题:
1.有如下Visual Basic程序段: i=6 i=i+1 j=2*i-1 该程序段运行后,变量j的值为 2 有如下 Visual Basic 程序段: a = 15 b = 3 c = a/b+2 该程序段运行后

,变量c的值为 3.有如下Visual Basic程序段: a = 4 b = 3 b = a + b a = a + b 该程序段运行后,变量a的值为 4.有如下Visual Basic程序段: a = 3 : b = 2 b= a*b a= a+b 该程序段运行后,变量a的值为 5.有如下Visual Basic程序段: a=3 : b=4 c=a+b b=c*b 该程序段运行后,变量b的值为_________。 。







第 1 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

6.有如下Visual Basic程序段: s="Friend" s=s+"ship" 该程序段运行后,变量s的值是___________。 7.有如下Visual Basic程序段: a = "Happy" b = "ness" c = a + b 该程序段运行后,变量c的值是___________。 8.有如下程序段: a = 3 b = 4 c = a*b-2 该程序段运行后,变量c的值为 9. 有如下Visual Basic程序段: a = 3 : b = 2 : c = 3 b = a+b*c 该程序段运行后,变量b的值为 10.有如下Visual Basic程序段: k=10 k=k-1 t=2*k+1 该程序段运行后,变量t的值为 。





2009年真题:
1. 有如下 Visual Basic 程序段: m = "VB" n = "is" t = "easy" t = m + n + t 该程序段运行后,变量 t 的值为____________。

第 2 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 2. 有如下 Visual Basic 程序段: a = 12 b = 32 c = a c = c + b 该程序段运行后,变量 c 的值为____________。 3. 有如下 Visual Basic 程序段: m = 8 n = 5 t = m + n t = t - n 该程序段运行后,变量 t 的值为____________。 4. 有如下 Visual Basic 程序段: i = 3 j = i + i k = j + j 该程序段运行后,变量 k 的值为____________。 5. 有如下 Visual Basic 程序段: a = 18: b = 12 c = (a - b) * 2 该程序段运行后,变量 c 的值为____________。 6. 有如下 Visual Basic 程序段: m = 10 n = m * 2 t = m * n 该程序段运行后,变量 t 的值为____________。 7. 有如下 Visual Basic 程序段: a = 1024: i = 2 b = a / i c = b / i 该程序段运行后,变量 c 的值为____________。 8. 有如下 Visual Basic 程序段: i = 7: j = 3 k = i * j - j 该程序段运行后,变量 k 的值为____________。

第 3 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 9. 有如下 Visual Basic 程序段: a = "Test" b = "is" c = "easy" c = a + b + c 该程序段运行后,变量 c 的值为____________。 10. 有如下 Visual Basic 程序段: a = 10: b = 8: c = 2 d = b * b - 4 * a * c 该程序段运行后,变量 d 的值为____________。

2010年真题:
1. 有如下Visual Basic程序段: a = 12: b = 20 b = a + b + 28 a = b + a - 5 b = a + b 该程序段运行后,变量 b 的值为



2.有如下Visual Basic程序段: m = -5 n = -2 s = m + Int(n) 该程序段运行后,变量 s 的值为____________。 3. 有如下Visual Basic程序段: m = "sch" n = Mid("tools", 2, 3) s = m + n 该程序段运行后,变量 s 的值为__________。 4. 有如下Visual Basic程序段: a = -1: b = 2 c = 3 Mod b b = b + c 该程序段运行后,变量 b 的值为______。 5. 有如下Visual Basic程序段: s = "expression" a = 25 b =a + Len(s)

第 4 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 该程序段运行后,变量 b 的值为____________。 6. 有如下Visual Basic程序段: a = 15 b = Val("256") a = a * 2 + b 该程序段运行后,变量 a 的值为____________。 7. 有如下Visual Basic程序段: a = 210 b = -19 b = a + a \ 5 该程序段运行后,变量 b 的值为____________。 8. 有如下Visual Basic程序段: a = 29:b = 6 a = a Mod b b = a + Len("Input") 该程序段运行后,变量 b 的值为____________。 9. 有如下Visual Basic程序段: b = Len("-1.25") s = Mid("picture", 2, b) 该程序段运行后,变量 s 的值为____________。 10. 有如下Visual Basic程序段: a = "1100101" b = Mid(a, 2, 4) + "101" 该程序段运行后,变量 b 的值为____________。

第 5 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

选择(分支)语句:
2008年真题:
1.有如下Visual Basic程序段: x = 1.6 If x > 0 Then x = x+2 Else x = x-2 End If 该程序段运行后, 变量x的值为



2.有如下Visual Basic程序段: x = -1.1 If x > 0 Then Label1.Caption = "Positive" If x = 0 Then Label1.Caption = "Zero" If x < 0 Then Label1.Caption = "Negative" 该程序段运行后, Label1 标签上显示为 。 3.有如下Visual Basic程序段: a=120 If a > 100 then Label1.Caption= "超重" Else Label1.Caption= "正常" End If 该程序段运行后, Label1标签上显示为 4.有如下Visual Basic程序段: a = 30 : b = 20 : c = 5 m=a If b < m Then m = b If c < m Then m = c 该程序段运行后,变量m的值为





第 6 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

5.有如下Visual Basic程序段: a = 10 b = 20 c = 5 m=a If b > m Then m = b If c > m Then m = c 该程序段运行后,变量m的值为 6.有如下Visual Basic程序段: x = 7 If x < 5 Then y = 3 Else y = -3 End If 该程序段运行后,变量y的值是





7.有如下Visual Basic程序段: Dim x As Single, c As String x=Val(Text1.Text) If x>12 Then c= "PM" Else c= "AM" End If Label1.Caption=c 该程序段运行时,在文本框Text1中输入15.6,Label1标签上将显示的 是 。 8.有如下Visual Basic程序段: x = 2.1 If x > 6.0 Then Label1.Caption = "Pass" Else Label1.Caption = "Fail" End If 该程序段运行后, Label1标签上显示为



第 7 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

9. 有如下Visual Basic程序段: a=39 b=93 If a+b>100 Then py="太大" If a+b=100 Then py="相等" If a+b<100 Then py="太小" Label1.Caption=py 该程序段运行时,在Label1标签上显示的是 10.有如下Visual Basic程序段: x=1000 If x>1024 Then size = "大了" Else size = "刚好" End If Label1.Caption = size 该程序段运行后, Label1标签上显示为 。



2009年真题:
1. 有如下 Visual Basic 程序段: a = 23 b = 34 If a > b Then Label1.Caption = "a>b" Else Label1.Caption = "a<=b" End If 该程序段运行后,在标签 Label1 上显示的是____________。 2. 有如下 Visual Basic 程序段: x = 12 If x <= 10 Then s = 8 Else s = x End If 该程序段运行后,变量 s 的值为____________。

第 8 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 3. 有如下 Visual Basic 程序段: x = 5001 s = 1 If x > 5000 Then s = s + 1 Label1.Caption = Str(s) 该程序段运行后,在标签 Label1 上显示的是____________。 4. 有如下 Visual Basic 程序段: x = 0.51 If x >= 0.5 Then s = 1 Else s = 0 End If Label1.Caption = Str(s) 该程序段运行后,在标签 Label1 上显示的是____________。 5. 有如下 Visual Basic 程序段: x = 10 If x > 10 Then Label1.Caption = "你可以继续使用" Else Label1.Caption = "余额不足" End If 该程序段运行后,在标签 Label1 上显示的是____________。 6. 有如下 Visual Basic 程序段: s = 65 If s >= 60 Then Label1.Caption = "P" Else Label1.Caption = "E" End If 该程序段运行后,在标签 Label1 上显示的是____________。 7. 有如下 Visual Basic 程序段: a = 5: b = 4: c = 7 s = a + b If s > c Then Label1.Caption = "初检合格" Else Label1.Caption = "重新调试" End If 该程序段运行后,在标签 Label1 上显示的是____________。

第 9 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 8. 有如下 Visual Basic 程序段: x = 90 If x > 90 Then Label1.Caption = "声音超标" Else Label1.Caption = "合格" End If 该程序段运行后,在标签 Label1 上显示的是____________。 9. 有如下 Visual Basic 程序段: x = 36: y = 27 If x / 3 > y / 3 Then Label1.Caption = "x>y" Else Label1.Caption = "x<=y" End If 该程序段运行后,在标签 Label1 上显示的是____________。 10. 有如下 Visual Basic 程序段: x = 13 If x < 7 Then s = "油量不足" Else s = "继续行驶" End If Label1.Caption =s 该程序段运行后,在标签 Label1 上显示的是____________。

2010年真题:
1. 有如下Visual Basic程序段: a = 5 b = Len("1011") If a > b Then Label1.Caption = "请重新输入" Else Label1.Caption = "欢迎光临" End If 该程序段运行后,在标签 Label1 上显示的是____________。 2. 有如下Visual Basic程序段: a = 10 b = 8 If a > b Then

第 10 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 Label1.Caption = "morning" Else Label1.Caption = "byebye" End If 该程序段运行后,在标签 Label1 上显示的是____________。 3. 有如下Visual Basic程序段: a = 3:b = 4:c = 5 If a > b And b > c Then Label1.Caption = "happy" Else Label1.Caption = "better" End If 该程序段运行后,在标签 Label1 上显示的是____________。 4. 有如下Visual Basic程序段: a = 13:b = 24:c = 5 If a > b Or b > c Then Label1.Caption = "monday" Else Label1.Caption = "tiger" End If 该程序段运行后,在标签 Label1 上显示的是____________。 5. 有如下Visual Basic程序段: a = 1:b =2:c =5 If a > b And a > c Then c = a + b Else c = a + 5 End If Label1.Caption = Str(c) 该程序段运行后,在标签 Label1 上显示的是____________。 6. 有如下Visual Basic程序段: a = Mid("Please input", 4, 2) b = "Please" If Len(a) < Len(b) Then Label1.Caption = "标准" Else Label1.Caption = "不合格" End If 该程序段运行后,在标签 Label1 上显示的是____________。

第 11 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 7. 有如下Visual Basic程序段: a = 11 b = Len("Visual Basic") If a > b Then Label1.Caption = "计算机基础" Else Label1.Caption = "课外活动" End If 该程序段运行后,在标签 Label1 上显示的是____________。 8. 有如下Visual Basic程序段: x = 2010 s =10 If x < 2012 Then s = s + x Label1.Caption = Str(s) 该程序段运行后,在标签 Label1 上显示的是____________。 9. 有如下Visual Basic程序段: x = 100 s = 10 If x > s Then s = s + x Text1.Text = Str(s) 该程序段运行后,在文本框 Text1 中显示的是____________。 10. 有如下Visual Basic程序段: a = 6 b = 2 If a Mod 2 Then b = Len("excel") + b Else b = Len("excel") - b End If Label1.Caption = Str(b) 该程序段运行后,在标签 Label1 上显示的是____________。

第 12 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

循环语句:
2008年真题:
1.有如下Visual Basic程序段: s = 0 For i = 1 To 10 If i Mod 3 = 0 Then s = s + i Next i 该程序段运行后,变量s的值为 。 2.有如下Visual Basic程序段: k = 0 For i = 1 To 10 If i Mod 3 = 0 Then k = k + 1 Next i 该程序段运行后,变量 k 的值为___________。 3.有如下Visual Basic程序段: s = 0 For i = 0 To 4 s=s+2^i Next i 该程序段运行后,变量s的值为___________。 4. 以 下 Visual
2 3 4 5 6

Basic 程 序 的 功 能 是 :
7 8 9 10

计 算 表 达 式

1+2+2 +2 +2 +2 +2 +2 +2 +2 +2 的值,并在文本框Text1中输出结果。为了 实现这一功能,程序中划线处的语句应更正为_____________。 Private Sub Command1_Click() Dim i As Integer,s As Long s = 0 k = 2 For i= 1 To 10 s = s + k k = k * 2 Next i Text1.Text=Str(s) End Sub

第 13 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

5.以下Visual Basic程序的功能是: 计算表达式1+2+22+23+24+25的值,并 在文本框Text1中输出结果。 为了实现这一功能, 程序中划线处For语句循环 变量i的终值应更正为_____________。 Private Sub Command1_Click() Dim i As Integer, s As Long s = 0 For i= 1 to___5___ s = s + 2^(i-1) Next i Text1.Text=Str(s) End Sub 6.下列Visual Basic程序的功能是:计算表达式1 +4 +7 +?+97 的值,并在 文本框Text1中输出表达式的值。 为了实现这一目标, 程序中For语句划线处 的循环变量步长应为__________________。 Private Sub Command1_Click() Dim sum As Long Dim i As Integer sum = 0 For i =1 To 97 Step sum = sum + i*i Next i Text1.Text = Str(sum) End Sub
7.以下Visual Basic程序的功能是:找出自然数1-100之间被3整除的数,并
2 2 2 2

在文本框Text1中输出这些数的累加和。为了实现这一功能,程序中划线处 的语句应更正为_____________。 Private Sub Command1_Click() Dim i As Integer, sum As Integer sum = 0 For i = 1 to 100 If Next i Text1.Text=Str(sum) End Sub i Mod 3=0 Then sum = sum + 3

第 14 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

8.有如下Visual Basic程序段: s = 0 i = 3 Do While s <= 10 s = s + i i = i + 3 Loop 该程序段运行后,变量s的值为________。 9.以下Visual Basic程序的功能是: 计算表达式1+2+4+8+16+32+?+1024 的值,并在文本框Text1中输出结果。为了实现这一功能,程序中划线处的 语句应更正为_____________。 Private Sub Command1_Click() Dim a As Integer, s As Long s = 0 a = 1 Do While a <= 1024 s = s + a a = a + 2 Loop Text1.Text=Str(s) End Sub 10.以下Visual Basic程序的功能是: 计算表达式1+2+4+8+16+32+?+1024 的值,并在文本框Text1中输出结果。为了实现这一功能,程序中划线处的 表达式应更正为_____________。 Dim i As Integer,s As Long s = 0 i = 1 Do While i <= 1024 s = s + 2*i i = i * 2 Loop Text1.Text=Str(s) End Sub

第 15 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

2009年真题:
1. 有如下 Visual Basic 程序: Private Sub Command1_Click() Dim a(1 To 100) As Integer, i As Integer, s As Integer s = 0 For i = 2 To 100 Step 2 a(i) = i * 2 s = s + a(i) Next i Text1.Text = Str(s) End Sub 问: (1)程序运行后,下标变量 a(4)的值为____________。 (2)循环刚退出时,变量 i 的值为____________。 2.有如下 Visual Basic 程序: Private Sub Command1_Click() Dim s As Integer, i As Integer s = 1 For i = 1 To 10 s = s + 1 Next i Text1.Text = Str(s) End Sub 问: (1)程序运行后,变量 s 的值为____________。 (2)程序运行后,语句“s=s+1”被执行的次数为____________。 3.有如下 Visual Basic 程序: Private Sub Command1_Click() Dim s As Integer, t As Integer t = 1: s = 0 For i = 1 To 10 Step 2 t = t * 2 s = t + 1 Next i Text1.Text = Str(s) End Sub 问: (1)程序运行后,变量 s 的值为____________。 (2)程序运行后,语句“t = t * 2”被执行的次数为____________。

第 16 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 4.有如下 Visual Basic 程序: Private Sub Command1_Click() Dim i As Integer, s As Integer, x As Integer s = 0 For i = 1 To 12 If i Mod 3 = 0 Then s = s + i Next i Text1.Text = Str(s) End Sub 问: (1)程序运行后,变量 s 的值为____________。 (2)程序运行后,刚退出循环时变量 i 的值为____________。 5.以下 Visual Basic 程序的功能是:计算表达式 1×3+2×3+3×3+?100 ×3 的值,并在文本框 Text1 中输出计算结果。 Private Sub Command1_Click() Dim i As Integer, s As Integer s = 0 i = 1 Do While i <= 100 s = i * 3 i = i + 1 Loop Text1.Text = Str(s) End Sub 问: (1)刚退出循环时,变量 i 的值是____________。 (2)为了实现上述表达式的计算,程序中划线处的表达式应更正为 ____________。 6.以下 Visual Basic 程序的功能是:计算表达式 1+3+9+27+81+?2187 的值,并在文本框 Text1 中输出计算结果。 Private Sub Command1_Click() Dim i As Integer, t As Long t = 0 i = 1 Do While i <= 2187 t = t + i i = i + 3 Loop Text1.Text = Str(t) End Sub 问: (1) 为了实现这一目标, 程序划线处的表达式应更正为____________。 (2)运行更正后的程序,循环刚退出时变量 i 的值为___________。

第 17 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 7.有如下 Visual Basic 程序段: Dim i As Integer, s As Integer i = 1 s = 0 Do While i <= 10 s = s + 1:i = i + 1 Loop 问: (1)该程序段运行后,循环中的两个语句“s = s + 1:i = i + 1”一共 执行的次数为____________。 (2)该程序段运行后,变量 s 的值为____________。 8.有如下 Visual Basic 程序段: Private Sub Command1_Click() Dim i As Integer, x As Integer, s As Integer x = 10 s = 0 i = 0 Do While i <= x i = i + 2 s = s + i Loop End Sub 问: (1)该程序段运行后,变量 s 的值为____________。 (2)循环刚退出时,变量 i 的值为____________。 9. 以下 Visual Basic 程序的功能是:计算表达式 1-2+3-4+5-6+?+ 99-100 的值,并在文本框 Text1 中输出计算结果。 Private Sub Command1_Click() Dim i As Integer, s As Integer s = 0 i = 1: t = 1 Do While i <= 100 s = s + i t = -t i = i + 1 Loop Text1.Text = Str(s) End Sub 问: (1)循环刚退出时变量 i 的值是____________。 (2)为了实现上述表达式的计算,程序中划线处的表达式应更正为 ____________。

第 18 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 10.有如下 Visual Basic 程序段: Dim a(1 To 10) As Integer, i As Integer, m As Integer m = a(1) i = 2 Do While i <= 10 If m < a(i) Then m = a(i) i = i + 1 Loop 已知数组 a 中 a(1)、a(2)、?、a(10)保存的数值分别为:56、32、12、 24、77、89、90、7、3、11, 问: (1)循环刚退出时,变量 i 的值为____________。 (2)该程序段运行后,变量 m 的值为____________。

2010年真题:
1. 以下Visual Basic程序的功能是:计算表达式1×1+2×2+3×3+4×4+5 ×5+6×6的值,并在文本框Text_1中输出结果。 Private Sub Command1_Click() Dim a(1 To 6) As Integer Dim s As Integer, i As Integer s = 0 For i = 1 To 6 a(i) = i * i s = s + a(i) Next i _____= str(s) End Sub 问: (1)为了计算上述表达式的值,上面程序段划线处应填入_________。 (2)该程序段运行后,a(5)的值是____________。 2. 有如下Visual Basic程序段: s = 0 a = 5 For i = 1 To 10 Step 2 a = a + i s = a * i Next i 问:该程序段运行后, (1)变量i的值是___________。 (2)变量 s 的值是___________。

第 19 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 3. 已知某数列前二项分别为:a1 = 1,a2 = 2,以后每项都满足: ai = ai-1 + ai-2 (i>2) 有如下Visual Basic程序段: Dim a(1 To 20) As Integer a(1) = 1: a(2) = 2 For i = 3 To 20 a(i) = + a(i - 2) Next i 问: 如果用数组a存储该数列的前20项, (1) 程序段划线处应填入_________。 (2)该程序段运行后,a(4)的值为____________。 4. 有如下Visual Basic程序段: s = 10 For i = 1 To 20 Step 3 s = s + i Next i For j = 1 To 3 s = s * j Next j 问:该程序段运行后, (1)语句“s=s*j”执行的次数为_________。 (2)变量 s 的值为_________。 5. 已知某数列前二项分别为:a1 = 1、a2 = 2,以后每项都满足: ai = ai-1 + ai-2 (i>2) 有如下Visual Basic程序段: Dim a(1 To 20) As Integer a(1) = 1: a(2) = 2 For i = 3 To a(i) = a(i - 2) + a(i - 1) Next i 问: (1)数组a存储该数列的前20项,上面程序段划线处应填入_________。 (2)该程序段运行后,a(6)的值为____________。 6. 有如下Visual Basic程序段: s = 0 For i = 1 To 10 For j = 1 To i s = s + j * j Next j s = s + i * i Next i 问:该程序段运行后, (1)语句“s=s+j*j”执行的次数为____________。 (2)变量 s 的值为 ____________。

第 20 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 7. 有如下Visual Basic程序段: Dim i As Integer, s As Integer s = 0 i = 1: a = 5 Do While i <= 100 s = s + a * i i = i * 5 Loop 问:该程序段运行后, (1)变量i的值是____________。 (2)变量s的值为____________。 8. 有如下Visual Basic程序段: s = 150: i = 1 Do While s > 100 s = s - i + 1 i = i + 20 Loop 问:该程序段运行后, (1)变量i的值是___________。 (2)变量 s 的值为___________。 9. 有如下Visual Basic程序段: Dim i As Integer, s As Integer i = 5 s = 0 Do While i <= 50 s = s + i: i = i * 2 Loop 问:该程序段运行后, (1)语句“s = s + i”执行的次数为____________。 (2)变量 s 的值为____________。 10. 有如下Visual Basic程序段: Dim a As Integer, b As Integer, c As Integer a = 20 b = 0 c = 2 Do While a > b And a > c b = b + 1 c = c + b Loop 问:该程序段运行后, (1)语句“b=b+1”执行的次数为__________。 (2)变量c的值为____________。

第 21 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

程序综合题:
2008年真题:
1.某学生说他的年龄不低于10岁,且他的年龄减去10,平方以后得到的一 个数,恰好是他的年龄加上10,问他的年龄多大? 设这位学生年龄为y,他年龄减去10的平方为r,则r=(y-10) ,则y满 足的表达式为:(y - 10) =y + 10 解决此问题的算法流程图如图VB-1所示,相应的Visual Basic程序如 下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。 Private Sub Command1_Click() Dim y As Integer, r As Integer y = 10 r = (y - 10) ^ 2 Do While (1) (2) r = (y - 10) ^ 2 Loop Text1.Text = Str(y) End Sub 程序中划线处(1)应填入 程序中划线处(2)应填入
2 2

第 22 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

2.模拟两人掷骰子游戏。 由电脑随机产生两个1到6之间的整数, 表示甲乙两 人所掷的骰子数, 根据这两个数字之和是偶数还是奇数, 判定哪一方赢了? 偶数表示甲赢了,奇数表示乙赢了。掷了若干次后,分别统计甲乙各赢了几 次? 程序界面如图VB-1所示,在文本框Text1中输入总次数n,单击"开始" 按钮, 在文本框Text2中输出甲赢的次数, 在文本框Text3中输出乙赢的次数。 在列表框List1中输出游戏次数和判断结果。 算法流程图如图VB-2所示,相应的Visual Basic程序如下,其中变量a、 b分别存储甲、乙两人所掷的骰子数,变量n存储游戏总次数,变量k、j分别 存储甲、乙各自赢的次数。在(1)和(2)划线处,填入合适的语句或表达式, 把程序补充完整。

Private Sub Command1_Click() Dim a As Integer, b As Integer, n As Integer Dim j As Integer, k As Integer, i As Integer k = 0 j = 0 List1.Clear (1) For i = 1 To n a = Int(Rnd() * 6 + 1) b = Int(Rnd() * 6 + 1) If (2) Then

第 23 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

List1.AddItem Str(i) + "甲赢了!" k = k + 1 Else List1.AddItem Str(i) + "乙赢了!" j = j + 1 End If Text2.Text = Str(k) Text3.Text = Str(j) Next i End Sub 程序中划线处(1)应填入 程序中划线处(2)应填入

第 24 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

3.用50元钱兑换面值为1元、2元、5元的纸币共25张。每种纸币不少于1张, 求出有多少种兑换方案?每种兑换方案中1元、 2元、 5元的纸币各有多少张? 假设面值为1元、2元、5元的纸币分别是x、y、z张,兑换方案有k种,从 题意可得出x、y、z满足的表达式为 x+y+z=25 x+2y+5z=50 解决此问题的算法流程图如图VB-1所示,相应的Visual Basic程序如下, 在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。 Private Sub Command1_Click() Dim k As Integer Dim x As Integer, y As Integer, z As Integer k = 0 List1.Clear For y = 1 To 23 For z = 1 To 9 x = 25 - y - z If (1) Then List1.AddItem "1元" + Str(x) + "张 2元" + Str(y) + "张 5元" + Str(z) + "张" (2) End If Next z Next y Label1.Caption = "共有" + Str(k) + "种兑换方案" End Sub 程序中划线处(1)应填入 程序中划线处(2)应填入

第 25 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

第 26 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

4.某班级45名学生,每位学生中文姓名均不相同,并且都有一个英文名。下 面程序的功能是根据学生的中文姓名查找相应的英文名, 其中学号存储在数 组sno中,英文名存储在数组sname中,中文姓名存储在数组ch中。 程序界面如图VB-1所示,在文本框text1中输入要查找的中文姓名,单 击"开始查找"按钮, 如果查找成功, 则在文本框Text2中输出该学生的学号、 中文姓名和英文名,否则在文本框Text2中输出"查无此人!"。 解决查找问题的算法流程图如图VB-2所示,相应的Visual Basic程序段 如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序段补充完整。

Private Sub Command1_Click() Dim key As String, i As Integer Dim n As Integer, found As Boolean found = False n = 0 : i = 1 (1) Do While i <= 45 And Not found If ch(i) = key Then n = i: found = True i = i + 1 Loop If (2) Then Text2.Text = "查无此人!" Else Text2.Text = Str(sno(n)) + "号:" + ch(n) + "的英文名是" + sname(n) End If End Sub 程序中划线处(1)应填入 程序中划线处(2)应填入

第 27 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

5.某市近期向市民投放带2B开头尾数为001至999的机动车牌号, 经过竞投有 200个牌号被首批车主投中。下面Visual Basic程序段的功能是根据车牌号 查找相应的车主身份证号码,其中车牌号按尾数从小到大的顺序存储在cno 数组中,身份证号码存储在cnum数组中。 界面如图VB-1所示, 在文本框Text1中输入一个车牌号, 单击"开始查找 "按钮后,在文本框Text2中输出结果。如果查找成功,则输出对应的车主身 份证号码,否则输出"找不到"。

解决查找问题的算法流程图如图VB-2所示,相应的Visual Basic程序段如 下,在(1)和(2)划线处,填入合适的语句或表达式,把程序段补充完整。

第 28 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

Private Sub Command1_Click() Dim key As String , i As Integer Dim j As Integer , found As Boolean i = 1: j = 200 : found = False (1) Do While i <= j And Not found m = Int((i + j) / 2) If cno(m) = key Then found = True Else If (2) Then i = m + 1 Else j = m - 1 End If Loop If Not found Then Text2.Text = "找不到" Else Text2.Text = cnum(m) End Sub 程序中划线处(1)应填入 程序中划线处(2)应填入

第 29 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

6.在100至999之间的自然数中, 找出能被3整除, 且至少有一位数字为5的所 有整数,并统计个数。

第 30 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

设变量s是一个三位正整数,变量a、b、c分别表示s的百位、十位和个位 上的数字,变量n表示满足要求的整数个数。对于每一个s,只要判断a、b、 c中是否至少有一个为5,即可找到符合条件的数。程序界面如图VB-1所示, 单击"统计"按钮,在列表框List1中输出符合条件s值,在文本框Text1中输 出n的值。 算法流程图如图VB-2所示,相应的Visual Basic程序如下,在(1)和(2) 划线处,填入合适的语句或表达式,把程序补充完整。 Private Sub Command1_Click() Dim s As Integer, n As Integer Dim a As Integer, b As Integer, c As Integer n = 0 s = 102 List1.Clear Do While (1) a = s \ 100 b = s \ 10 Mod 10 c = s Mod 10 If (2) Then n = n + 1: List1.AddItem Str(s) s = s + 3 Loop Text1.Text = Str(n) End Sub 程序中划线处(1)应填入 程序中划线处(2)应填入

第 31 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

7.模拟一个简单计算器,输入两个数和一个运算符(加、减、乘、除),进 行算术运算,并输出运算结果。 程序界面如图VB-1所示,在文本框Text1中输入第一个数a,在文本框 Text2中输入第二个数b,在文本框Text3中输入运算符ch,在文本框Text4 中输出运算结果。

图VB-1

当输入的运算符不是加、减、乘、除四种运算符时,则输出"运算符不 正确";当进行除法运算时,如果除数为0,提示输出"除数不能为零"。 解决上述问题的算法流程图如图VB-2所示,相应的Visual Basic程序如下, 在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。

第 32 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

Private Sub Command1_Click() Dim a As Single, b As Single, ch As String a = Val(Text1.Text) b = Val(Text2.Text) (1) If ch = "+" Then Text4.Text = Str(a+b) ElseIf ch = "*" Then Text4.Text = Str(a*b) ElseIf ch = "-" Then Text4.Text = Str(a-b) ElseIf ch = "/" Then If (2) Then Text4.Text = Str(a/b) Else Text4.Text =" 除数不能是零" Else Text4.Text = "运算符不正确" End If End Sub 程序中划线处(1)应填入 程序中划线处(2)应填入 8.《浙江省电网销售电价表》中规定,不满1千伏"一户一表"居民用电价格, 按以下标准计算:月用电量在50千瓦时及以下部分,每千瓦时以0.538元计 算;51~200千瓦时部分,则每千瓦时按0.568元计算;200千瓦时以上部分, 每千瓦时按0.638元计算。设计一个程序,根据用户的月用电量分段计算电 费。 设某用户的当月用电量是x千瓦时, 当x≤50时,电费为0.538×x元; 当51≤x≤200时,电费为0.568×(x-50)+0.538×50元; 当x>200时,电费为0.638×(x-200)+0.568×150+0.538×50元; 在文本框Text1输入x,在文本框Text2中输出相应的电费。 根据上述分析, 解决此问题的算法流程图如图VB-1所示, 相应的Visual Basic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补 充完整。 Private Sub Command1_Click() Dim x As Integer (1)

第 33 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

If x < 0 Then Text2.Text = "用电量不能是负的!" ElseIf x <= 50 Then Text2.Text = Str(0.538 * x) ElseIf (2) Then Text2.Text = Str(0.568 * (x - 50) + 0.538 * 50) Else Text2.Text = Str(0.638 * (x - 200) + 0.568 * 150 + 0.538 * 50) End If End Sub 程序中划线处(1)应填入 程序中划线处(2)应填入 9.有一道趣味题,张老师问李老师:"你今年几岁?你爱人今年几岁?"李老 师笑笑说:"我年龄的平方与我爱人年龄之和恰好等于1053。而我爱人年龄 的平方与我的年龄之和却等于873。你计算一下吧!" 设李老师年龄为x岁,他爱人年龄为y岁,由题意可得x,y满足的数学式为: x2 + y = 1053 x + y2 = 873 解决此问题的流程图如VB-1所示。根据流程图VB-1编写的Visual Basic程序 如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。 Private Sub Command1_Click() Dim x As Integer, y As Long x = 1 y = 1053 - x * x Do While (1)
(2)

y = 1053 - x * x Loop Text1.Text = Str(x) Text2.Text = Str(y) End Sub 程序中划线处(1)应填入 程序中划线处(2)应填入

第 34 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

开始

x 赋初值 1

y=1053 - x

2

Y

x + y = 873?

2

N

输出 x,y

x 值增加 1

结束

计算 y 值

图 VB-1

10.下面的算式表示一个四位数乘以9, 积还是一个四位数。 算式中相同的字 母表示相同的数字,不同的字母表示不同的数字。那么算式中的a、b、c、d 各代表什么数字? a b c d * 9 d c b a 从算式分析可知, 第一式上最高位a*9没有产生进位, 可得a=1, 再由d*9 结果的个位数是a,即1,可得d=9, b、c满足的表达式为 (1000+100b+10c+9)*9=9000+100c+10b+1 解决此问题的算法流程图如图VB-1所示,相应的Visual Basic程序如 下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。 Private Sub Command1_Click() Dim a As Integer, b As Integer Dim c As Integer, d As Integer a = 1 (1) For b = 0 To 9 For c = 0 To 9

第 35 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

If ( (2) ) * 9 = 9001 + 100 * c + 10 * b Then Text1.Text = Str(a) Text2.Text = Str(b) Text3.Text = Str(c) Text4.Text = Str(d) End If Next c Next b End Sub 程序中划线处(1)应填入 程序中划线处(2)应填入

2009 年真题:
1.某市出租车计费标准规定:出租车启动后行程不超过 3 千米(包含 3 千 米)计费 5 元;如果行程超过 3 千米且不超过 10 千米(包含 10 千米) ,则 超过 3 千米部分按 1.5 元/千米计费(3 千米及以内部分计费仍为 5 元) ;若 行程超过 10 千米,则在前面计费基础上,超出 10 千米部分按 1.8 元/千米 计费。 假定某出租车行程为 x 千米,计费标准如下: 当 x≤3 千米时,计费为 5 元; 当 3<x≤10 千米时,计费为 5+(x-3)×1.5 当 x>10 千米时,计费为 5+(10-3)×1.5+(x-10)×1.8 程序界面如图 VB-1 所示,在文本框 Text1 中输入行驶里程数(单位: 千米) ,单击“开始计算”按钮(Command1)后,在标签 Label3 输出计费结 果。 解决此问题的算法流程图如图 VB-2 所示,相应的 Visual Basic 程序如 下,在程序①和②划线处,填入适当的语句或表达式,把程序补充完整。 Private Sub Command1_Click() Dim x As Single, s As Single x = Val(Text1.Text) If ① Then s = 5 ElseIf x <= 10 Then s = 5 + (x - 3) * 1.5 Else s = 5 + (10 - 3) * 1.5 + (x - 10) * 1.8 End If ② = Str(s) End Sub 程序中①划线处应填入___________________ 程序中②划线处应填入___________________

第 36 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

图 VB-1 开始 输入行程数 x Y x 不超过 3 ? N Y
X 不超过 10 ?

N s←5 + (10 - 3) × 1.5 + (x - 10)×1.8 s←5+ (x - 3) × 1.5

s←5

输出 s 的值 图 VB-2 结束

2.将一个十进制正整数转化为二进制数可以采用“除二取余法” ,主要方法 就是将十进制数用 2 除, 保存所得余数, 然后将商的整数部分作为下次运算 的被除数,重复上述“除二取余”操作,直到商的整数部分为零停止。 程序界面如图 VB-1 所示, 在文本框 Text1 中输入一个正整数, “开 单击 始转换”按钮(Command1)后,对应的二进制数在标签 Label3 中显示出来。 解决此问题的算法流程图如图 VB-2 所示,相应的 Visual Basic 程序如 下,在程序①和②划线处,填入适当的语句或表达式,把程序补充完整。

第 37 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 Private Sub Command1_Click() Dim x As Integer, s As String, r As Integer, t As Integer ① s = "" Do While x <> 0 r = x Mod 2 s = Str(r) + s x = ② Loop Label3.Caption = s End Sub 程序中①划线处应填入___________________ 程序中②划线处应填入___________________

图 VB-1

第 38 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

开始 输入十进制数 x s 赋初值(空字符串) N x≠0 ? Y 将当前 x 被 2 除的余 数保存到变量 r s←Str(r)+s 将当前 x 被 2 除所得商的 整数部分保存到变量 x

输出 s 的值 结束 图 VB-2

3.在某学校里,每位同学都会得到一张一卡通卡,一卡通的卡号是唯一的, 卡内会记录每位同学的姓名、住址、班级、金额等信息。每当同学刷卡时, 卡号就被输入电脑,然后进行查找,如果找到就显示姓名,否则显示“查无 此人” 。下列程序的功能是根据卡号查找对应的姓名,程序中数组 a 保存所 有已发放一卡通的卡号,数组 b 保存卡号对应的姓名,第 i 位同学的卡号保 存在 a(i)中,姓名保存在 b(i)中。 程序界面如图 VB-1 所示,左边列表框列出所有同学的卡号和姓名,在 右边文本框 Text1 中输入卡号,单击“开始查询”按钮(Command1) ,程序 就按卡号进行查找, 如果找到就在标签 Label3 中输出卡号对应同学的姓名, 否则就输出“查无此人” 。 解决此问题的算法流程图如图 VB-2 所示,相应的程序如下,在程序① 和②划线处,填入适当的语句或表达式,把程序补充完整。

第 39 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 Private Sub Command1_Click() Dim x As String, i As Integer, s As String, f As Boolean x = ① i = 0: f = False 'f 为找到标志变量,值为 True 表示找到, 否则表示没找到 Do While (i < n) And (f = False) i = i + 1 If x = a(i) Then f = True End If Loop If f = True Then ② Else s = "查无此人!" End If Label3.Caption = s End Sub 程序中①划线处应填入___________________ 程序中②划线处应填入___________________

图 VB-1

第 40 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

图 VB-2 4.在网上商城中找到商品后可以将商品按照价格顺序显示,下列程序模拟 该信息处理过程,程序能根据找到的商品信息(价格和发货地) ,将所有商 品按照价格从高到低显示。 一开始, 所有商品的价格和发货地分别保存在数 组 a 和数组 b 中,第 i 个商品的价格保存在 a(i)中,对应的发货地保存在 b(i)中。 程序界面如图 VB-1 所示,左边列表框 List1 中显示用户已找到的所有 商品信息(包括价格和发货地) ,单击 “开始排序”按钮(Command1) ,所 有商品按照价格从高到低显示在列表框 List2 中。 解决此问题的算法流程图如图 VB-2 所示,相应的程序如下,在程序① 和②划线处,填入适当的语句或表达式,把程序补充完整。 Private Sub Command1_Click() Dim i As Integer, j As Integer, t1 As Integer, t2 As String, k As Integer For i = 1 To n – 1 ' n 表示商品总数 k=i ' k 保存第 i 大的数, 一开始假定是 a(i)

第 41 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 For j = i + 1 To n If a(k) < a(j) Then k = ① Next j If ② Then t1 = a(i): a(i) = a(k): a(k) = t1 '交换价格 t2 = b(i): b(i) = b(k): b(k) =t2 '交换发货地 End If Next i For i = 1 To n '在列表框 List2 中输出 排序结果 List2.AddItem Str(a(i)) + " " + b(i) Next i End Sub 程序中①划线处应填入___________________ 程序中②划线处应填入___________________

图 VB-1

第 42 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

开始 i←1 N i<n? Y k←i 在列表框 List2 中 输出排序结果 结束 N j≤n? Y a(k)<a(j) ? Y 将比 a(k)大的数的 下标 j 保存到 k 中 j←j+1 N

j←i+1

k≠i? N

Y 互换 a(i)与 a(k)的值 互换 b(i)与 b(k)的值

i←i+1

图 VB-2 5.超市进货时会将每个商品的条形码和价格输入计算机,并对所有商品按 照条形码排序(从小到大) ,顾客付款时只要把条形码输入电脑,电脑即可 根据条形码找到该商品并显示对应的价格。 下列程序的功能是根据条形码查 找对应商品的价格,所有商品的条形码和价格分别保存在数组 a 和 b 中(并 且已经按照条形码从小到大排序) ,第 i 个商品的条形码保存在 a(i)中,对应 的价格保存在 b(i)中, 变量 f 是标志变量, 如果值为 True 则说明找到了商品, 若为 False 则说明没有找到。 程序界面如图 VB-1 所示,在文本框 Text1 中输入商品的条形码,单击 “开始查找”按钮(Command1)后,对应商品的价格在标签 Label4 中显示 出来,如果未找到则显示“找不到该商品,请重新输入条形码” 。

第 43 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 解决此问题的算法流程图如图 VB-2 所示,相应的程序如下,在程序① 和②划线处填入适当的语句或表达式,将程序补充完整。 Private Sub Command1_Click() Dim x As String, i As Integer, j As Integer, m As Integer Dim f As Boolean x = Text1.Text i = 1: j = n: f = False 'n 保存总的商品数 Do While (i <= j) And Not (f) m = Fix((i + j) / 2) If ① Then f = True ElseIf x < a(m) Then ② Else i = m + 1 End If Loop If f Then Label4.Caption = b(m) Else Label4.Caption = "找不到该商品,请重新输入条形码" End If End Sub 程序中①划线处应填入___________________ 程序中②划线处应填入___________________

图 VB-1

第 44 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

开始 输入条形码保存到 x i←1,j←n,f←False i≤j 并且 f=False? Y m←Fix((i+j)/2)
找到商品?

N

N f=True ? Y

Y

N Y x<a(m) ?

N

f←True

将查找区间右边 界设为中点的前 一个位置

将查找区间左 边界设为中点 的后一个位置

输出查找 失败信息

输出找到 的价格

结束

图 VB-2 6.COD(化学需氧量)是衡量水质污染程度的重要指标之一,污水处理时根 据污水的 COD 指标来计算 COD 去除剂的投放量。 程序界面如图 VB-1 所示,在文本框 Text1 中输入 COD 指标,单击“计 算投放量”按钮(Command1)后,程序根据 COD 指标计算出合适的 COD 去除 剂投放量,并在标签 Label3 中输出计算结果。 污水处理厂根据 COD 指标投放 COD 去除剂的标准如下表所示: 当前 COD 指标 x 根据 COD 指标应投放 COD 去除剂的剂 量 x<50 10 x≥50 并且 x≤500 1 .2 x

5
x>500

1 .5 x 4

第 45 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

图 VB-1 在程序①和②划线处填入适当的语句或表达式,将程序补充完整。 Private Sub Command1_Click() Dim x As Single, s As Single x = Val(Text1.Text) If ① Then s = 10 ElseIf x <= 500 Then s = ② Else s = x / 4 * 1.5 End If Label3.Caption = Str(s) End Sub 程序中①划线处应填入___________________ 程序中②划线处应填入___________________ 7.某网站组织了 100 个商品进行网络人气调查,投票结束后,要选出得票 数最高的前 10 个商品。下列程序的功能是根据商品已有得票数,选出得票 数最高的 10 个商品。商品的代号和得票数分别保存在数组 a 和 b 中,第 i 个商品的代号保存在 a(i)中,对应的得票数保存在 b(i)中。 程序界面如图 VB-1 所示,左边列表框 List1 中显示的是所有商品的代 号和得票数(按代号从小到大排列) ,单击“开始统计”按钮(Command1) 后,在右边的列表框 List2 中显示得票数最高的 10 个商品的代号和得票数 (按照得票数从高到低的顺序显示) 。 解决此问题的算法流程图如图 VB-2 所示,相应的程序如下,在程序① 和②划线处填入适当的语句或表达式,将程序补充完整。

第 46 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

图 VB-1 Private Sub Command1_Click() Dim i As Integer, j As Integer, t As Integer For i = 1 To 10 For j = 100 To i + 1 Step ① If b(j) > b(j - 1) Then t = a(j - 1): ② : a(j) = t t = b(j - 1): b(j - 1) = b(j): b(j) = t End If Next j Next i For i = 1 To 10 List2.AddItem Str(a(i)) + " " + Str(b(i)) Next i End Sub 程序中①划线处应填入___________________ 程序中②划线处应填入___________________

第 47 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

图 VB-2 8.交通违章查询。在违章查询系统中输入车主的汽车车牌号,查询系统就 会按照车牌号查找所有的违章记录。 下列程序的功能是根据车牌号查找该车 的违章信息,数组 a 和 b 分别保存所有违章汽车的车牌号和违章原因,第 i 条信息的车牌号保存在 a(i)中,对应的违章原因保存在 b(i)中。 程序界面如图 VB-1 所示,在文本框 Text1 中输入车牌号,单击“开始 查找”按钮(Command1) ,电脑就开始查找该汽车所有的违章记录,如果找 到对应的信息,就统计所有违章次数并在标签 Label3 中显示违章总次数, 同时在列表框 List1 中显示所有违章的原因, 如果没有找到, 则在列表框中 显示“没有任何违章记录” 。

第 48 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 解决此问题的算法流程图如图 VB-2 所示,相应程序如下,在程序①和 ②划线处填入适当的语句和代码,把程序补充完整。 Private Sub Command1_Click() Dim x As String, i As Integer, s As Integer List1.Clear s = 0 x = ① For i = 1 To n If x = a(i) Then s = s + 1 List1.AddItem b(i) End If Next i Label3.Caption = Str(s) If ② Then List1.AddItem "没有任何违章记录" End Sub 程序中①划线处应填入___________________ 程序中②划线处应填入___________________

图 VB-1

第 49 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

图 VB-2 9.团体总分统计。下列程序的功能是根据输入的班级编号,统计该班的团 体总分。每个运动员的编号、所属班级编号、得分情况分别保存在数组 a、 b、c 中,a(i)保存第 i 位运动员的编号,b(i)保存第 i 位运动员所属班级 编号,c(i)保存第 i 位运动员得分。 程序界面如图 VB-1 所示,在文本框 Text1 中输入班级编号,单击“开 始统计”按钮(Command1) ,程序统计该班的团体总分并在文本框 Text2 中 显示。 解决此问题的算法流程图如图 VB-2 所示,相应的程序如下,程序中变 量 n 表示总的运动员人数, 在程序①和②划线处, 填入适当的语句或表达式, 把程序补充完整。

第 50 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 Private Sub Command1_Click() Dim x As String, i As Integer, s As Integer x = Text1.Text s = 0 For i = 1 To n If ① Then s = s + c(i) ② Next i Text2.Text = Str(s) End Sub 程序中①划线处应填入___________________ 程序中②划线处应填入___________________

图 VB-1

第 51 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

图 VB-2 10.猜密码。电脑产生一个 8 位密码,用户输入猜测的密码,电脑判断用户 所猜密码的正确性, 如果用户输入的密码和电脑产生的密码完全一致则输出 “恭喜你猜中了密码!, ” 否则程序将输出用户密码和计算机产生密码之间不 同的字符数。电脑产生的 8 位密码分别保存在数组 pass 的 8 个下标变量 pass(1)、pass(2)、?、pass(8)中。 程序界面如图 VB-1 所示,用户在文本框 Text1 中输入密码,单击“密 码校验”按钮(Command1)后,程序在标签 Label3 中输出密码校验结果。 解决此问题的算法流程图如图 VB-2 所示,相应的程序如下,在程序① 和②划线处,填入适当的语句或表达式,把程序补充完整。 Dim pass(1 To 8) As Integer Private Sub Command1_Click() Dim x(1 To 8) As Integer, i As Integer, s As Integer For i = 1 To 8 x(i) = Val(Mid(Text1.Text, i, 1)) '把文本框中数字逐个分割出来并 转化成数值 Next i

第 52 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 s = 0 '变量 s 保存不同字符的总数 For i = 1 To 8 If pass(i) <> x(i) Then ① Next i If ② Then Label3.Caption = "恭喜你猜中了密码!" Else Label3.Caption = "你输入的密码共有" + Str(s) + "个字符和密码不 符" End If End Sub Private Sub Form_Load() Dim i As Integer For i = 1 To 8 '产生 8 位密码,每位一个非负整数, 保存到数组 pass pass(i) = Fix(Rnd * 10) Next i End Sub 程序中①划线处应填入___________________ 程序中②划线处应填入___________________

图 VB-1

第 53 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

图 VB-2

2010 年真题:
1. 用辗转相除法求最大公约数。 已知用辗转相除法求两个正整数m、n的最大公约数的算法如下:(用num1, num2,r分别表示被除数m、除数n和余数) ①求num1/num2的余数r; ②若r=0,则执行第⑤步; ③将num2的值放在num1中,将r的值放在num2中; ④重新执行第①步; ⑤输出最大公约数num2。 下列Visual Basic程序用于求三个正整数的最大公约数。程序界面如图所 示,在文本框Text1、Text2和Text3中分别输入三个数a、b和c,单击"求最 大公约数"按钮(Command1)后,在文本框Text4中输出a、b、c的最大公约 数y。

第 54 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

Function temp(num1 as Integer, num2 as Integer) as Integer Dim r as Integer ' 此函数用于计算两个正整数的最大公 约数 r = num1 Mod num2 Do While ① num1 = num2 num2 = r 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 = ② y = temp(x, c) Text4.Text = Str(y) End Sub (1) 解决此问题的算法是 。 (选填: 解析法 或 枚举法) 在程序①和②划线处,填入适当的语句或表达式,把程序补充完整: (2)程序中①划线处应填入___________________。 (3)程序中②划线处应填入___________________。

第 55 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 2. 某超市打折促销,规定如下: ①购物未超过500元按原价支付; ②购物超过500元但未超过1000元,超过500元部分按9折优惠计价; ③购物超过1000元但未超过1500元,超过1000元部分按8折优惠计价; ④购物超过1500元但未超过3000元,超过1500元部分按7折优惠计价; ⑤购物超过3000元,超过3000元部分按6折优惠计价。 根据以上规定,假定购物货款为x元,则实付金额y为:

程序界面如图所示,在"输入购物金额(单位:元)"后的文本框orgtext中 输入购物金额(单位:元),单击"实付金额计算"按钮(Command1)后,在 "实际支付金额(单位:元)为"后的文本框cashText中输出实付金额。

解决此问题相应的Visual Basic程序如下: Private Sub Command1_Click() Dim x As Single, y As Single x = Val(orgtext.Text) If x <= 500 Then y = x ElseIf ① Then y = 500 + (x - 500) * 0.9 ElseIf x <= 1500 Then y = 500 + 500 * 0.9 + (x - 1000) * 0.8 ElseIf x <= 3000 Then y = 500 + 500 * 0.9 + 500 * 0.8 + (x - 1500) * 0.7 Else y = 500 + 500 * 0.9 + 500 * 0.8 + 1500 * 0.7 + (x - 3000) * 0.6

第 56 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 End If ② End Sub (1) 解决此问题的算法是_______________。 (选填: 解析法 或 枚举法) 在程序①和②划线处,填入适当的语句或表达式,把程序补充完整。 (2)程序中①划线处应填入_______________。 (3)程序中②划线处应填入_______________。 3. 要求从某一字符串中删除指定的字符(假设所含的英文字母均为小写字 母),并将处理后的字符串重新输出。 程序界面如图所示,在文本框Text_1中输入原始字符串,在文本框Text_2 中输入需要删除的字符,单击"删除此字符"按钮(Command1)后,在文本框 Text_3中输出处理后的结果。

解决此问题的算法流程图如图所示,相应的Visual Basic程序如下: Dim p As String, k As String Private Sub Command1_Click() Dim s As Integer, result As String, flag As Boolean result = "" p = Text_1.Text k = Text_2.Text For s = 1 To Len(p) flag = f(s) If Not flag Then result = result + ① End If Next s ② End Sub Function f(s As Integer) As Boolean If Mid(p, s, 1) = k Then f = True End Function (1)解决此问题的算法是________________。 (选填:顺序查找 或 对分 查找)

第 57 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 在程序①和②划线处,填入适当的语句或表达式,把程序补充完整。 (2)程序中①划线处应填入________________。 (3)程序中②划线处应填入________________。

4. 某协会进行钓鱼比赛,最后有十人进入决赛,录入员编制了如下Visual Basic程序, 功能是根据成绩进行排序, 程序中数组a保存所有参赛者的成绩, 数组b保存此成绩对应的姓名, 第i位参赛者的成绩保存在a(i)中, 姓名保存 在b(i)中。 程序界面如图所示, 左边列表框List1中显示原始数据 (成绩和相应的姓名) , 单击 "排序"按钮(Command1),排序后的结果按成绩从高到低显示在列表 框List2中。

第 58 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

解决此问题的算法流程图如图所示,排序部分的程序段如下: Dim a(1 To 10) As Single Dim b(1 To 10) As String Private Sub Command1_Click() Dim i As Integer, j As Integer, k As Integer, x As Single, y As String For i = 1 To 9 k = i For j = i + 1 To 10 If ① Then k = j Next j If k <> i Then x = a(i): a(i) = a(k): ② y = b(i): b(i) = b(k): b(k) = y End If Next i For i = 1 To 10 List2.AddItem Str(a(i)) + " " + b(i) Next i End Sub Private Sub Form_Load() ' 此过程用于对数组a和数组b进行初始赋值,代码略 End Sub (1)解决此问题的算法是_________________。 (选填:冒泡排序 或 选择 排序) 在程序①和②划线处,填入适当的语句或表达式,把程序补充完整: (2)程序中①划线处应填入___________________。 (3)程序中②划线处应填入___________________。

第 59 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 5. 王敏的E-Mail邮箱密码忘记了,但她需要收一封很重要的来信,请你帮 她尽可能找出密码。她零星记得自己密码信息: ①密码是六位数字,前面两位为31; ②最后两位数字相同; ③能被16和46整除。 程序界面如图所示,单击 "帮助找回密码"按钮(Command1)后,可能的密 码显示在列表框List1中。

解决此问题的相应程序如下: Private Sub Command1_Click() Dim a As Integer, s As long, b As Integer, i As Integer For i = 0 To 9999 ① s = 310000 + i If s Mod 46 = 0 Then ② b = (s Mod 100) \ 10 If a = b Then List1.AddItem Str(s) End If End If Next i End Sub (1)解决此问题的算法是________________。(选填:枚举算法 或 排序 算法) 在程序①和②划线处,填入适当的语句或表达式,把程序补充完整: (2)程序中①划线处应填入__________________。 (3)程序中②划线处应填入__________________。

第 60 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

6. 小明设计了某单位的公积金查询系统,输入职工的公积金账号,可以查 出该账号对应的余额。 所有职工的公积金账号和相应的余额已分别保存在数 组a(按从小到大排序)和数组b中,第i个职工的账号保存在a(i)中,对应 的账号余额保存在b(i)中。 程序界面如图所示,左边列表框List1中显示的是部分职工的账号和余额, 在文本框Text1中输入职工的公积金账号, 单击"查询余额"按钮 (Command1) 后, 如果找到此账号, 则在标签Label2中显示"此账号余额为"和账号对应的 余额值,如果未找到则显示"找不到此账号,请重新输入"。

第 61 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

解决此问题的算法流程图如图所示,相应的查找部分程序段如下: Dim a(1 To n) As Long Dim b(1 To n) As Single Private Sub Command1_Click() Dim x As Long, i As Long, j As Long, m As Long, f As Boolean x = Val(Text1.Text) i = 1: j = n: f = False ' 设账号总数为n Do While (i <= j) And Not f ① If x = a(m) Then f = True ElseIf x < a(m) Then j = m - 1 Else ② End If Loop If f Then Label2.Caption = "此账号余额为" + Str(b(m)) + "元" Else Label2.Caption = "找不到此账号,请重新输入" End If End Sub Private Sub Form_Load() ' 此过程用于对数组a和数组b进行初始赋值,代码略

第 62 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 End Sub (1) 解决此问题的算法是_____________。 (选填: 对分查找 或 顺序查找) 在程序①和②划线处填入适当的语句或表达式,将程序补充完整: (2)程序中①划线处应填入________________。 (3)程序中②划线处应填入________________。 7. 陈晓峰和同学们去农科院开展研究性学习,大家都收获很大,晓峰设计 了一个Visual Basic程序,他把同学们收集到的水稻亩产量和同学姓名已分 别保存在数组a和数组b中,第i个同学收集的亩产量保存在a(i)中,对应的 同学姓名保存在b(i)中,最后按亩产量从高到低进行排序。 程序界面如图所示,左边列表框List1中显示的是所有同学收集到的原始数 据,单击"排序"按钮(Command1)后,在右边的列表框List2中显示排序完 成后的结果(按亩产量从高到低排列)。

解决此问题的算法流程图如图所示,相应的排序部分程序如下: Dim a(1 To n) As Single Dim b(1 To n) As String Private Sub Command1_Click() Dim i As Integer, j As Integer, c As Single, t As String For i = 1 To n ' 设共有n名同学 For j = n To i + 1 ① If ② Then c = a(j - 1) a(j - 1) = a(j) a(j) = c t = b(j - 1) b(j - 1) = b(j) b(j) = t End If Next j Next i

第 63 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 For i = 1 To n List2.AddItem Str(a(i)) + " " + b(i) Next i End Sub Private Sub Form_Load() ' 此过程用于对数组a和数组b进行初始赋值,代码略 End Sub (1)解决此问题的算法是________________。(选填:选择排序 或 冒泡 排序) 在程序①和②划线处填入适当的语句或表达式,将程序补充完整: (2)程序中①划线处应填入___________________。 (3)程序中②划线处应填入___________________。 8. 数制转换。 将一个K进制(k<=10)数x转换成十进制数可采用如下方法: 主 要方法是从右向左,依次取数x的各位数字,分别计算出该数从右边数起的 (i-1) 第i位数字与k 的积,再将其累加,直到所有的数字取完为止。例如,将 五进制数1231转换成十进制数的方法如下: 下列Visual Basic程序的功能是将K进制(k<=10)数x转换成十进制数。界面 如图所示,在文本框Text1中输入数制k,在文本框Text2中输入数x,单击" 转换"按钮(Command1)后,在标签Label4中输出转换的结果。

解决此问题的算法流程图如图所示,相应的Visual Basic程序如下: Private Sub Command1_Click() Dim b As Long, i As Integer, k As Integer, x As Long, t As Integer b = 0: i = 1 k = Val(Text1.Text) x = Val(Text2.Text) t = x Mod 10 Do While ① b = ② x = x \ 10 t = x Mod 10

第 64 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 i = i + 1 Loop Label4.Caption = Str(k) + "进制数" + Text2.text + "转换成十制数为" + Str(b) End Sub (1)解决此问题所用的算法是________________。 (选填:解析法 或 枚 举法) 在程序①和②划线处,填入适当的语句或表达式,把程序补充完整: (2)程序中①划线处应填入___________________。 (3)程序中②划线处应填入___________________。

9. 学校"电脑周"活动已经结束, 林敏在班里举行了一个"我最关注的竞赛项 目"的投票活动,她设计了一个Visual Basic程序,把所有同学的投票情况 输入到电脑里, 先将各项目得票数和项目名分别保存在数组a和数组b中, 第 i个项目的得票数保存在a(i)中,对应的项目名保存在b(i)中。

第 65 页

浙鳌中学·2012 年信息技术学科会考理论复习资料

程序界面如图所示,左边列表框List1中显示同学评选的原始数据,单击" 得票统计"按钮(Command1),所有得票数从高到低显示在列表框List2中。 解决此问题的算法流程图如图所示,排序部分的程序段如下: Dim a(1 To n) As Single Dim b(1 To n) As String Private Sub Command1_Click() Dim i As Integer, j As Integer, k As Integer, x As Single, y As String For i = 1 To n-1 ' 假设共有n个竞 赛项目 k = i For j = i + 1 To n If a(k) < a(j) Then ① Next j If k <> i Then x = a(i) a(i) = a(k) a(k) = x y = b(i) b(i) = b(k) b(k) = y ② Next i For i = 1 To n List2.AddItem Str(a(i)) + " " + b(i) Next i End Sub Private Sub Form_Load() ' 此过程用于对数组a和数组b进行初始赋值,代码略 End Sub (1) 解决此问题用的算法是________________。 (选填: 选择排序 或 冒

第 66 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 泡排序) 在程序①和②划线处,填入适当的语句或表达式,把程序补充完整: (2)程序中①划线处应填入_______________。 (3)程序中②划线处应填入_______________。 10. 普源为晚上的班级联欢会设计了一个抽奖程序, 将所有同学的编号和对 应的姓名分别保存在数组a(全班共50个同学,编号为1到50)和数组b中, 程序会随机产生一个1到50的正整数(同时包括1和50),作为中奖编号。

程序界面如图所示, 左边列表框List1中显示同学的编号和姓名, 单击"抽奖 "按钮(Command1),在标签Label3中显示抽中的编号,同时在标签Label4 中显示"恭喜***同学",其中具体同学的姓名从数组b中获取。 解决此问题的程序段如下: Dim a(1 To 50) As Integer Dim b(1 To 50) As String Function search(m As Integer) As Integer search = 0 For i = 1 To 50 If m = a(i) Then search = a(i) End If Next i End Function Private Sub Command1_Click() Dim c As Integer,t as integer Randomize ① Label3.Caption = Str(c) t = search(c) If t <> 0 Then Label4.Caption = "恭喜" + ② + "同学" End If

第 67 页

浙鳌中学·2012 年信息技术学科会考理论复习资料 End Sub Private Sub Form_Load() ' 此过程用于对数组a和数组b进行初始赋值,代码略 End Sub (1) 函数search中所用的算法是______________。 (选填: 顺序查找 或 对 分查找) 在程序①和②划线处,填入适当的语句或表达式,把程序补充完整: (2)程序中①划线处应填入___________________。 (3)程序中②划线处应填入___________________。

第 68 页


更多相关文档:

算法与程序填空题

算法与程序填空题 高一信息会考、有用的高一信息会考、有用的隐藏>> 一套1.有如下Visual Basic程序段: i=6 i=i+1 j=2*i-1 该程序段运行后,变量j的值...

算法与程序填空题

浙鳌中学·2012 年信息技术学科会考理论复习资料 算法与程序设计填空题顺序结构赋值语句: 2008年真题: 1.有如下Visual Basic程序段: i=6 i=i+1 j=2*i-1 ...

算法与程序设计填空题10套

算法与程序设计填空题10套_计算机软件及应用_IT/计算机_专业资料。第一套 1. 有如下程序段: x=5 y=6 p=Not(x+y=11) 该程序段运行后,P 的值是 (1)...

《算法与程序框图》测试题

算法与程序框图》测试题_高二数学_数学_高中教育_教育专区。《算法与程序框图...二、填空题 13.阅读如图所示的程序框图,运行相应的程序,输出的结果是___. 解析...

算法练习题-分章节-带答案

想通过程序设计解决“韩信点兵”的问题,他制定的如下工作 过程中,更恰当的是(...cg(n) < f(n) }; 二、填空题 1、算法的性质包括输入、输出、 、 、有限...

算法与程序框图练习题及答案

1.1 m,则不需买票;若身高超过 1.1 m 但不超过 1.4 m,则需买半票;若 身高超过 1.4 m,则需买全票.试设计一个买票的算法,并画出相应的程序框图及程序。...

算法程序框图 练习题

算法程序框图 练习题_IT认证_资格考试/认证_教育专区。算法 程序框图 练习题注意...卷的文字说明 评卷人 得分 二、填空题(题型注释) 21.按右边程序框图运算:若...

基本算法语句练习题(有答案)

基本算法语句练习题 基本算法语句练习题 练习 1.下列语言中,哪一个是输入语句 A.PRINT B.INPUT 2.右边程序的输出结果为 A. 3,4 C. 7,8 () X=3 Y=4...

算法与程序设计复习测试题

高二年级算法与程序设计复习检测一、 选择题:每题 2 分,30 题,共 60 分 1...填空题 1.算法 三、判断题 1 × 2 √ 3 × 4 × 5 × 6 √ 7 × ...

第7章算法程序与计算系统之灵魂练习题答案解析

第7章算法程序与计算系统之灵魂练习题答案解析_理学_高等教育_教育专区。第 7 章 算法:程序与计算系统之灵魂 1、算法就是一个有穷规则的集合,其中之规则规定了...
更多相关标签:
算法填空题 | 算法填空题 技巧 | vb程序填空题 | vb程序填空题题库 | java程序填空题 | c语言程序填空题 | java程序填空题及答案 | 程序填空题 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com