高中计算机会考题档次到档次习题及答案.docx
《高中计算机会考题档次到档次习题及答案.docx》由会员分享,可在线阅读,更多相关《高中计算机会考题档次到档次习题及答案.docx(23页珍藏版)》请在冰豆网上搜索。
![高中计算机会考题档次到档次习题及答案.docx](https://file1.bdocx.com/fileroot1/2023-1/23/2a74a8d2-218e-4151-bcae-1e2e948e8657/2a74a8d2-218e-4151-bcae-1e2e948e86571.gif)
高中计算机会考题档次到档次习题及答案
VisaulBasic程序设计(编程题)
A类题
说明:
A类题以顺序结构的解析算法为主,解决学生在数学、物理和生活中遇到的简单计算问题。
用到的控件有:
标签框、文本框、命令按钮等。
A01、制作一个加法器,在文本框中输入两个数值后,单击“计算”按钮可以计算出两数之和并显示在标签中;
单击“清除”按钮可以清除各项数值。
PrivateSubCommand1_Click()
a=Val
b=Val
=a+b
EndSub
PrivateSubCommand2_Click()
=""
=""
=""
EndSub
A02、已知y=x3+|x-10|+4,编程求y的值。
要求:
在文本框中输入x的值,单击“计算”
按钮后在“y”框中显示y的值;单击“退出”按钮退出程序。
PrivateSubCommand1_Click()
X=Val
=x^3+Abs(x-10)+4
EndSub
PrivateSubCommand2_Click()
End
EndSub
A03、编程实现:
在“半径”框中输入圆的半径,单击“确定”按钮时,“周长”、“面积”框中显示圆的周长
和面积。
PrivateSubCommand1_Click()
r=val
=2**r
=*r*r
EndSub
A04、编程计算圆锥的体积。
要求:
输入圆锥的半径与高度,单击“计算”按钮可以计算出圆锥的体积并显示
出来;单击“清除”按钮可以清除各项数值。
提示:
V=
πhr2,π取
PrivateSubCommand1_Click()
r=Val
h=Val
=1/3**h*r^2
EndSub
PrivateSubCommand2_Click()
=""
=""
=""
EndSub
A05、华氏温度(F)与摄氏温度(C)之间的转换关系为:
。
编程实现:
若用户在文本框中输入一个摄氏温度,单击“转换”按钮可以换算成华氏温度,并显示出来;单击“清除”
按钮可以清除各温度值。
PrivateSubCommand1_Click()
C=Val
=9/5*c+32
EndSub
PrivateSubCommand2_Click()
=""
=""
EndSub
A06、求并联电阻R的值。
要求:
在两个文本框中分别输入电阻R1、R2的值,单击“计算”按钮在“R”
框中显示并联电阻R的值;单击“清除”按钮清除数据;单击“退出”按钮退出程序。
(提示:
)
PrivateSubCommand1_Click()
r1=val
r2=val
=r1*r2/(r1+r2)
EndSub
PrivateSubCommand2_Click()
=""
=""
=""
EndSub
A07、一个物体从一座塔高为h(米)的塔顶上自由落下,求落地所需的时间t(秒)。
要求:
在文本框中输入塔高h,单击“计算”按钮,在“时间”框中显示落地所需时间t的值;单击“退出”
按钮退出程序(提示:
,其中g=)。
PrivateSubCommand1_Click()
h=val
=sqr(2*h/
EndSub
PrivateSubCommand2_Click()
end
EndSub
A08、一架雪橇沿一斜坡滑下,它在时间t(秒)滑下的距离s(米)由以下公式给出:
s=10t+2t2。
编程实现:
若用户在文本框中输入一个时间值,单击“计算”按钮可以计算出下滑的距离,并将其显示出来;
单击“刷新”按钮可以清除各项数值。
PrivateSubCommand1_Click()
t=val
=10*t+2*t*t
EndSub
PrivateSubCommand1_Click()
=""
=""
EndSub
A09、编程完成美元兑换人民币的计算,假设美元兑换人民币,100美元=620人民币,输入美元数,输出兑换的人民币数。
B类题
说明:
B类题以选择结构为主,并涉及平方根,绝对值等函数的应用。
B01、在文本框中任意输入两个数,单击“比较”按钮后,将其中的最大值显示在下方标签中;单击“清除”
按钮清除各项数值。
PrivateSubCommand1_Click()
a=Val
b=Val
Ifa>bThen
=a
Else
=b
EndIf
EndSub
PrivateSubCommand2_Click()
=""
=""
=""
EndSub
B02、买水果。
10斤以上(含10斤)每斤3元,10斤以下每斤元。
用户输入购买的斤数,单击“计算”
按钮显示总价钱;单击“清除”按钮清除各项数值;单击“结束”按钮结束程序。
PrivateSubCommand1_Click()
x=Val
Ifx>=10Then
=x*3
Else
=x*
EndIf
EndSub
PrivateSubCommand2_Click()
=""
=""
EndSub
PrivateSubCommand3_Click()
End
EndSub
B03、由铁路托运行李,从甲地到乙地,行李不超过50kg时,运费为
元/kg,如果超过50kg,超过部分的运费为元/kg。
请编写程序,当输入行李重量后,
单击“计算”按钮计算运费,单击“清除”按钮可以清除各项数值。
PrivateSubCommand1_Click()
w=Val
Ifw<=50Then
a=*w
else
a=50*+(w-50)*2
endif
=a
EndSub
PrivateSubCommand2_Click()
=""
=""
EndSub
B04、输入a,b的值,当a×b>0时计算表达式y=
的值,否则弹出消息“wrong”。
PrivateSubCommand1_Click()
a=val
b=val
ifa*b>0then
=(a+b)/sqr(4*a*b)
else
=“wrong”
endif
EndSub
PrivateSubCommand2_Click()
=""
=""
=""
EndSub
B05、输入a,b,c三个数,若b2-4ac?
0则显示“有实根”,否则显示“无实根”。
PrivateSubCommand1_Click()
a=val
b=val
c=val
ifb*b-4*a*c>=0then
=“有实根”
else
=“无实根”
endif
EndSub
PrivateSubCommand2_Click()
=""
=""
=""
=""
EndSub
B06、由键盘输入三条边ABC,判断是否构成三角形,构成三角形的显示“此三边能构成三角形”,否则显示
“此三边不能构成三角形”。
(构成三角形的条件为:
任意两边之和大于第三边,任意两边之差小于第三边。
)
PrivateSubCommand1_Click()
a=val
b=val
c=val
ifa+b>canda+c>bandb+c>athen
=“此三边能构成三角形”
else
=“此三边不能构成三角形”
endif
EndSub
PrivateSubCommand2_Click()
End
EndSub
B07任意输入一个数,若这个数大于零则输出这个数的平方根,若这个数小于或等于零则输出这个数的绝对值。
PrivateSubCommand1_Click()
a=Val
Ifa>0Then=Sqr(a)Else=Abs(a)
EndSub
PrivateSubCommand2_Click()
End
EndSub
C类题
说明:
C类题以循环结构的应用为主,并涉及累加、累乘、随机函数、分离数字、判断整除的应用等。
C01、在[1~1000]区间中的所有整数中,分别计算能被3整除的数的个数及能被7整除的数的个数,
结果显示如题所示。
要求:
必须使用循环语句实现。
PrivateSubCommand1_Click()
s1=0
s2=0
Fori=1To1000Step1
Ifimod3=0Thens1=s1+1
Ifimod7=0Thens2=s2+1
Nexti
=s1
=s2
EndSub
PrivateSubCommand2_Click()
End
EndSub
C02、输出所有的水仙花数。
即水仙花数是三位数,并且满足每位数字立方之和等于这个数。
如:
153=1^3+5^3+3^3(用循环完成)
PrivateSubCommand1_Click()
Cls
Fori=100To999
a=i\100
b=i\10mod10
c=imod10
Ifi=a*a*a+b*b*b+c*c*cThenPrinti
Nexti
EndSub
PrivateSubCommand2_Click()
End
EndSub
C03、求1到1000之间的偶数和、奇数和
PrivateSubCommand1_Click()
s1=0
s2=0
Fori=1To1000
IfiMod2=0Then
s1=s1+i
Else
s2=s2+i
EndIf
Nexti
=s1
=s2
EndSub
PrivateSubCommand2_Click()
End
EndSub
C04、编程计算S=1+2+3+4+……N,找一个最大整数,使得S<30000
PrivateSubCommand1_Click()
s=0
n=0
DoWhiles<30000
n=n+1
s=s+n
Loop
=n-1
=s-n
EndSub
PrivateSubCommand2_Click()
End
EndSub
C05、求N!
=1*2*3*…*N,N值由键盘输入(N应在5---10之间,否则输出“N值不符合要求”)。
PrivateSubCommand1_Click()
n=val(InputBox("n="))
Ifn>=5andn<=10Then
s=1
Fori=1Ton
s=s*i
Nexti
Print"1*2*3*......*";n;"=";s
Else
Print“N值不符合要求”
Endif
EndSub
PrivateSubCommand2_Click()
End
EndSub
C06、单击窗体时生成20个[0,9]范围内的随机整数,在窗体上显示出其中大于5的随机整数。
PrivateSubForm_Click()
Cls
RandomizeTimer
Fori=1To20
x=Fix(Rnd*10)
Ifx>5ThenPrintx
Nexti
EndSub
C07生成10个[10,99]范围内的随机整数,显示并求平均值。
PrivateSubCommand1_Click()
RandomizeTimer
Cls
Fori=1To10
x=Fix(Rnd*90)+10
Printx,
IfiMod5=0ThenPrint
s=s+x
Nexti
Print"平均值为:
";s/10
EndSub
PrivateSubCommand3_Click()
End
EndSub
C08计算1*2+2*3+3*4+……+9*10的值
PrivateSubCommand1_Click()
s=0
Fori=1To9
s=s+i*(i+1)
Nexti
=s
EndSub
PrivateSubCommand2_Click()
End
EndSub
C09本金1万元,年利率%,利滚利(即每年结息后,将利息转成本金继续存入)几年后本利可达到
2万元
1年的本利值=本利金+本利金×年利率
PrivateSubCommand1_Click()
s=1
Dowhiles<2
d=d+1
s=s+s*
Loop
=d
EndSub
PrivateSubCommand2_Click()
End
EndSub
D类题(综合应用)
D01、编程实现:
单击“计算”按钮,求100个两位数的随机整数之和,并显示出来。
单击“清除”按钮,
清除相应数据。
要求必须使用循环语句实现。
PrivateSubCommand1_Click()
Fori=1To100
a=Fix(Rnd*90)+10
s=s+a
Nexti
=s
EndSub
PrivateSubCommand2_Click()
Label2=""
EndSub
D02、点击窗体输出九九乘法表
PrivateSubForm_Click()
Print"九九乘法表"
Fora=1To9
Forb=1Toa
Printa;"*";b;"=";a*b;
Nextb
Print
Nexta
EndSub
D03、点击窗体打印如下图形:
PrivateSubForm_Click()
Fori=1To5
PrintTab(6-i);
Forj=1To2*i-1
Print"*";
Nextj
Print
Nexti
EndSub
D04、有一数学灯谜,求A、B、C、D(其中A、B、C、D都为一位数字)的值
PrivateSubCommand1_Click()
ForA=1To9
ForB=0To9
ForC=1To9
ForD=0To9
If(1000*A+100*B+10*C+D)-(100*C+10*D+C)=(100*A+10*B+C)Thenprinta;b;c;d
NextD,C,B,A
EndSub
PrivateSubCommand2_Click()
End
EndSub
D05、产生10个两位的随机整数并打印输出,点击“排序”按钮将它们按从小到大的顺序排序并在下一行
打印输出。
点击“结束”按钮退出程序。
PrivateSubCommand1_Click()
Cls
Dima(10)
RandomizeTimer
Fori=1To10
a(i)=Fix(Rnd*90)+10
Printa(i);
Nexti
Fori=1To9
Forj=i+1To10
Ifa(j)a(j)=a(i):
a(i)=t
Nextj
Nexti
Print
Fori=1To10
Printa(i);
Nexti
EndSub
PrivateSubCommand2_Click()
End
EndSub
D06、36块砖,36人搬。
男搬4,女搬3,两个小孩抬一块砖。
要求一次全搬完。
问需男、女、小孩各若干
PrivateSubForm_Click()
Cls
Print"男","女","小孩"
Fori=0To9
Forj=0To12
m=36-i-j
If4*i+3*j+m/2=36ThenPrinti,j,m
Nextj
Nexti
EndSub
D07、我国古代数学家张丘建在《算经》中出了一道“百钱百鸡”题,题意是:
公鸡五元一只,母鸡三元一只,
小鸡一元三只。
用100元钱买100只鸡,问公、母、小鸡各买多少只编程输出所有满足
PrivateSubForm_Click()
Print"公鸡","母鸡","小鸡"
Forx=0To20
Fory=0To33
z=100-x-y
If5*x+3*y+z/3=100ThenPrintx,y,z
Nexty
Nextx
EndSub
D08、有一道写于纸上的数学题被雨水淋湿,其中有两个数字已模糊不清(3□+42)×6=47□你能找出
这两个数吗
PrivateSubForm_Click()
Cls
Fora=0To9
Forb=0To9
If(30+a+42)*6=(470+b)ThenPrinta;"";b
Nextb
Nexta
EndSub
D09、有一数列的前四项是:
3,9,27,81….请找出数列的规律,打印输出这个数列的前10项,并计算该数列前10项的和。
(请用数组完成)
PrivateSubForm_Click()
Cls
Dima(1To10)AsLong
a
(1)=3
S=a
(1)
Printa
(1)
Fori=2To10
a(i)=a(i-1)*3
S=S+a(i)
Printa(i)
Nexti
Print"总和=";S
EndSub
D10、显示出100-200以内的所有素数。
PrivateSubForm_Click()
Cls
Fori=100To200
Forj=2Toi-1
IfiModj=0Thens=1
Nextj
Ifs=0ThenPrinti;
s=0
Nexti
EndSub
D11、2---1000以内的完全数(因子之和等于它本身的数为完全数),例:
6=1+2+3,28=1+2+4+7+14,
那么6和28是完全数。
PrivateSubForm_Click()
Cls
Fori=2To1000
Forj=1Toi-1
IfiModj=0Thens=s+j
Nextj
Ifs=iThenPrinti
s=0
Nexti
EndSub