总复习编程题答案.doc_第1页
总复习编程题答案.doc_第2页
总复习编程题答案.doc_第3页
总复习编程题答案.doc_第4页
总复习编程题答案.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三部分 Visaul Basic程序设计(编程题)2008年A类(每题8分)说明:A类题以顺序结构的解析算法为主,解决学生在数学、物理和生活中遇到的简单计算问题。用到的控件有:标签框、文本框、滚动条、命令按钮等。A01、制作一个加法器,在文本框中输入两个数值后,单击“计算”按钮可以计算出两数之和并显示在标签中;单击“清除”按钮可以清除各项数值。Private Sub Command1_Click()a = Val(Text1.Text)b = Val(Text2.Text)Label4.Caption = a + bEnd SubPrivate Sub Command2_Click()Text1.Text = Text2.Text = Label4.Caption = End SubA02、编一个计算水果价钱的程序。在文本框中输入水果的购买量(单位:kg),单击“一级”按钮,按2.5元/kg计价,并在价钱框中显示出价钱;单击“二级”按钮,按2元/kg计价,并在价钱框中显示出价钱。单击“清除”按钮,清除各框中的数据;单击“退出”按钮,退出程序。private Sub Command1_Click()Label3.Caption = Text1.Text = End SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Option1_Click()Label3.Caption = Val(Text1.Text) * 2.5End SubPrivate Sub Option2_Click()Label3.Caption = Val(Text1.Text) * 2End SubA03、已知y= x3|x10|4, 编程求y的值 。要求:在文本框中输入x的值,单击“计算”按钮后在“y”框中显示y的值;单击“退出”按钮退出程序。Private Sub Command1_Click() X= Val(Text1.Text)Label3.Caption = x 3 + Abs(x - 10) + 4End SubPrivate Sub Command2_Click()EndEnd SubA04、编程实现:在“半径”框中输入圆的半径,单击“确定”按钮时,“周长”、“面积”框中显示圆的周长和面积。Private Sub Command1_Click()r=val(text1.text)Label3.caption=2*3.14*rLabel5.caption=3.14*r*rEnd SubA05、编程计算圆锥的体积。要求:输入圆锥的半径与高度,单击“计算”按钮可以计算出圆锥的体积并显示出来;单击“清除”按钮可以清除各项数值。提示:V =hr2 ,取3.14Private Sub Command1_Click()r= Val(Text1.Text)h= Val(Text2.Text)Label4.Caption = 1 / 3 * 3.14 * h * r 2End SubPrivate Sub Command2_Click()Label4.Caption = Text2.Text = Text1.Text = End SubA06、华氏温度(F)与摄氏温度(C)之间的转换关系为: 。编程实现:若用户在文本框中输入一个摄氏温度,单击“转换”按钮可以换算成华氏温度,并显示出来;单击“清除”按钮可以清除各温度值。Private Sub Command1_Click()Label3.Caption = 9 / 5 * Val(Text1.Text) + 32End SubPrivate Sub Command2_Click()Text1.Text = Label3.Caption = End SubA07、某市近20年的生产总值情况如下:第1年是1000亿元,以后平均每年以5%的速度增长,通过滚动条求各年份该市生产总值是多少?提示:某年生产总值提示:必须设置HScroll1的Max属性为20,Mix属性为1Private Sub HScroll1_Change()Label2.Caption = HScroll1.ValueLabel4.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(text1.text)Label4.caption=r1*r2/(r1+r2)End SubPrivate Sub Command2_Click()Text1.Text = Text2.Text = Label4.Caption = End SubA09、一个物体从一座塔高为h(米)的塔顶上自由落下,求落地所需的时间t(秒)。要求:在文本框中输入塔高h,单击“计算”按钮,在“时间”框中显示落地所需时间t的值;单击“退出”按钮退出程序。 (提示: ,其中g=9.8 )。Private Sub Command1_Click()h=val(text1.text)Label3.caption=sqr(2*h/9.8)End SubPrivate Sub Command2_Click()endEnd Sub A10、一架雪橇沿一斜坡滑下,它在时间t(秒)滑下的距离s(米)由以下公式给出:s=10t+2t2。编程实现:若用户在文本框中输入一个时间值,单击“计算”按钮可以计算出下滑的距离,并将其显示出来;单击“刷新”按钮可以清除各项数值。Private Sub Command1_Click()t=val(text1.text)Label3.caption=10*t+2*t*tEnd SubPrivate Sub Command1_Click()text1.text= Label3.caption= End SubB类(每题8分)说明:B类题以画图语句的应用、简单动画效果、随机函数、截断函数、时间函数及逻辑运算的简单应用为主。用到的控件还有:命令按钮、图片框、滚动条、计时器等。B01、编程实现:在文本框中输入文字,单击“粗体”、“下划线”复选钮可以选择或取消粗体、下划线。Private Sub Check1_Click() Text1.FontBold = Not Text1.FontBoldEnd SubPrivate Sub Check2_Click() Text1.FontUnderline = Not Text1.FontUnderlineEnd SubB02、编程实现:程序运行后,窗体背景色每隔0.1秒自动改变一次,颜色随机;单击“结束”按钮,结束程序。Private Sub Timer1_Timer() RandomizeForm1.BackColor = RGB(fix(Rnd * 256),fix(Rnd * 256), fix(Rnd * 256)End Sub切记:Timer1的Interval设为100Private Sub Command2_Click() EndEnd SubB03、制作一个“改变窗口背景色”程序。要求:单击“变色”按钮,窗口背景色随机改变一次;单击“结束”按钮,结束程序。Private Sub Command1_Click()Randomize Form1.BackColor = RGB(fix(Rnd * 256),fix(Rnd * 256), fix(Rnd * 256)End Sub Private Sub Command2_Click() EndEnd SubB04、编程实现:程序运行后,在图片上每单击一次,图片在窗体中的位置就随机变化一次。Private Sub Command1_Click()EndEnd SubPrivate Sub Image1_Click()RandomizeImage1.Left = Fix(Rnd * Form1.Width)Image1.top = Fix(Rnd * Form1.Height)End SubB05、编一个移动图片程序,每间隔0.1秒使图片从窗口左边向右边水平移动100个单位。Private Sub Timer1_Timer()Image1.Left = Image1.Left+100End Sub 切记:Timer1的Interval设为100B06、单击“开始”按钮后,一只小鸟每隔0.5秒钟在窗体范围内随机移动一次,“单击“停止”按钮可以停止移动。Private Sub Timer1_Timer() Randomize Image1.Left = Fix(Rnd * Form1.Width) Image1.top = Fix(Rnd * Form1.Height)End SubPrivate Sub Command1_Click() Timer1.Enabled=TrueEnd SubPrivate Sub Command2_Click() 切记:Timer1的Interval设为500. Timer1的Enabled Timer1.Enabled=False 在属性窗口设为FalseEnd SubB06、编程实现:程序运行后,单击“变大”按钮,图片尺寸变大;单击“变小”按钮,图片变小Private Sub Command1_Click()Image1.Height = Image1.Height +300Image1.Width = Image1.Width +300End SubPrivate Sub Command2_Click() Image1.Height = Image1.Height -300Image1.Width = Image1.Width -300End SubB07、制作一个图片显示器,程序运行界面如图所示。要求:程序运行开始,屏幕出现“显示/隐藏”按钮和“退出”按钮。单击“显示/隐藏”按钮窗体中显示或隐藏图片,单击“退出”按钮结束程序。 Private Sub Command1_Click() Image1.Visible = not Image1.VisibleEnd SubPrivate Sub Command2_Click() endEnd SubB08、制作一个拖动水平滚动条设置年龄的程序,如图所示。要求:程序运行开始,年龄框为空;当拖动水平滚动条时,年龄框中显示水平滚动条当前值。提示:必须设置HScroll1的Max属性为18,Mix属性为10Private Sub HScroll1_Change()Label2.Caption = HScroll1.ValueEnd SubPrivate Sub Command1_Click() endEnd SubB09、编程实现:用垂直滚动条表示字号大小(1-48,单位:磅),通过拖动滑块改变文本框中文字的大小,并通过恰当的控件显示出字号。提示:必须设置VScroll1的Max属性为48,Mix属性为1Private Sub VScroll1_Change()Text1.FontSize = VScroll1.ValueLabel2.caption= VScroll1.ValueEnd SubB10、制作一个能够显示当前系统日期和时间的程序。要求:单击“日期”按钮显示当前系统日期;单击“时间”按钮显示当前系统时间;单击“退出”按钮退出程序;窗体的背景色为黄色;标签背景为透明,显示的文字为蓝色,字号为“二号”字。Private Sub Command1_Click() Label1.caption=dateEnd SubPrivate Sub Command2_Click() Label1.caption=timeEnd SubB11、在窗体的任意位置单击鼠标左键时,连接鼠标所在位置与点(500,500)画一条颜色随机的线段。Private Sub Form_MouseDown( ) Line (500,500)-(x,y), RGB(fix(Rnd * 256),fix(Rnd * 256), fix(Rnd * 256)End SubB12、在窗体的任意位置单击鼠标左键时,在窗体上以(800,200)为左上角,以鼠标单击位置为右下角,画一个颜色随机的矩形。Private Sub Form_MouseDown( ) Line (800,200)-(x,y) ,RGB(fix(Rnd * 256),fix(Rnd * 256), fix(Rnd * 256),bEnd SubB13、在窗体中任意移动鼠标时,在鼠标所在位置画一个半径为500的绿色圆。Private Sub Form_MouseMove( ) circle(x,y),500,rgb(0,255,0)End SubB14、在窗口任意位置单击鼠标时,在单击处画出一个半径随机(50半径500缇)、颜色随机的圆。Private Sub Form_MouseDown( ) randomizer=fix(rnd*451)+50circle(x,y),r, RGB(fix(Rnd * 256),fix(Rnd * 256), fix(Rnd * 256)End SubB15、编程实现:在窗体中每隔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 SubB16、制作一个蝴蝶一边舞动翅膀一边向前飞的动画。Private Sub Timer1_Timer() Image3.Visible = Not Image3.Visible Image2.Left = Image2.Left + 500 Image3.Left = Image2.LeftEnd SubC类(每题10分)说明: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 IfEnd SubPrivate Sub Command2_Click() Label4.Caption = Text1.Text = Text2.Text = End SubC02、卖葡萄。10斤以上(含10斤)每斤3元,10斤以下每斤3.5元。用户输入购买的斤数,单击“计算”按钮显示总价钱;单击“清除”按钮清除各项数值;单击“结束”按钮结束程序。Private Sub Command1_Click()x = Val(Text1.Text)If x = 10 Thens = x * 3 Label3.Caption = sElses = x * 3.5 Label3.Caption = sEnd IfEnd SubPrivate Sub Command2_Click() Text1.Text = Label3.Caption = End SubPrivate Sub Command3_Click() EndEnd SubC03、设计一个密码判断程序。要求:用户输入密码时,输入的密码在文本框中以“*”的形式显示,用“确定”按钮核实密码是否正确,并弹出一个信息框告知结果;用“取消”按钮放弃用户输入的密码。提示:密码值可定为“123456”,为了简单起见,设定的密码值可以直接出现在程序代码中。Private Sub Command1_Click()x = Val(Text1.Text)If x= 123456 Then Msgbox ( 密码正确)Else Msgbox (密码错误)End IfEnd SubPrivate Sub Command2_Click() Text1.Text = End Sub提示:要修改Text1的PassWord属性为*C04、一只小鸟从窗体的左边向右移动。当小鸟的位置到达窗体右边时,小鸟停止移动;单击“重新开始”按钮,小鸟直接回到初始位置然后再向右移动。Private Sub Command1_Click()Image1.Left = 0End SubPrivate Sub Timer1_Timer()If Image1.Left = Form1.Width - Image1.Width ThenImage1.Left = Image1.LeftElseImage1.Left = Image1.Left+100 End IfEnd SubC05、在窗体中画图,单击鼠标左键,画一个颜色随机的圆,圆心为鼠标点击的位置,半径为500;单击鼠标右键画一个正方形,正方形的中心点为鼠标点击的位置,边长为800,颜色随机;画图前先清除窗体中的图形。提示:按下鼠标左键时button1;按下鼠标右键时button=2Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)RandomizeIf Button = 1 Then 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 End IfEnd SubC06、制作一个画同心圆的程序,每隔0.5秒钟在窗体中央画20个颜色随机的同心圆(两圆间距为50),当有鼠标按下时结束程序。Private Sub Timer1_Timer() Cls Randomize X = Form1. Width / 2 Y = Form1. Height / 2 For i = 1 To 20 r = r + 50 Randomize Circle (X, Y), r, RGB(fix(Rnd * 256),fix(Rnd * 256), fix(Rnd * 256) Next iEnd SubC07、在窗体上单击鼠标,画出200个颜色随机的星星(画笔的宽度为5),画图前先清除窗体中的图形。Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Cls RandomizeDrawwidth=5For i = 1 To 200 X= Fix(Rnd*Form1.width) Y= Fix(Rnd*Form1.height) Pset(X,Y),RGB(fix(Rnd * 256),fix(Rnd * 256), fix(Rnd * 256)Next iEnd SubC08、如图所示,编程求1*2*3*X (1X20)。X的值由水平滚动条的当前值所确定。移动水平滚动条可以改变X的值,累乘结果显示在“结果”框中。提示:必须设置HScroll1的Max属性为20,Mix属性为1Private Sub HScroll1_Change() s = 1 x = HScroll1.Value For i = 1 To x s = s * i Next i Label5.Caption = s Label4.Caption = xEnd SubC09、编程求累加1+2+3+X (1X100)。X的值由水平滚动条的当前值所确定。移动水平滚动条可以改变X的值,累加结果显示在“结果”框中。提示:必须设置HScroll1的Max属性为100,Mix属性为1Private Sub HScroll1_Change() s=0 x = HScroll1.Value For i = 1 To x s = s + i Next i Label5.Caption = s Label4.Caption = xEnd SubC10、编一个“幸运开奖”程序。单击“开始”按钮时,屏幕滚动产生五个幸运号码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 SubPrivate Sub Command1_Click() Timer1.Enabled=TrueEnd SubPrivate Sub Command2_Click() 切记:Timer1的Interval设为500. Timer1的Enabled Timer1.Enabled=False 在属性窗口设为FalseEnd SubC11、编一个“不好点的按钮”程序,程序运行后,一个“单击我!”的按钮在屏幕上随机出现。用鼠标单击该按钮,每击中一次计10分,屏幕上显示出得分。如图所示。Dim s, x As IntegerPrivate Sub Command1_Click()s = s + 1Label2.Caption = sx = x + 10Label4.Caption = xEnd Sub Private Sub Timer1_Timer() Randomize Command1.Left = Fix(Rnd * Form1.Width) Command1.Top = Fix(Rnd * Form1.Top)End SubC12、输入a, b的值 , 当ab0时计算表达式y的值,否则弹出消息“wrong”。Private Sub Command1_Click()a=val(text1.text)b=val(text2.text)if a*b0 then label4.caption=(a+b)/sqr(4*a*b) else msgbox “wrong”end ifEnd SubPrivate Sub Command2_Click() Text1.Text = Text2.Text = label4.caption= End SubD类(每题10分)说明:D类题涉及三种程序结构的综合应用,并涉及函数及函数画图的应用等。D01、在窗体的恰当位置单击,画出six(x)在0,2区间的图像。画笔的宽度为1,图形的放大系数定为400倍;画图前先清除窗体中的图形。Private Sub Form_MouseDown( ) ClsFor x0 = 0 To 2 * 3.14 Step 0.1 y0 = sin(x0) PSet (X + x0* 300, Y y0 * 300) Next x0End SubD02、画出一质点自由下落的轨迹。要求:质点下落的起始位置为鼠标单击处,共画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/2PSet (X, Y) Next iEnd SubD03、在11000区间中的所有整数中,分别计算能被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 = sLabel4.Caption = xEnd SubD04、画10个颜色随机的同心圆,相邻两个同心圆的半径之差为100;圆心位置由用户在窗体上单击鼠标确定,并将该位置坐标在窗体中显示出来。Private Sub Form_MouseDown( )For i = 1 To 10 r = r + 100 Randomize Circle (X, Y), r, RGB(fix(Rnd * 256),fix(Rnd * 256), fix(Rnd * 256)Next iLabel2.Caption = X Label4.Caption = YEnd SubD5、画颜色随机、边长为200的正方形,正方形的中心位置由用户在窗体上单击鼠标确定,并在窗体中将所画正方形的个数显示出来;所画正方形不超过10个,当达到10个时结束程序的运行。Dim s As IntegerPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If s = 10 Then End Else Line(X-100,Y-100)-(X+100,Y+100), RGB(fix(Rnd * 256),fix(Rnd * 256), fix(Rnd * 256),B s = s + 1 Label2.Caption = s End IfEnd SubD06、编程实现:单击“计算”按钮,求100个两位数的随机整数之和,并显示出来。单击“清除”按钮,清除

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论