2010年会考试题—程序填空题答案及解释

2026/1/25 1:30:48

第一套

1. 有如下Visual Basic程序段:

a = 12: b = 20

b = a + b + 28 b=12+20+28=60 a = b + a – 5 a=60+12-5=67 b = a + b b=67+60=127

该程序段运行后,变量b的值为 127 。 2. 有如下Visual Basic程序段: a = 5

b = Len(\b=字符串“1011”的长度4 If a > b Then 5>4=true 执行then后的语句 Label1.Caption = \请重新输入\Else

Label1.Caption = \欢迎光临\End If

该程序段运行后,在标签Label1上显示的是___请重新输入_________。

3. 以下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 a(i)=i*i所以a(5)=5*5=25 s = s + a(i) Next i

_____= str(s) s的值在文本框text1的text属性中输出即text1.text=str(s) End Sub 问: (1)为了计算上述表达式的值,上面程序段划线处应填入__text1.text_______。 (2)该程序段运行后,a(5)的值是____25________。 4. 用辗转相除法求最大公约数。

已知用辗转相除法求两个正整数m、n的最大公约数的算法如下:(用num1,num2,r分别表示被除数m、除数n和余数) ①求num1/num2的余数r;

②若r=0,则执行第⑤步;即r=0时跳出循环,所以r<>0时执行循环 ③将num2的值放在num1中,将r的值放在num2中; ④重新执行第①步; ⑤输出最大公约数num2。 下列Visual Basic程序用于求三个正整数的最大公约数。程序界面如图所示,在文本框Text1、Text2和Text3中分别输入三个数a、b和c,单击\求最大公约数\按钮(Command1)后,在文本框Text4中输出a、b、c的最大公约数y。

Function temp(num1 as Integer, num2 as Integer) as Integer

Dim r as Integer ' 此函数用于计算两个正整数的最大公约数 r = num1 Mod num2

Do While ① 即r=0时跳出循环,所以r<>0时执行循环 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)

本题是求3个数的最大公约数,temp函数的作b = Val(Text2.Text)

用是输入2个数返回这2个数的最大公约数,所c = Val(Text3.Text)

以要先求出a,b的最大公约数x,可以调用tempx = ②

函数求x即x=temp(a,b),再求出x和c的最大y = temp(x, c)

公约数即②划线处的下个语句y = temp(x, Text4.Text = Str(y)

c) End Sub

(1)解决此问题的算法是 。 (选填:解析法 或 枚举法) 在程序①和②划线处,填入适当的语句或表达式,把程序补充完整: (2)程序中①划线处应填入___________________。 (3)程序中②划线处应填入___________________。

第二套

1.有如下Visual Basic程序段: m = -5 n = -2

s = m + Int(n) s=-5+(-2)=-7

该程序段运行后,变量s的值为____________。 2. 有如下Visual Basic程序段: a = 10 b = 8

If a > b Then 10>8=true,执行then后面的语句,所以Label1上显示的是morning Label1.Caption = \Else

Label1.Caption = \End If

该程序段运行后,在标签Label1上显示的是____________。 3. 有如下Visual Basic程序段: 变量i是循环变量,程序运行后i的值与循环变量的初值,s = 0

终值和步长值有关,但可以肯定的是必须超过终值才能结a = 5

束循环从而结束程序,比如本题i的初值是1步长值是2,For i = 1 To 10 Step 2

那么i的变化是每次循环都加2,(1,3,5,7,9)i=9是最后 a = a + i

一次循环,因为i=9之后执行next i,相当于i=i+步长值 s = a * i

即i=9+2=11,这时候在回到for语句去判断i=11已经超过Next i

它的终值10,故循环结束,所以i的值最终等于11. 问:该程序段运行后,

s的值等于a*i,a和i的值在循环过程中不断的在变化,所以s的值也(1)变量i的值是___________。 ,但是程序运行后s的值是指最后一遍循环即i=9的时(2)变量s的值是___________。是不断在变化 候a*i的值,a=a+i所以a是一个累加值,就是把每次循环时i的值累

加起来(1,3,5,7,9)再加上a的初值5,a=1+3+5+7+9+5=30,

所以最终s=30*9=270

4. 某超市打折促销,规定如下: ①购物未超过500元按原价支付;

②购物超过500元但未超过1000元,超过500元部分按9折优惠计价; ③购物超过1000元但未超过1500元,超过1000元部分按8折优惠计价; ④购物超过1500元但未超过3000元,超过1500元部分按7折优惠计价; ⑤购物超过3000元,超过3000元部分按6折优惠计价。 根据以上规定,假定购物货款为x元,则实付金额y为:

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

本题中没有循环结构所以一定是解析算法,(枚举算法中一定有循环结构,但是有循环结构的不一定是枚举算法,要注意), ①划线处应该填的是y = 500 + (x - 500) * 0.9的判断条件,从题目中看是500<,但是在填空处只需填写x<=1000,因为在if语句中else和elseif的意思是否则和否则如果,也就是把已经判断过的情 况排除掉了,在本题中在elseif之前有if x <= 500 then 这个语句,也就是把解决此问题相应的Visual Basic程序如下:

x <= 500的情况排除了,那么剩下的就Private Sub Command1_Click()

都是大于500了,所以不需要判断x是Dim x As Single, y As Single

否大于500. x = Val(orgtext.Text)

②划线处位于程序结束之前,一般考虑 If x <= 500 Then

是最终结果的输出,本题中通过if结构 y = x

算出y后根据题目的意思应该把y的值 ElseIf ① Then

在文本框cashText中输出,由于y的值 y = 500 + (x - 500) * 0.9

是单精度实数型,在输出时要加上str ElseIf x <= 1500 Then

y = 500 + 500 * 0.9 + (x - 1000) * 0.8 函数使得=两边类型匹配。cashtext.text=str(y) 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 End If

② End Sub

(1)解决此问题的算法是_______________。 (选填:解析法 或 枚举法) 在程序①和②划线处,填入适当的语句或表达式,把程序补充完整。 (2)程序中①划线处应填入_______________。 (3)程序中②划线处应填入_______________。


2010年会考试题—程序填空题答案及解释.doc 将本文的Word文档下载到电脑
搜索更多关于: 2010年会考试题—程序填空题答案及解释 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219