第03部分上机编程题及答案.docx
- 文档编号:14411093
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:32
- 大小:268.48KB
第03部分上机编程题及答案.docx
《第03部分上机编程题及答案.docx》由会员分享,可在线阅读,更多相关《第03部分上机编程题及答案.docx(32页珍藏版)》请在冰点文库上搜索。
第03部分上机编程题及答案
第三部分VisaulBasic程序设计(编程题)—2008年
A类(每题8分)
说明:
A类题以顺序结构的解析算法为主,解决学生在数学、物理和生活中遇到的简单计算问题。
用到的控件有:
标签框、文本框、滚动条、命令按钮等。
Command1
Text1
A01、制作一个加法器,在文本框中输入两个数值后,单击“计算”按钮可以计算出两数之和并显示在标签中;单击“清除”按钮可以清除各项数值。
PrivateSubCommand1_Click()
a=Val(Text1.Text)
Label1
b=Val(Text2.Text)
Label2
Label4.Caption=a+b
EndSub
Label3
PrivateSubCommand2_Click()
Text2
Label4
Text1.Text=""
Command2
Text2.Text=""
Label4.Caption=""
EndSub
A02、编一个计算水果价钱的程序。
在文本框中输入水果的购买量(单位:
kg),单击“一级”按钮,按2.5元/kg计价,并在价钱框中显示出价钱;单击“二级”按钮,按2元/kg计价,并在价钱框中显示出价钱。
单击“清除”按钮,清除各框中的数据;单击“退出”按钮,退出程序。
Option1
Text1
privateSubCommand1_Click()
Label3.Caption=""
Label1
Text1.Text=""
EndSub
PrivateSubCommand2_Click()
Label3
End
EndSub
Option2
Command2
Command1
PrivateSubOption1_Click()
Label3.Caption=Val(Text1.Text)*2.5
EndSub
PrivateSubOption2_Click()
Label3.Caption=Val(Text1.Text)*2
EndSub
Label2
A03、已知y=x3+|x-10|+4,编程求y的值。
要求:
在文本框中输入x的值,单击“计算”按钮后在“y”框中显示y的值;单击“退出”按钮退出程序。
Label2
PrivateSubCommand1_Click()
X=Val(Text1.Text)
Label1
Label3.Caption=x^3+Abs(x-10)+4
EndSub
PrivateSubCommand2_Click()
End
EndSub
A04、编程实现:
在“半径”框中输入圆的半径,单击“确定”按钮时,“周长”、“面积”框中显示圆的周长和面积。
PrivateSubCommand1_Click()
r=val(text1.text)
Label3.caption=2*3.14*r
Label5.caption=3.14*r*r
EndSub
A05、编程计算圆锥的体积。
要求:
输入圆锥的半径与高度,单击“计算”按钮可以计算出圆锥的体积并显示出来;单击“清除”按钮可以清除各项数值。
提示:
V=
πhr2,π取3.14
PrivateSubCommand1_Click()
r=Val(Text1.Text)
h=Val(Text2.Text)
Label4.Caption=1/3*3.14*h*r^2
EndSub
PrivateSubCommand2_Click()
Label4.Caption=""
Text2.Text=""
Text1.Text=""
EndSub
A06、华氏温度(F)与摄氏温度(C)之间的转换关系为:
。
编程实现:
若用户在文本框中输入一个摄氏温度,单击“转换”按钮可以换算成华氏温度,并显示出来;单击“清除”按钮可以清除各温度值。
PrivateSubCommand1_Click()
Label3.Caption=9/5*Val(Text1.Text)+32
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Label3.Caption=""
EndSub
A07、某市近20年的生产总值情况如下:
第1年是1000亿元,以后平均每年以5%的速度增长,通过滚动条求各年份该市生产总值是多少?
提示:
某年生产总值=
提示:
必须设置HScroll1的Max属性为20,Mix属性为1
PrivateSubHScroll1_Change()
Label2.Caption=HScroll1.Value
Label4.Caption=1000*(1+0.05)^(HScroll1.Value-1)
EndSub
A08、求并联电阻R的值。
要求:
在两个文本框中分别输入电阻R1、R2的值,单击“计算”按钮在“R”框中显示并联电阻R的值;单击“清除”按钮清除数据;单击“退出”按钮退出程序。
(提示:
)
PrivateSubCommand1_Click()
r1=val(text1.text)
r2=val(text1.text)
Label4.caption=r1*r2/(r1+r2)
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Label4.Caption=""
EndSub
A09、一个物体从一座塔高为h(米)的塔顶上自由落下,求落地所需的时间t(秒)。
要求:
在文本框中输入塔高h,单击“计算”按钮,在“时间”框中显示落地所需时间t的值;单击“退出”按
钮退出程序。
(提示:
,其中g=9.8)。
PrivateSubCommand1_Click()
h=val(text1.text)
Label3.caption=sqr(2*h/9.8)
EndSub
PrivateSubCommand2_Click()
end
EndSub
A10、一架雪橇沿一斜坡滑下,它在时间t(秒)滑下的距离s(米)由以下公式给出:
s=10t+2t2。
编程实现:
若用户在文本框中输入一个时间值,单击“计算”按钮可以计算出下滑的距离,并将其显示出来;单击“刷新”按钮可以清除各项数值。
PrivateSubCommand1_Click()
t=val(text1.text)
Label3.caption=10*t+2*t*t
EndSub
PrivateSubCommand1_Click()
text1.text=""
Label3.caption=""
EndSub
B类(每题8分)
说明:
B类题以画图语句的应用、简单动画效果、随机函数、截断函数、时间函数及逻辑运算的简单应用为主。
用到的控件还有:
命令按钮、图片框、滚动条、计时器等。
B01、编程实现:
在文本框中输入文字,单击“粗体”、“下划线”复选钮可以选择或取消粗体、下划线。
PrivateSubCheck1_Click()
Text1.FontBold=NotText1.FontBold
EndSub
PrivateSubCheck2_Click()
Text1.FontUnderline=NotText1.FontUnderline
EndSub
B02、编程实现:
程序运行后,窗体背景色每隔0.1秒自动改变一次,颜色随机;单击“结束”按钮,结束程序。
PrivateSubTimer1_Timer()
Randomize
Form1.BackColor=RGB(fix(Rnd*256),fix(Rnd*256),fix(Rnd*256))
EndSub
切记:
Timer1的Interval设为100
PrivateSubCommand2_Click()
End
EndSub
B03、制作一个“改变窗口背景色”程序。
要求:
单击“变色”按钮,窗口背景色随机改变一次;单击“结束”按钮,结束程序。
PrivateSubCommand1_Click()
Randomize
Form1.BackColor=RGB(fix(Rnd*256),fix(Rnd*256),fix(Rnd*256))
EndSub
PrivateSubCommand2_Click()
End
EndSub
B04、编程实现:
程序运行后,在图片上每单击一次,图片在窗体中的位置就随机变化一次。
PrivateSubCommand1_Click()
End
EndSub
PrivateSubImage1_Click()
Randomize
Image1.Left=Fix(Rnd*Form1.Width)
Image1.top=Fix(Rnd*Form1.Height)
EndSub
B05、编一个移动图片程序,每间隔0.1秒使图片从窗口左边向右边水平移动100个单位。
PrivateSubTimer1_Timer()
Image1.Left=Image1.Left+100
EndSub切记:
Timer1的Interval设为100
B06、单击“开始”按钮后,一只小鸟每隔0.5秒钟在窗体范围内随机移动一次,“单击“停止”按钮可以停止移动。
PrivateSubTimer1_Timer()
Randomize
Image1.Left=Fix(Rnd*Form1.Width)
Image1.top=Fix(Rnd*Form1.Height)
EndSub
PrivateSubCommand1_Click()
Timer1.Enabled=True
EndSub
PrivateSubCommand2_Click()切记:
Timer1的Interval设为500.Timer1的Enabled
Timer1.Enabled=False在属性窗口设为False
EndSub
B06、编程实现:
程序运行后,单击“变大”按钮,图片尺寸变大;单击“变小”按钮,图片变小
PrivateSubCommand1_Click()
Image1.Height=Image1.Height+300
Image1.Width=Image1.Width+300
EndSub
PrivateSubCommand2_Click()
Image1.Height=Image1.Height-300
Image1.Width=Image1.Width-300
EndSub
B07、制作一个图片显示器,程序运行界面如图所示。
要求:
程序运行开始,屏幕出现“显示/隐藏”按钮和“退出”按钮。
单击“显示/隐藏”按钮窗体中显示或隐藏图片,单击“退出”按钮结束程序。
PrivateSubCommand1_Click()
Image1.Visible=notImage1.Visible
EndSub
PrivateSubCommand2_Click()
end
EndSub
B08、制作一个拖动水平滚动条设置年龄的程序,如图所示。
要求:
程序运行开始,年龄框为空;当拖动水平滚动条时,年龄框中显示水平滚动条当前值。
提示:
必须设置HScroll1的Max属性为18,Mix属性为10
PrivateSubHScroll1_Change()
Label2.Caption=HScroll1.Value
EndSub
PrivateSubCommand1_Click()
end
EndSub
B09、编程实现:
用垂直滚动条表示字号大小(1-48,单位:
磅),通过拖动滑块改变文本框中文字的大小,并通过恰当的控件显示出字号。
提示:
必须设置HScroll1的Max属性为48,Mix属性为1
PrivateSubHScroll1_Change()
Text1.FontSize=HScroll1.Value
Label2.caption=HScroll1.Value
EndSub
B10、制作一个能够显示当前系统日期和时间的程序。
要求:
单击“日期”按钮显示当前系统日期;单击“时间”按钮显示当前系统时间;单击“退出”按钮退出程序;窗体的背景色为黄色;标签背景为透明,显示的文字为蓝色,字号为“二号”字。
PrivateSubCommand1_Click()
Label1.caption=date
EndSub
PrivateSubCommand2_Click()
Label1.caption=time
EndSub
B11、在窗体的任意位置单击鼠标左键时,连接鼠标所在位置与点(500,500)画一条颜色随机的线段。
PrivateSubForm_MouseDown()
Line(500,500)-(x,y),RGB(fix(Rnd*256),fix(Rnd*256),fix(Rnd*256))
EndSub
B12、在窗体的任意位置单击鼠标左键时,在窗体上以(800,200)为左上角,以鼠标单击位置为右下角,画一个颜色随机的矩形。
PrivateSubForm_MouseDown()
Line(800,200)-(x,y),RGB(fix(Rnd*256),fix(Rnd*256),fix(Rnd*256)),b
EndSub
B13、在窗体中任意移动鼠标时,在鼠标所在位置画一个半径为500的绿色圆。
PrivateSubForm_MouseMove()
circle(x,y),500,vbgreen
EndSub
B14、在窗口任意位置单击鼠标时,在单击处画出一个半径随机(50≤半径≤500缇)、颜色随机的圆。
PrivateSubForm_MouseMove()
randomize
r=fix(rnd*451)+50
circle(x,y),r,RGB(fix(Rnd*256),fix(Rnd*256),fix(Rnd*256))
EndSub
B15、编程实现:
在窗体中每隔0.1秒钟随机画出一颗颜色随机的星星,画笔的宽度为5。
PrivateSubTimer1_Timer()
Randomize
Drawwidth=5
x=Fix(Rnd*Form1.Width)
y=Fix(Rnd*Form1.Height)
Pset(x,y),RGB(fix(Rnd*256),fix(Rnd*256),fix(Rnd*256))
EndSub
B16、制作一个蝴蝶一边舞动翅膀一边向前飞的动画。
PrivateSubTimer1_Timer()
Image3.Visible=NotImage3.Visible
Image2.Left=Image2.Left+500
Image3.Left=Image2.Left
EndSub
C类(每题10分)
说明:
C类题以选择结构、循环结构的应用为主,并涉及累加、累乘、函数的应用等。
C01、在文本框中任意输入两个数,单击“比较”按钮后,将其中的最大值显示在下方标签中;单击“清除”按钮清除各项数值。
PrivateSubCommand1_Click()
a=Val(Text1.Text)
b=Val(Text2.Text)
Ifa>bThen
Label4.Caption=a
Else
Label4.Caption=b
EndIf
EndSub
PrivateSubCommand2_Click()
Label4.Caption=""
Text1.Text=""
Text2.Text=""
EndSub
C02、卖葡萄。
10斤以上(含10斤)每斤3元,10斤以下每斤3.5元。
用户输入购买的斤数,单击“计算”按钮显示总价钱;单击“清除”按钮清除各项数值;单击“结束”按钮结束程序。
PrivateSubCommand1_Click()
x=Val(Text1.Text)
Ifx>=10Then
s=x*3
Label3.Caption=s
Else
s=x*3.5
Label3.Caption=s
EndIf
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Label3.Caption=""
EndSub
PrivateSubCommand3_Click()
End
EndSub
C03、设计一个密码判断程序。
要求:
用户输入密码时,输入的密码在文本框中以“*”的形式显示,用“确定”按钮核实密码是否正确,并弹出一个信息框告知结果;用“取消”按钮放弃用户输入的密码。
提示:
密码值可定为“123456”,为了简单起见,设定的密码值可以直接出现在程序代码中。
PrivateSubCommand1_Click()
x=Val(Text1.Text)
Ifx="123456"Then
Msgbox"密码正确"
Else
Msgbox"密码错误"
EndIf
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
EndSub
提示:
要修改Text1的PassWord属性为*
C04、一只小鸟从窗体的左边向右移动。
当小鸟的位置到达窗体右边时,小鸟停止移动;单击“重新开始”按钮,小鸟直接回到初始位置然后再向右移动。
PrivateSubCommand1_Click()
Image1.Left=0
EndSub
PrivateSubTimer1_Timer()
IfImage1.Left>=Form1.Width-Image1.WidthThen
Image1.Left=Image1.Left
Else
Image1.Left=Image1.Left+100
EndIf
EndSub
C05、在窗体中画图,单击鼠标左键,画一个颜色随机的圆,圆心为鼠标点击的位置,半径为500;单击鼠标右键画一个正方形,正方形的中心点为鼠标点击的位置,边长为800,颜色随机;画图前先清除窗体中的图形。
提示:
按下鼠标左键时button=1;按下鼠标右键时button=2
PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Randomize
IfButton=1Then
Cls
Circle(X,Y),500,RGB(fix(Rnd*256),fix(Rnd*256),fix(Rnd*256))
Else
Cls
Line(X-400,Y-400)-(X+400,Y+400),RGB(fix(Rnd*256),fix(Rnd*256),fix(Rnd*256)),B
EndIf
EndSub
C06、制作一个画同心圆的程序,每隔0.5秒钟在窗体中央画20个颜色随机的同心圆(两圆间距为50),当有鼠标按下时结束程序。
PrivateSubTimer1_Timer()
Cls
Randomize
X=Form1.Width/2
Y=Form1.Height/2
Fori=1To20
r=r+50
Randomize
Circle(X,Y),r,RGB(fix(Rnd*256),fix(Rnd*256),fix(Rnd*256))
Nexti
EndSub
C07、在窗体上单击鼠标,画出200个颜色随机的星星(画笔的宽度为5),画图前先清除窗体中的图形。
PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAs
Single,YAsSingle)
Cls
Randomize
Drawwidth=5
Fori=1To200
X=Fix(Rnd*Form1.width)
Y=Fix(Rnd*Form1.height)
Pset(X,Y),RGB(fix(Rnd*256),fix(Rnd*256),fix(Rnd*256))
Nexti
EndSub
C08、如图所示,编程求1*2*3*…*X(1≤X≤20)。
X的值由水平滚动条的当前值所确定。
移动水平滚动条可以改变X的值,累乘结果显示在“结果”框中。
提示:
必须设置HScroll1的Max属性为20,Mix属性为1
PrivateSubHScroll1_Change()
s=1
x=HScroll1.Value
Fori=1Tox
s=s*i
Nexti
Label5.Caption=s
Label4.Caption=x
EndSub
C09、编程求累加1+2+3……+X(1≤X≤100)。
X的值由水平滚动条的当前值所确定。
移动水平滚动条可以改变X的值,累加结果显示在“结果”框中。
提示:
必须设置HScroll1的Max属性为100,Mix属性为1
PrivateSubHScroll1_Change()
s=0
x=HScroll1.Value
Fori=1Tox
s=s+i
Nexti
Label5.Caption=s
Label4.Caption=x
EndSub
C10、编一个“幸运开奖”程序。
单击“开始”按钮时,屏幕滚动产生五个幸运号码[0,9],单击“停止”按钮后,得到最后的幸运号码。
PrivateSubTimer1_Timer()
Randomize
Label2.Caption=Fix(Rnd*10)
Label3.Caption=Fix(Rnd*10)
Label4.Caption=Fix(Rnd*10)
Label5.Caption=Fix(Rnd*10)
Label6.Caption=Fix(Rnd*10)
EndSub
PrivateSubCommand1_Cl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 部分 上机 编程 答案
![提示](https://static.bingdoc.com/images/bang_tan.gif)