收藏 分享(赏)

第5章习题答案.pdf

上传人:精品资料 文档编号:8195389 上传时间:2019-06-13 格式:PDF 页数:7 大小:160.29KB
下载 相关 举报
第5章习题答案.pdf_第1页
第1页 / 共7页
第5章习题答案.pdf_第2页
第2页 / 共7页
第5章习题答案.pdf_第3页
第3页 / 共7页
第5章习题答案.pdf_第4页
第4页 / 共7页
第5章习题答案.pdf_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、第5章课外练习参考答案 一、判断题 1. 图片框可以通过 Print 方法来显示文本。 2. 用 Cls方法能清除窗体或图片框中用 Picture 属性设置的图形。 3. 改变图形对象的坐标系可以用 Scale方法。 4. 若容器采用缺省坐标系,则坐标原点在容器左上角、单位长度为像素。 5. 在图片框中添加的控件,其 Top 和 Left 属性值是相对图片框而言的,与窗体无关。 6. 影像框和图片框一样,也可以作为其他控件的容器。 7. 影像框和图片框都可以用 AutoSize 属性来控制控件大小调整的行为,当 AutoSize 属 性值为 True 时,两者控件大小根据图片来调整;设置为 F

2、alse 时,只有一部分图片可见。 8. ScaleMode 的所有属性值均表示打印长度。 9. 图形控件可以在运行时获得焦点。 10. BorderWidth属性表示指定直线和形状边界线的线条宽度,该属性值不能设置为 0。 11. 函数过程与 Sub 过程必须用关键字 Private 或 Public 声明。 12. 用关键字 Public 声明的过程可以被其他模块调用。 13. 调用过程时的实参必须是与对应形参类型相同的表达式。 14. 声明形参时如果缺省传递方式声明,则默认为按值传递(Byval) 。 15. Sub 过程中的语句 Exit Sub,使控制返回到调用处。 16. Sub

3、过程名在过程中必须被赋值。 17. 滚动条控件可作为用户输入数据的一种方法。 18. 用户可拖动滚动条的滚动滑块来改变滚动条 Va l u e 值, 在移动滚动滑块时, 发生 Change 事件。 二、选择题 1. 对画出的图形进行填充,应使用 C 属性。 A、BackStyle B、FillColor C、FillStyle D、BorderStyle 2. 将图片框的 B 属性设置成True时,可使图片框根据图片调整大小。 A、Picture B、A utoS i ze C、S tr etc h D 、AutoRedraw 3. C 可以改变坐标的单位。 A、DrawStyle 属性 B、

4、Cls方法 C、ScaleMode 属性 D、DrawWidth 属性 4. Visual Basic用以下哪一条指令来绘制直线 A 。 A、Line方法 B 、Pset 方法 C 、Point 属性 D 、Circle 方法 5. Visual Basic可以用以下哪一条属性来设置边框类型 A 。 A、BorderStyle B、BorderWidth C、DrawWidth D、FillColor 6. C 属性可以用来设置所绘线条宽度。 A、DrawStyle B、BorderStyle C、DrawWidth D、FillColor 7. 下列 A 是用来画圆、圆弧及椭圆的。 a) A

5、、Circle 方法 B 、Pset 方法 C、Line 属性 D 、Point 属性 8. 描述以(1000, 1000)为 圆 心 、以 400 为半径画 1/4 圆弧的语句,以下正确的是 C 。 A、Circle(1000,1000),400,0,3.1415926/2 B、Circle(1000,1000),400,0,3.1415926/2 C、Circle(1000,1000),400,0,3.1415926/2 D、Circle(1000,1000),400,0,90 9. 语句“Circle(1000,1000),800,-3.1415926/3,-3.1415926/2”绘制

6、的是 C 。 A、弧 B 、椭圆 C 、扇形 D、同心圆 10. 语句“Circle(1000,1000),800,2”绘制的是 B 。 A、弧 B、椭圆 C 、扇形 D、同心圆 11. 上题Circle语句中最后的 2 表示的是 A 。 A、椭圆的纵轴和横轴长度比 B、椭圆的横轴和纵轴长度比 C、同心圆的半径比 D 、圆弧两半径间的夹角 12. RGB函数中的 3 个数字分别表示 B 。 A、红、绿、白 B、红、绿、蓝 C、色调、饱和度、亮度 D 、当前色、背景色、前景色 13. 当Stretch属性值为False时, B 。 A、图片大小随影像框的大小进行调整 B 、影像框的大小随图片大小

7、进行调整 C、图片框的大小随图片大小进行调整 D 、图片大小随图片框的大小进行调整 14. BorderStyle属性是用来表示线条的 C 。 A、长度 B 、宽度 C、线形 D、颜色 15. 在Visual Basic中, C 不能作为其他控件的容器。 A、框架 B、图片框 C、影像框 D、窗体 16. 窗体通用部分的语句“Option Base 1” ,决定本窗体中数组下标界 B 。 A、下界必须为 1 B、缺省的下界为 1 C、下界必须为 0 D、缺省的下界为 0 17. 列表框的 B 属性返回或设置列表框中各列表项的文本。 A、S electe d B、List C、T ex t D

8、、Caption 18. List1.Clear中的Clear是 A 。 A、方法 B 、对象 C 、属性 D 、事件 19. 以下 D 语句将删除列表框List1中的最后一项。 A、List1.RemoveItem List1.ListCount B、List1.Clear C、List1.List(List1.ListCount-1)= “ D、List1.RemoveItem List1.ListCount-1 20. 若要把“XXX“插入到列表框List1 中的第三项,则可执行语句 B 。 A、List1.A d d I tem “ XX X “ , 3 B、List1.AddItem

9、 “XXX“, 2 C、List 1.A dd I tem 3,“ X X X“ D、List1.AddItem 2,“XXX“ 21. 滚动条的 B 属性用于指定用户单击滚动条的滚动箭头时,Va l u e属性值的改变 量。 A、LargeChange B、SmallChange C、V a l u e D 、Change 22. 单击滚动条两端的任意一个滚动箭头,将触发该滚动条的 B 事件。 A、KeyDown B、Cha ng e C、S cr oll D 、Click 三、填空题 1. 以窗体Form1 的中心为圆心,画一个半径为 800 的圆的方法是 Circle (ScaleLef

10、t + ScaleWidth / 2, ScaleTop + ScaleHeight / 2), 800 。 2. 在图片框中加一幅图片(从磁盘装入)可用 LoadPicture 函数来实现。 3. 图片框的 AutoSize 属性和影像框的 Stretch 属性都是用来调节图片框或影像框的 大小的,它们的默认值分别为 False 、 False 。 4. 需要对设置好的线条进行调整时,可再 选中 该线条,通过鼠标的拖动来改变线条 的大小或位置,或通过 属性 窗口改变其属性值。 5. 若控件Picture1 中要显示C:盘Windows目录下的Cloud.bmp图片,则它的方法是 Pictur

11、e1.Picture=LodePicture(“C:WindowsCloud.bmp“) 。 6. 要让图片框作为其他控件的容器, 需先添加 图片框 , 然后再添加 其它控件 。 7. Visual Basic坐标系的默认单位是 缇 , 除此之外, 用户还可以选用其他的度量单位, 这需要通过对象的 SclaeMode 属性来实现。 8. PSet方法设置指定坐标点处的 颜色 ,是最简单的图形操作。 9. 画椭圆的方法中,半径以后的参数依次是颜色、圆弧起点处转角、圆弧终点处转角、 椭圆纵轴与横轴长度之比 。 10. 数组名作过程实参,相应的形参传递方式为 按址传递 。 11. 过程形参为整型,对

12、应实参为 5.64,传递给形参的值为 6 。 12. 调用过程时对形参的改变不会导致相应实参变量的改变,则该形参采用按值传递(按 值传递/按地址传递)方式。 13. 调用过程时对形参的改变就是对相应实参变量的改变,则该形参采用按地址传递(按 值传递/按地址传递)方式。 14. 在窗体Form1 的过程中引用窗体Form2 中的Public变量y,写作 Form2.y 。 15. 拖动滚动条的滚动滑块时仅发生 Scroll 事件。 16. 滚动条的滚动滑块的位置由 Va l u e 属性决定的。 17. 执行语句“HScroll1.Value = HScroll1.Value + 100”时,发

13、生 Change 事件。 四、程序阅读题 程序1. 写出程序运行 时 单击窗体 后 ,在窗体 上 出现的结 果 。 Private Sub Form_Click() Dim i As Single,x As Single,y As Single For i = 0 To 2 * 3.1415927 Step 0.0001 x = 1000 + 500 * Sin(i): y = 800 + 500 * Cos(i) Line(1000, 800) - (x, y), RGB(255, 0, 0) N ex t i End Sub 逆时针画出一个红色的实心圆 程序2. 写出程序运行 时 单击窗体

14、 后 的结果。 Private Sub Form_Click() Dim i As Integer For i = 1 To 1000 Call Circledemo N ex t i End Sub Sub Circledemo() Dim Radius As Single, XPos As Single, YPos As Single R = 255 * Rnd: G = 255 * Rnd: B = 255 * Rnd XPos = ScaleWidth * Rnd: YPos = ScaleHeight * Rnd Radius = (YPos * 0.9) + 1) * Rnd /

15、10 Circle(XPos, YPos), Radius, RGB(R, G, B) End Sub 在窗体中不同位置随机画出不同半径、不同颜色的 1000 个圆 程序3. 写出程序运行 后 ,鼠标多 次 在图片框 内 拖动后的 显 示结果。 Dim x0 As Single, y0 As Single Private Sub Picture1_MouseDown(Button As Integer, _ Shift As Integer, X As Single, Y As Single) x0 = X: y0 = Y End Sub Private Sub Picture1_MouseU

16、p(Button As Integer, Shift As Integer, _ X As Single, Y As Single) If Picture1.FillStyle 0 Then Picture1.FillStyle = 0 E ls e Picture1.FillStyle = 1 End If Picture1.Line(x0, y0) - (X, Y), RGB(255, 255, 0), B End Sub 在图片框抬起鼠标左键时,由图片框左上角至鼠标箭头处绘制黄色边框的矩形,奇数次 时,矩形填充黑色,偶数次时,不填充。 程序4. 写出程序运行 时, 在组合框 中 输入 “

17、 香蕉” 并按回车 键 后, 列 表框中 的所有表 项。 Private Sub Form_Load() Combo1.AddItem “西瓜“: Combo1.AddItem “苹果“: Combo1.AddItem“橘子“ Combo1.AddItem “葡萄“: Combo1.AddItem “哈密瓜“ Combo1.AddItem “火龙果“: Combo1.AddItem “柚子“ Combo1.List(0) = “李子“: Combo1.List(7) = “猕猴桃“ End Sub Private Sub Combo1_KeyPress(KeyAscii As Integer)

18、 Dim i As Integer If KeyAscii = 13 Then Combo1.List(Combo1.ListCount) = Combo1.Text List1.Clear For i = 0 To Combo1.ListCount - 1 If Len(Trim(Combo1.List(i) 3 Then List1.AddItem Combo1.List(i) Next i End Sub 李子 苹果 橘子 葡萄 柚子 香蕉 程序5. 已知水平滚动 条HScroll1 的有 关属性已 经 在属性窗 口 进行了如 下 的设置: HScroll1.Min:1,HScroll1

19、.Max:10,HScroll1.SmallChange:1,HScroll1.LargeChange:2, HScroll1.Value:5 写出连续3 次单 击 水 平滚动 条HScroll1 右端箭头 后 ,窗体上 显 示的结果 。 Private Sub HScroll1_Change() Static y As Integer If HScroll1.Value Mod 2 = 0 Then y = y + HScroll1.Value Print “y=“; y End If End Sub y= 6 y= 14 五、程序填空题 1 以 下 程序产 生30个两位随机整 数 、 并按

20、 从小 到大的顺 序 存入数组a中 , 再将 其中 的 奇 数按从小 到 大的顺序 在 窗体中用 紧 凑格式输 出 ,请补充 程 序空白的 部 分代码。 Private Sub Form_Click() Dim a(30) As byte, i as Byte, j As Byte, m As Byte For i = 1 To 30: a(i) = Int(Rnd*90+10) : Next i For i = 1 To 29 F or j = i +1 To 30 I f a( i) a( j) T he n m = a( i) : a(i) = a(j) : a(j) = m E nd

21、I f N ex t j , i For i = 1 To 30 I f a(i) Mod 2 =1 Then Print a(i); N ex t i End Sub 2 窗体上已 建立命令 按 钮Command1(开始)、Command2(结束) 和 文本框Text1 , Text1 中输入 字符个数 不 得超过100个 。开始运 行 时,“结 束 ”命令按 钮 不能响应 ; 按“开 始” 命令按 钮后, 将文 本框中的 字 符按其ASCII 码值由小 到 大顺序从 左 到右重新 排 列, 并 在 窗体上输 出 重新排列 后 的字符串 , 同时 “结 束 ” 命令按 钮 能响应, “ 开始

22、” 按 钮 不能响 应 , 请补充程 序 空白的部 分 代码。 Private Sub Command1_Click() Dim n As Byte, i As Byte, j As Byte, p As Byte Dim a(100) As String * 1, str1 As String, t As String str1 = Text1.Text: n = Len(str1) For i = 1 To n: a(i) = Mid(str1, i, 1) : Next i For i = 1 To n - 1 p = i For j = i + 1 To n I f a( p) a(

23、j) T he n p = j N ex t j If p i Then t = a(i): a(i) = a(p) : a(p) = t N ex t i For i = 1 To n: Print a(i);: Next i Command2.Enabled = True Command1.Enabled = False End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Command2.Enabled = False End Sub 3 下列程序 能在一定 范 围内找出 所 有素数, 要 求:

24、 文本框 用来输入 所 要找的数 的 范围 , 且只能先 在Text1(必须大 于1)输入结 束后才能 在Text2(必须大 于Text1 中的数)中输 入, 按回车键 表 示输入结 束 。 在Text2 输入结束后 , 才能单击 “Command1” (确定 ) 命 令按钮, 并在窗体 上 输出该范 围 内的所有 素 数(以上 过 程可重复 ) 。请补充 程 序空白的 部 分代码。 Private Sub Form_Load() Command1.Enabled = False: Text2.Enabled = False End Sub Private Sub Command1_Click

25、() Dim n As Integer, m As Integer, i As Integer, p As Integer n = Val(Text1.Text): m = Val(Text2.Text) F or i = n T o m p = 2 Do While p Int(Sqr(i) Then Print i N ex t i Text1.Text = “: Text2.Text = “ Text1.Enabled = True: Text2.Enabled = False Command1.Enabled = False End Sub Private Sub Text1_KeyP

26、ress(KeyAscii As Integer) If KeyAscii = 13 Then I f Val(Text1.Text) 2 Then T ex t1. T ex t = “ “ E ls e Text2.Enabled = True: Text1.Enabled = False E nd I f End If End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If Val(Text2.Text) = Val(Text1.Text) Then T ex t2. T ex t

27、= “ “ E ls e T ex t2. E nab le d = F a l s e C om m and 1. E na ble d = T r u e E nd I f End If End Sub 六、程序设计题 1. 编程,在图片框中画一个以两点为对角的矩形(图片框中以像素为刻度单位,两点坐标用 InputBox 函数输入) 。 Private Sub Form_Load() Picture1.ScaleMode = 3 End Sub Private Sub Command1_Click() Dim x1 As Single, y1 As Single, x2 As Single

28、, y2 As Single x1 = InputBox(“x1=“): y1 = InputBox(“y1=“) x2 = InputBox(“x2=“): y2 = InputBox(“y2=“) Picture1.Line (x1, y1)-(x2, y2), , B End Sub 2. 编程,以毫米为刻度单位、以窗体中心点为坐标原点,以窗体的高与宽中最小值的 1/3 为半径画一个圆(轮廓线为黄色、线粗 2mm,蓝色填充) 。 Private Sub Form_click() Dim r As Single, xo As Single, yo As Single If Form1.Sc

29、aleHeight Form1.ScaleWidth Then r = Form1.ScaleHeight / 3 Else r = Form1.ScaleWidth / 3 End If xo = Form1.ScaleLeft + Form1.ScaleWidth / 2 yo = Form1.ScaleTop + Form1.ScaleHeight / 2 Form1.FillStyle = 0: Form1.FillColor = vbBlue Form1.DrawWidth = 2: Form1.ScaleMode = 6 Form1.Circle (xo, yo), r, vbYe

30、llow End Sub 3. 编程,以缇为窗体刻度的初值、窗体中心点为坐标原点,在列表框中选取刻度的其他 单位的同时画一个半径为 50 个单位的圆,观察圆的大小的变化。 Private Sub Form_Load() Dim i As Integer For i = 1 To 7: List1.AddItem i: Next i Form1.ScaleMode = 1 End Sub Private Sub List1_Click() Form1.Cls: Form1.ScaleMode = List1.Text Form1.Circle (Form1.ScaleLeft + Form1.ScaleWidth / 2, _ Form1.ScaleTop + Form1.ScaleHeight / 2), 50 End Sub

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报