b Then Label1.Caption = "a"/>

2009年会考-算法与程序设计试题(十套附答案)

2011-07-22 24页 doc 269KB 33阅读

用户头像

is_178946

暂无简介

举报
2009年会考-算法与程序设计试题(十套附答案)第一套 2009年6月高中信息技术会考 算法与程序设计题(第一套) 四、程序设计题(本题有4小题,第1-3小题,每小题4分,第4小题6分,共18分) 1. 有如下Visual Basic程序段: m = "VB" n = "is" t = "easy" t = m + n + t=" VBiseasy" 该程序段运行后,变量t的值为_____"VBiseasy"______。 2. 有如下Visual Basic程序段: a = 23 b = 34 If a > b Then Label1.Caption = "a>b" El...
2009年会考-算法与程序设计试题(十套附答案)
第一套 2009年6月高中信息技术会考 算法与程序设计题(第一套) 四、程序设计题(本题有4小题,第1-3小题,每小题4分,第4小题6分,共18分) 1. 有如下Visual Basic程序段: m = "VB" n = "is" t = "easy" t = m + n + t=" VBiseasy" 该程序段运行后,变量t的值为_____"VBiseasy"______。 2. 有如下Visual Basic程序段: a = 23 b = 34 If a > b Then Label1.Caption = "a>b" Else Label1.Caption ="a<=b" // 如果Label1.Caption =a<=b  显示的是true End If 该程序段运行后,在标签Label1上显示的是____ a<=b ________。 3.以下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 =s+ i * 3 i = i + 1=101 Loop Text1.Text = Str(s) i=100 End Sub 问: (1)刚退出循环时,变量i的值是_____101_______。 (2)为了实现上述表达式的计算,程序中划线处的表达式应更正为_____s+i*3_______。 4.某市出租车计费规定:出租车启动后行程不超过3千米(包含3千米)计费5元;如果行程超过3千米且不超过10千米(包含10千米),则超过3千米部分按1.5元/千米计费(3千米及以内部分计费仍为5元);若行程超过10千米,则在前面计费基础上,超出10千米部分按1.8元/千米计费。 假定某出租车行程为x千米,计费标准如下: 当x≤3千米时,计费为5元; 当310千米时,计费为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 程序中①划线处应填入_____x<=3______________ 程序中②划线处应填入______Label3.Caption_____________ 图VB-1 2009年6月高中信息技术会考 算法与程序设计题(第二套) 四、程序设计题(本题有4小题,第1-3小题,每小题4分,第4小题6分,共18分) 1. 有如下Visual Basic程序段: a = 12 b = 32 c = a=12 c = c + b=12+32=44 该程序段运行后,变量c的值为______44______。 2. 有如下Visual Basic程序段: x = 12 If x <= 10 Then s = 8 Else s = x=12 End If 该程序段运行后,变量s的值为____12________。 3.以下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)为了实现这一目标,程序划线处的表达式应更正为_____i*3_______。 (2)运行更正后的程序,循环刚退出时变量i的值为____6561_______。 4.将一个十进制正整数转化为二进制数可以采用“除二取余法”,主要方法就是将十进制数用2除,保存所得余数,然后将商的整数部分作为下次运算的被除数,重复上述“除二取余”操作,直到商的整数部分为零停止。 程序界面如图VB-1所示,在文本框Text1中输入一个正整数,单击“开始转换”按钮(Command1)后,对应的二进制数在标签Label3中显示出来。 解决此问题的算法流程图如图VB-2所示,相应的Visual Basic程序如下,在程序①和②划线处,填入适当的语句或表达式,把程序补充完整。 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 程序中①划线处应填入_____x=val(text1.text)______________ 程序中②划线处应填入______int(x/2) 或 x\2_____________ 图VB-1 2009年6月高中信息技术会考 算法与程序设计题(第三套) 四、程序设计题(本题有4小题,第1-3小题,每小题4分,第4小题6分,共18分) 1. 有如下Visual Basic程序段: m = 8 n = 5 t = m + n t = t - n 该程序段运行后,变量t的值为____8________。 2. 有如下Visual Basic程序段: x = 5001 s = 1 If x > 5000 Then s = s + 1 Label1.Caption = Str(s) 该程序段运行后,在标签Label1上显示的是_____2_______。 3. 有如下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)的值为___8_________。 (2)循环刚退出时,变量i的值为____102________。 4.在某学校里,每位同学都会得到一张一卡通卡,一卡通的卡号是唯一的,卡内会记录每位同学的姓名、住址、班级、金额等信息。每当同学刷卡时,卡号就被输入电脑,然后进行查找,如果找到就显示姓名,否则显示“查无此人”。下列程序的功能是根据卡号查找对应的姓名,程序中数组a保存所有已发放一卡通的卡号,数组b保存卡号对应的姓名,第i位同学的卡号保存在a(i)中,姓名保存在b(i)中。 程序界面如图VB-1所示,左边列表框列出所有同学的卡号和姓名,在右边文本框Text1中输入卡号,单击“开始查询”按钮(Command1),程序就按卡号进行查找,如果找到就在标签Label3中输出卡号对应同学的姓名,否则就输出“查无此人”。 解决此问题的算法流程图如图VB-2所示,相应的程序如下,在程序①和②划线处,填入适当的语句或表达式,把程序补充完整。 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 程序中①划线处应填入____Text1.text_______________ 程序中②划线处应填入________s=b(i)___________ 图VB-1 图VB-2 2009年6月高中信息技术会考 算法与程序设计题(第四套) 四、程序设计题(本题有4小题,第1-3小题,每小题4分,第4小题6分,共18分) 1. 有如下Visual Basic程序段: i = 3 j = i + i k = j + j 该程序段运行后,变量k的值为_____12_______。 2. 有如下Visual Basic程序段: x = 0.51 If x >= 0.5 Then s = 1 Else s = 0 End If Label1.Caption = Str(s) 该程序段运行后,在标签Label1上显示的是___1_________。 3.有如下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”一共执行的次数为__10__________。 (2)该程序段运行后,变量s的值为_______10_____。 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) 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 程序中①划线处应填入_______j____________ 程序中②划线处应填入______k<>i_____________ 图VB-1 图VB-2 2009年6月高中信息技术会考 算法与程序设计题(第五套) 四、程序设计题(本题有4小题,第1-3小题,每小题4分,第4小题6分,共18分) 1. 有如下Visual Basic程序段: a = 18: b = 12 c = (a - b) * 2 该程序段运行后,变量c的值为______12______。 2. 有如下Visual Basic程序段: x = 10 If x > 10 Then Label1.Caption = "你可以继续使用" Else Label1.Caption = "余额不足" End If 该程序段运行后,在标签Label1上显示的是____余额不足________。 3.有如下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的值为___42_________。 (2)循环刚退出时,变量i的值为______12______。 4.超市进货时会将每个商品的条形码和价格输入计算机,并对所有商品按照条形码排序(从小到大),顾客付款时只要把条形码输入电脑,电脑即可根据条形码找到该商品并显示对应的价格。下列程序的功能是根据条形码查找对应商品的价格,所有商品的条形码和价格分别保存在数组a和b中(并且已经按照条形码从小到大排序),第i个商品的条形码保存在a(i)中,对应的价格保存在b(i)中,变量f是标志变量,如果值为True则说明找到了商品,若为False则说明没有找到。 程序界面如图VB-1所示,在文本框Text1中输入商品的条形码,单击“开始查找”按钮(Command1)后,对应商品的价格在标签Label4中显示出来,如果未找到则显示“找不到该商品,请重新输入条形码”。 解决此问题的算法流程图如图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 程序中①划线处应填入_____a(m)=x______________ 程序中②划线处应填入____j=m-1_______________ 图VB-1 图VB-2 2009年6月高中信息技术会考 算法与程序设计题(第六套) 四、程序设计题(本题有4小题,第1-3小题,每小题4分,第4小题6分,共18分) 1. 有如下Visual Basic程序段: m = 10 n = m * 2 t = m * n 该程序段运行后,变量t的值为_______200_____。 2. 有如下Visual Basic程序段: s = 65 If s >= 60 Then Label1.Caption = "P" Else Label1.Caption = "E" End If 该程序段运行后,在标签Label1上显示的是_____ P _______。 3. 以下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的值是_______101_____。 (2)为了实现上述表达式的计算,程序中划线处的表达式应更正为____ i*t_________。 4.COD(化学需氧量)是衡量水质污染程度的重要指标之一,污水处理时根据污水的COD指标来计算COD去除剂的投放量。 程序界面如图VB-1所示,在文本框Text1中输入COD指标,单击“计算投放量”按钮(Command1)后,程序根据COD指标计算出合适的COD去除剂投放量,并在标签Label3中输出计算结果。 污水处理厂根据COD指标投放COD去除剂的标准如下表所示: 当前COD指标x 根据COD指标应投放COD去除剂的剂量 x<50 10 x≥50 并且 x≤500 x>500 图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 程序中①划线处应填入____x<50_______________ 程序中②划线处应填入_____1.2*x/5______________ 2009年6月高中信息技术会考 算法与程序设计题(第七套) 四、程序设计题(本题有4小题,第1-3小题,每小题4分,第4小题6分,共18分) 1. 有如下Visual Basic程序段: a = 1024: i = 2 b = a / i c = b / i 该程序段运行后,变量c的值为_____256_______。 2. 有如下Visual Basic程序段: a = 5: b = 4: c = 7 s = a + b If s > c Then Label1.Caption = "初检合格" Else Label1.Caption = "重新调试" End If 该程序段运行后,在标签Label1上显示的是_____初检合格_______。 3.有如下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的值为____11________。 (2)程序运行后,语句“s=s+1”被执行的次数为____10________。 4.某网站组织了100个商品进行网络人气调查,投票结束后,要选出得票数最高的前10个商品。下列程序的功能是根据商品已有得票数,选出得票数最高的10个商品。商品的代号和得票数分别保存在数组a和b中,第i个商品的代号保存在a(i)中,对应的得票数保存在b(i)中。 程序界面如图VB-1所示,左边列表框List1中显示的是所有商品的代号和得票数(按代号从小到大排列),单击“开始统计”按钮(Command1)后,在右边的列表框List2中显示得票数最高的10个商品的代号和得票数(按照得票数从高到低的顺序显示)。 解决此问题的算法流程图如图VB-2所示,相应的程序如下,在程序①和②划线处填入适当的语句或表达式,将程序补充完整。 图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 程序中①划线处应填入________-1___________ 程序中②划线处应填入__a(j-1)=a(j)_________________ 图VB-2 2009年6月高中信息技术会考 算法与程序设计题(第八套) 四、程序设计题(本题有4小题,第1-3小题,每小题4分,第4小题6分,共18分) 1. 有如下Visual Basic程序段: i = 7: j = 3 k = i * j - j 该程序段运行后,变量k的值为______18______。 2. 有如下Visual Basic程序段: x = 90 If x > 90 Then Label1.Caption = "声音超标" Else Label1.Caption = "合格" End If 该程序段运行后,在标签Label1上显示的是_______合格_____。 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 的值为_____33_______。 (2)程序运行后,语句“t = t * 2”被执行的次数为_____5_______。 4.交通违章查询。在违章查询系统中输入车主的汽车车牌号,查询系统就会按照车牌号查找所有的违章记录。下列程序的功能是根据车牌号查找该车的违章信息,数组a和b分别保存所有违章汽车的车牌号和违章原因,第i条信息的车牌号保存在a(i)中,对应的违章原因保存在b(i)中。 程序界面如图VB-1所示,在文本框Text1中输入车牌号,单击“开始查找”按钮(Command1),电脑就开始查找该汽车所有的违章记录,如果找到对应的信息,就统计所有违章次数并在标签Label3中显示违章总次数,同时在列表框List1中显示所有违章的原因,如果没有找到,则在列表框中显示“没有任何违章记录”。 解决此问题的算法流程图如图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 程序中①划线处应填入______Text1.text_____________ 程序中②划线处应填入__________s=0_________ 图VB-1 图VB-2 2009年6月高中信息技术会考 算法与程序设计题(第九套) 四、程序设计题(本题有4小题,第1-3小题,每小题4分,第4小题6分,共18分) 1. 有如下Visual Basic程序段: a = "Test" b = "is" c = "easy" c = a + b + c 该程序段运行后,变量c的值为___"Testiseasy" _________。 2. 有如下Visual Basic程序段: x = 36: y = 27 If x / 3 > y / 3 Then Label1.Caption = "x>y" Else Label1.Caption = "x<=y" End If 该程序段运行后,在标签Label1上显示的是___ x>y _________。 3.有如下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的值为_____11_______。 (2)该程序段运行后,变量m的值为_____90_______。 4.团体总分统计。下列程序的功能是根据输入的班级编号,统计该班的团体总分。每个运动员的编号、所属班级编号、得分情况分别保存在数组a、b、c中,a(i)保存第i位运动员的编号,b(i)保存第i位运动员所属班级编号,c(i)保存第i位运动员得分。 程序界面如图VB-1所示,在文本框Text1中输入班级编号,单击“开始统计”按钮(Command1),程序统计该班的团体总分并在文本框Text2中显示。 解决此问题的算法流程图如图VB-2所示,相应的程序如下,程序中变量n表示总的运动员人数,在程序①和②划线处,填入适当的语句或表达式,把程序补充完整。 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 程序中①划线处应填入___x=b(i)________________ 程序中②划线处应填入____end if_______________ 图VB-1 图VB-2 2009年6月高中信息技术会考 算法与程序设计题(第十套) 四、程序设计题(本题有4小题,第1-3小题,每小题4分,第4小题6分,共18分) 1. 有如下Visual Basic程序段: a = 10: b = 8: c = 2 d = b * b - 4 * a * c 该程序段运行后,变量d的值为_____-16_______。 2. 有如下Visual Basic程序段: x = 13 If x < 7 Then s = "油量不足" Else s = "继续行驶" End If Label1.Caption =s 该程序段运行后,在标签Label1上显示的是____继续行驶________。 3.有如下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的值为____30________。 (2)程序运行后,刚退出循环时变量i的值为_____13_______。 4.猜密码。电脑产生一个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 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 程序中①划线处应填入______s=s+1_____________ 程序中②划线处应填入_______s=0____________ 图VB-1 图VB-2
/
本文档为【2009年会考-算法与程序设计试题(十套附答案)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索