收藏 分销(赏)

第03部分上机编程题.doc

上传人:xrp****65 文档编号:7035668 上传时间:2024-12-25 格式:DOC 页数:32 大小:914.50KB
下载 相关 举报
第03部分上机编程题.doc_第1页
第1页 / 共32页
第03部分上机编程题.doc_第2页
第2页 / 共32页
点击查看更多>>
资源描述
第三部分 Visaul Basic程序设计(编程题) A类 说明:A类题以顺序结构的解析算法为主,解决学生在数学、物理和生活中遇到的简单计算问题。用到的控件有:标签框、文本框、滚动条、命令按钮等。 A01、制作一个加法器,在文本框中输入两个数值后,单击“计算”按钮可以计算出两数之和并显示在标签中;单击“清除”按钮可以清除各项数值。 Private Sub Command1_Click() a = Val(Text1.Text) b = Val(Text2.Text) Label4.Caption = a + b End Sub Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Label4.Caption = "" End Sub A02、编一个计算水果价钱的程序。在文本框中输入水果的购买量(单位:kg),单击“一级”按钮,按2.5元/kg计价,并在价钱框中显示出价钱;单击“二级”按钮,按2元/kg计价,并在价钱框中显示出价钱。单击“清除”按钮,清除各框中的数据;单击“退出”按钮,退出程序。 private Sub Command1_Click() Label3.Caption = "" Text1.Text = "" End Sub Private Sub Command2_Click() End End Sub Private Sub Option1_Click() Label3.Caption = Val(Text1.Text) * 2.5 End Sub Private Sub Option2_Click() Label3.Caption = Val(Text1.Text) * 2 End Sub A03、已知y= x3+|x-10|+4, 编程求y的值 。要求:在文本框中输入x的值,单击“计算”按钮后在“y”框中显示y的值;单击“退出”按钮退出程序。 Private Sub Command1_Click() X= Val(Text1.Text) Label3.Caption = x ^ 3 + Abs(x - 10) + 4 End Sub Private Sub Command2_Click() End End Sub A04、编程实现:在“半径”框中输入圆的半径,单击“确定”按钮时,“周长”、“面积”框中显示圆的周长和面积。 Private Sub Command1_Click() r=val(text1.text) Label3.caption=2*3.14*r Label5.caption=3.14*r*r End Sub A05、编程计算圆锥的体积。要求:输入圆锥的半径与高度,单击“计算”按钮可以计算出圆锥的体积并显示出来;单击“清除”按钮可以清除各项数值。 提示:V =πhr2 ,π取3.14 Private Sub Command1_Click() r= Val(Text1.Text) h= Val(Text2.Text) Label4.Caption = 1 / 3 * 3.14 * h * r ^ 2 End Sub Private Sub Command2_Click() Label4.Caption = "" Text2.Text = "" Text1.Text = "" End Sub A06、华氏温度(F)与摄氏温度(C)之间的转换关系为: 。编程实现:若用户在文本框中输入一个摄氏温度,单击“转换”按钮可以换算成华氏温度,并显示出来;单击“清除”按钮可以清除各温度值。 Private Sub Command1_Click() Label3.Caption = 9 / 5 * Val(Text1.Text) + 32 End Sub Private Sub Command2_Click() Text1.Text = "" Label3.Caption = "" End Sub A07、某市近20年的生产总值情况如下:第1年是1000亿元,以后平均每年以5%的速度增长,通过滚动条求各年份该市生产总值是多少? 提示:某年生产总值= 提示:必须设置HScroll1的Max属性为20,Mix属性为1 Private Sub HScroll1_Change () Label2.Caption = HScroll1.Value Label4.Caption = 1000 * (1 + 0.05) ^ (HScroll1.Value - 1) End Sub A08、求并联电阻R的值。要求:在两个文本框中分别输入电阻R1、R2的值,单击“计算”按钮在“R”框中显示并联电阻R的值;单击“清除”按钮清除数据;单击“退出”按钮退出程序。 (提示:) Private Sub Command1_Click() r1=val(text1.text) r2=val(text2.text) Label4.caption=r1*r2/(r1+r2) End Sub Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Label4.Caption = "" End Sub A09、一个物体从一座塔高为h(米)的塔顶上自由落下,求落地所需的时间t(秒)。要求:在文本框中输入塔高h,单击“计算”按钮,在“时间”框中显示落地所需时间t的值;单击“退出”按钮退出程序。 (提示: ,其中g=9.8 )。 Private Sub Command1_Click() h=val(text1.text) Label3.caption=sqr(2*h/9.8) End Sub Private Sub Command2_Click() end End Sub A10、一架雪橇沿一斜坡滑下,它在时间t(秒)滑下的距离s(米)由以下公式给出:s=10t+2t2。编程实现:若用户在文本框中输入一个时间值,单击“计算”按钮可以计算出下滑的距离,并将其显示出来;单击“刷新”按钮可以清除各项数值。 Private Sub Command1_Click() t=val(text1.text) Label3.caption=10*t+2*t*t End Sub Private Sub Command1_Click() text1.text= "" Label3.caption= "" End Sub B类 说明:B类题以画图语句的应用、简单动画效果、随机函数、截断函数、时间函数及逻辑运算的简单应用为主。用到的控件还有:命令按钮、图片框、滚动条、计时器等。 B01、编程实现:在文本框中输入文字,单击“粗体”、“下划线”复选钮可以选择或取消粗体、下划线。 Private Sub Check1_Click() Text1.FontBold = Not Text1.FontBold End Sub Private Sub Check2_Click() Text1.FontUnderline = Not Text1.FontUnderline End Sub B02、编程实现:程序运行后,窗体背景色每隔0.1秒自动改变一次,颜色随机;单击“结束”按钮,结束程序。 Private Sub Timer1_Timer() Randomize r= Fix(Rnd * 256) g= Fix(Rnd * 256) b= Fix(Rnd * 256) Form1.BackColor = RGB(r,g,b) End Sub 切记:Timer1的Interval设为100 Private Sub Command2_Click() End End Sub B03、制作一个“改变窗口背景色”程序。要求:单击“变色”按钮,窗口背景色随机改变一次;单击“结束”按钮,结束程序。 Private Sub Command1_Click() Randomize r= Fix(Rnd * 256) g= Fix(Rnd * 256) b= Fix(Rnd * 256) Form1.BackColor = RGB(r,g b) End Sub Private Sub Command2_Click() End End Sub B04、编程实现:程序运行后,在图片上每单击一次,图片在窗体中的位置就随机变化一次。 Private Sub Command1_Click() End End Sub Private Sub Image1_Click() Randomize Image1.Left = Fix(Rnd * Form1.Width) Image1.top = Fix(Rnd * Form1.Height) End Sub B05、编一个移动图片程序,每间隔0.1秒使图片从窗口左边向右边水平移动100个单位。 Private Sub Timer1_Timer() Image1.Left = Image1.Left+100 End Sub 切记:Timer1的Interval设为100 B06、单击“开始”按钮后,一只小鸟每隔0.5秒钟在窗体范围内随机移动一次,“单击“停止”按钮可以停止移动。 Private Sub Timer1_Timer() Randomize Image1.Left = Fix(Rnd * Form1.Width) Image1.top = Fix(Rnd * Form1.Height) End Sub Private Sub Command1_Click() Timer1.Enabled=True End Sub Private Sub Command2_Click() 切记:Timer1的Interval设为500, Timer1的Enabled Timer1.Enabled=False 在属性窗口设为False End Sub B06、编程实现:程序运行后,单击“变大”按钮,图片尺寸变大;单击“变小”按钮,图片变小 Private Sub Command1_Click() Image1.Height = Image1.Height +300 Image1.Width = Image1.Width +300 End Sub Private Sub Command2_Click() Image1.Height = Image1.Height -300 Image1.Width = Image1.Width -300 End Sub B07、制作一个图片显示器,程序运行界面如图所示。要求:程序运行开始,屏幕出现“显示/隐藏”按钮和“退出”按钮。单击“显示/隐藏”按钮窗体中显示或隐藏图片,单击“退出”按钮结束程序。 Private Sub Command1_Click() Image1.Visible = not Image1.Visible End Sub Private Sub Command2_Click() end End Sub B08、制作一个拖动水平滚动条设置年龄的程序,如图所示。要求:程序运行开始,年龄框为空;当拖动水平滚动条时,年龄框中显示水平滚动条当前值。 提示:必须设置HScroll1的Max属性为18,Mix属性为10 Private Sub HScroll1_Change() Label2.Caption = HScroll1.Value End Sub Private Sub Command1_Click() end End Sub B09、编程实现:用垂直滚动条表示字号大小(1-48,单位:磅),通过拖动滑块改变文本框中文字的大小,并通过恰当的控件显示出字号。 提示:必须设置HScroll1的Max属性为48,Mix属性为1 Private Sub HScroll1_Change() Text1.FontSize = HScroll1.Value Label2.caption= HScroll1.Value End Sub B10、制作一个能够显示当前系统日期和时间的程序。要求:单击“日期”按钮显示当前系统日期;单击“时间”按钮显示当前系统时间;单击“退出”按钮退出程序;窗体的背景色为黄色;标签背景为透明,显示的文字为蓝色,字号为“二号”字。 Private Sub Command1_Click() Label1.caption=date End Sub Private Sub Command2_Click() Label1.caption=time End Sub B11、在窗体的任意位置单击鼠标左键时,连接鼠标所在位置与点(500,500)画一条颜色随机的线段。 Private Sub Form_MouseDown( ) r= Fix(Rnd * 256) g= Fix(Rnd * 256) b= Fix(Rnd * 256) Line (500,500)-(x,y), RGB(r,g,b) End Sub B12、在窗体的任意位置单击鼠标左键时,在窗体上以(800,200)为左上角,以鼠标单击位置为右下角,画一个颜色随机的矩形。 Private Sub Form_MouseDown( ) r = Fix(Rnd * 256) g = Fix(Rnd * 256) B = Fix(Rnd * 256) Line (800, 200)-(X, Y), RGB(r, g, B), B End Sub B13、在窗体中任意移动鼠标时,在鼠标所在位置画一个半径为500的绿色圆。 Private Sub Form_MouseMove( ) circle(x,y),500,RGB(0,255,0) End Sub B14、在窗口任意位置单击鼠标时,在单击处画出一个半径随机(50≤半径≤500缇)、颜色随机的圆。 Private Sub Form_MouseMove( ) randomize r=fix(rnd*451)+50 circle(x,y),r, RGB(fix(Rnd * 256),fix(Rnd * 256), fix(Rnd * 256)) End Sub B15、编程实现:在窗体中每隔0.1秒钟随机画出一颗颜色随机的星星,画笔的宽度为5。 Private Sub Timer1_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)) End Sub B16、制作一个蝴蝶一边舞动翅膀一边向前飞的动画。 Private Sub Timer1_Timer() Image3.Visible = Not Image3.Visible Image2.Left = Image2.Left + 500 Image3.Left = Image2.Left End Sub C类 说明:C类题以选择结构、循环结构的应用为主,并涉及累加、累乘、函数的应用等。 C01、在文本框中任意输入两个数,单击“比较”按钮后,将其中的最大值显示在下方标签中;单击“清除”按钮清除各项数值。 Private Sub Command1_Click() a = Val(Text1.Text) b = Val(Text2.Text) If a > b Then Label4.Caption = a Else Label4.Caption = b End If End Sub Private Sub Command2_Click() Label4.Caption = "" Text1.Text = "" Text2.Text = "" End Sub C02、卖葡萄。10斤以上(含10斤)每斤3元,10斤以下每斤3.5元。用户输入购买的斤数,单击“计算”按钮显示总价钱;单击“清除”按钮清除各项数值;单击“结束”按钮结束程序。 Private Sub Command1_Click() x = Val(Text1.Text) If x >= 10 Then s = x * 3 Label3.Caption = s Else s = x * 3.5 Label3.Caption = s End If End Sub Private Sub Command2_Click() Text1.Text = "" Label3.Caption = "" End Sub Private Sub Command3_Click() End End Sub C03、设计一个密码判断程序。要求:用户输入密码时,输入的密码在文本框中以“*”的形式显示,用“确定”按钮核实密码是否正确,并弹出一个信息框告知结果;用“取消”按钮放弃用户输入的密码。提示:密码值可定为“123456”,为了简单起见,设定的密码值可以直接出现在程序代码中。 Private Sub Command1_Click() x = Val(Text1.Text) If x= "123456" Then Msgbox "密码正确" Else Msgbox "密码错误" End If End Sub Private Sub Command2_Click() Text1.Text = "" End Sub 提示:要修改Text1的PassWord属性为* C04、一只小鸟从窗体的左边向右移动。当小鸟的位置到达窗体右边时,小鸟停止移动;单击“重新开始”按钮,小鸟直接回到初始位置然后再向右移动。 Private Sub Command1_Click() Image1.Left = 0 End Sub Private Sub Timer1_Timer() If Image1.Left >= Form1.Width - Image1.Width Then Image1.Left = Image1.Left Else Image1.Left = Image1.Left+100 End If End Sub C05、在窗体中画图,单击鼠标左键,画一个颜色随机的圆,圆心为鼠标点击的位置,半径为500;单击鼠标右键画一个正方形,正方形的中心点为鼠标点击的位置,边长为800,颜色随机;画图前先清除窗体中的图形。 Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Randomize If Button = 1 Then Cls Randomize r=Fix(Rnd*256) g=Fix(Rnd*256) b=Fix(Rnd*256) Circle (X, Y), 500, RGB(r,g,b) Else Cls 提示:按下鼠标左键时button=1;按下鼠标右键时button=2 Line (X-400, Y-400)-(X+400,Y+400), RGB(r,g,b), B End If End Sub C06、制作一个画同心圆的程序,每隔0.5秒钟在窗体中央画20个颜色随机的同心圆(两圆间距为50),当有鼠标按下时结束程序。 Private Sub Timer1_Timer() Cls Randomize X = Form1. Width / 2 Y = Form1. Height / 2 For i = 1 To 20 a = a + 50 Randomize r=Fix(Rnd*256) g=Fix(Rnd*256) b=Fix(Rnd*256) Circle (X, Y), a, RGB(r,g,b) Next i End Sub C07、在窗体上单击鼠标,画出200个颜色随机的星星(画笔的宽度为5),画图前先清除窗体中的图形。 Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Cls Drawwidth=5 For i = 1 To 200 X= Fix(Rnd*Form1.width) Y= Fix(Rnd*Form1.height) Randomize r=Fix(Rnd*256) g=Fix(Rnd*256) b=Fix(Rnd*256) Pset(X,Y),RGB(r,g,b) Next i End Sub C08、如图所示,编程求1*2*3*…*X (1≤X≤20)。X的值由水平滚动条的当前值所确定。移动水平滚动条可以改变X的值,累乘结果显示在“结果”框中。 提示:必须设置HScroll1的Max属性为20,Mix属性为1 Private Sub HScroll1_Change() s = 1 x = HScroll1.Value For i = 1 To x s = s * i Next i Label5.Caption = s Label4.Caption = x End Sub C09、编程求累加1+2+3……+X (1≤X≤100)。X的值由水平滚动条的当前值所确定。移动水平滚动条可以改变X的值,累加结果显示在“结果”框中。 提示:必须设置HScroll1的Max属性为100,Mix属性为1 Private Sub HScroll1_Change() s=0 x = HScroll1.Value For i = 1 To x s = s + i Next i Label5.Caption = s Label4.Caption = x End Sub C10、编一个“幸运开奖”程序。单击“开始”按钮时,屏幕滚动产生五个幸运号码[0,9],单击“停止”按钮后,得到最后的幸运号码。 Private Sub Timer1_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) End Sub Private Sub Command1_Click() Timer1.Enabled=True End Sub Private Sub Command2_Click() 切记:Timer1的Interval设为500. Timer1的Enabled Timer1.Enabled=False 在属性窗口设为False End Sub C11、编一个“不好点的按钮”程序,程序运行后,一个“单击我!”的按钮在屏幕上随机出现。用鼠标单击该按钮,每击中一次计10分,屏幕上显示出得分。如图所示。 Dim s, x As Integer Private Sub Command1_Click() s = s + 1 Label2.Caption = s x = x + 10 Label4.Caption = x End Sub Private Sub Timer1_Timer() Randomize Command1.Left = Fix(Rnd * Form1.Width) Command1.Top = Fix(Rnd * Form1.Top) End Sub C12、输入a, b的值 , 当a×b>0时计算表达式y=的值,否则弹出消息“wrong”。 Private Sub Command1_Click() a=val(text1.text) b=val(text2.text) if a*b>0 then label4.caption=(a+b)/sqr(4*a*b) else msgbox “wrong” end if End Sub Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" label4.caption= "" End Sub D类 说明:D类题涉及三种程序结构的综合应用,并涉及函数及函数画图的应用等。 D01、在窗体的恰当位置单击,画出six(x)在[0,2π]区间的图像。画笔的宽度为1,图形的放大系数定为400倍;画图前先清除窗体中的图形。 Private Sub Form_MouseDown( ) Cls For x0 = 0 To 2 * 3.14 Step 0.1 y0 = sin(x0) PSet (X + x0* 300, Y – y0 * 300) Next x0 End Sub D02、画出一质点自由下落的轨迹。要求:质点下落的起始位置为鼠标单击处,共画10个点,g取10m/s2;画笔的宽度即DrawWidth属性值设为4,并将图形的放大系数定为5倍;画图前先清除窗体中的图形。提示:y= Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Cls For i = 1 To 10 Y = Y + 5*10*i*i/2 PSet (X, Y) Next i End Sub D03、在[1~1000]区间中的所有整数中,分别计算能被3整除的数的个数及能被7整除的数的个数,结果显示如题所示。要求:必须使用循环语句实现。 Private Sub Command1_Click() For i = 1 To 1000 If i/3=fix(i/3) then s=s+1 If i/7=fix(i/7) then x=x+1 Next i Label3.Caption = s Label4.Caption = x End Sub D04、画10个颜色随机的同心圆,相邻两个同心圆的半径之差为100;圆心位置由用户在窗体上单击鼠标确定,并将该位置坐标在窗体中显示出来。 Private Sub Form_MouseDown( ) For i = 1 To 10 a = a + 100 Randomize r = Fix(Rnd * 256) g = Fix(Rnd * 256) b = Fix(Rnd * 256) Circle (X, Y), a, RGB(r,g,b) Next i Label2.Caption = X Label4.Caption = Y End Sub D5、画颜色随机、边长为200的正方形,正方形的中心位置由用户在窗体上单击鼠标确定,并在窗体中将所画正方形的个数显示出来;所画正方形不超过10个,当达到10个时结束程序的运行。 Dim s As Integer Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If s = 10 Then End Else Randomize r = Fix(Rnd * 256) g = Fix(Rnd * 256) b = Fix(Rnd * 256) Line(X-100,Y-100)-(X+100,Y+100), RGB(r,g,b),B s = s + 1 Label2.Caption = s End If End Sub D06、编程实现:单击“计算”按钮,求100个两位数的随机整数之和,并显示出来。单击“清除”按钮,清除相应数据。要求必须使用循环语句实现。 Private Sub Command1_Cl ick() s = 0 For i = 1 To 100 randomize s = s + (Fix(Rnd * 90) + 10) Next i Label2.Caption = s End Sub D07、设计一个可以随机出题的减法练习器。要求:随机产生的两个整数各不超过20,并确保两个数中较大的一个作被减数;单击“判断”按钮可以判断用户计算是否正确;如果用户计算正确,在积分栏加10分,反之减10分;单击“清除”按钮可以清除相应各项数据。 Dim a, b, s As Integer Private Sub Command1_Click() Randomize a = Fix(Rnd * 21) b = Fix(Rnd * 21) If a>b then Label1.Caption = a Label3.Caption = b Else Label1.Caption = b Label3.Caption = a End if Text1.SetFocus End Sub Private Sub Command2_Click() x = Val(Text1.Text) If x = a - b Then s = s + 10 Label6.Caption = s Else s = s - 10 Label6.Caption = s End If Text1.Text = "" End Sub Private Sub Command3_Click() Label1.Caption = "" Label3.Caption = "" Text1.Text = "" End Sub D08、程序开始运行时,系统产生[0,3]之间的随机数,用户输入所猜数字,如果猜对了,在“得分”框中加10分;反之,在“得分”框减去10分。单击“下一个”按钮产生一个新的随机数。 Dim x,s As Integer Private Sub Form_Load() Randomize x = Fix(Rnd * 4) End Sub Private Sub Command1_Click() If Text1.Text= x Then s = s + 10 Else s = s - 10 End If Label3.Caption = s Text1.Text=”” End Sub Private Sub Command2_Click() Randomize x = Fix(Rnd * 4) End Sub D09、单击“计算”按钮,将结果显示在下面的标签中;单击“退出”按钮退出程序。 Private Sub Command1_Click() n = Val(Text1.Text) S = 0 For i = 1 To n S = S + 1 / 2 ^( i-1) Next i Label2.Caption = S End Sub 32
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服