




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 7 章过程 71 填空题 1一个 VB 应用程序可以包括的三种模块是:(窗体模块) 、(标准模块) 和 (类 模块)模块。 2函数过程定义中至少有一个赋值语句把表达式的值赋给(函数过程名) 。 3在 VB 中,过程定义中有两种传递形式的参数:一种是(传值参数) ,称为传值 调用;另一种是(传址参数) ,称为传址调用。 4若模块中以关键字 public 定义子过程,则在(整个应用程序)中都可以调用该 过程。 5若窗体模块或标准模块中以关键字 private 定义函数过程,则该函数过程只能在 (该窗体模块或标准模块)中使用。 6每一个用标识符定义的变量、常量、过程都有一个有效范围,这个范围称为标识符 的(作用域) 。 7在模块内定义的过程,若在关键字 sub 或 Function 加前缀 Public,则该过程称为 (全局级过程或工程级过程) 。 8.过程中定义的静态变量作用域是(该过程内) ,生存期是(整个应用程序运行 结束之前) 。 72 选择题 1标准模块中的代码存放在以(b)为扩展名的文件中。 a) .frmb) .basc) .clsd) .txt 2 (a)不能在标准模块中定义。 a) 事件过程b) 子过程c) 函数过程d) 公共过程 3设已定义子过程 p,有 3 个数值型传值参数;设 a 为实型变量,调用该子过程的正 确语句为(c) 。 a) pb) call p 0.5, a, 100 c) call p ( 0.5, cos(0.1), a+10 )d) p ( 0.5, 1.2, 100 ) 4.设已定义函数过程 f,它有三个实型传值参数;设 a,b 和 c 为实型变量,则调用该 函数的正确语句为(c) 。 a)fb) f( a+b, b+c ) c)f ( a+b, b+c ,c+a )c) f a+b, b+c, c+a 5在过程体中退出子过程的语句是(c) 。 a) Exit Dob) Exit For c) Exit Subd) Exit Function 6在过程的形式参数的前面加上关键字(d) ,则该参数说明为传值参数。 a) Valb) Refc) ByRefd) ByVal 7关于过程作用域,错误的描述是(d) 。 a) 全局级过程的作用域为整个工程。 b) 在某一窗体模块中定义的全局级过程,若被该模块外的模块所调用,必须在该过程名前加上窗体 名称。 c) 在不同模块中定义的模块级过程可以同名。 d) 模块级过程与工程级过程不能同名。 8关于变量的作用域,正确的描述是(b) 。 a) 在模块内定义的变量,其作用域必定为所在模块。 b) 同一模块中不同级的变量不能同名。 c) 一模块中所有在过程之外用 Dim 定义的变量为全局变量。 d) 不同模块中定义的变量名字可以相同。 9当鼠标在窗体上移动时,会发生(c)事件。 a) MouseDownb) MouseUpc) MouseMoved) DragDown 10当某个对象具有焦点时,在键盘上按下某一键时就会发生(a, c)事件。 a)KeyPressb) KeyUpc) KeyDownd) DragDown 11当用户(a)时,会引发焦点所在对象的 KeyPress 事件。 a) 在键盘上按下有 ASC 码的键b) 释放键盘上有 ASC 码的键 c) 单击鼠标左键d) 单击鼠标右键 12当用户在键盘上按下一个有 ASC 码的键时会发生(a)事件。 a) KeyPress 和 KeyDownb) KeyPress 和 KeyUp c) KeyDown 和 KeyUpd) KeyPress 和 KeyMove 73 问答题 1过程的主要作用是什么?VB 有什么类型的自定义过程?试举例说明。 答:参见教材 7.2。 2传值参数和传址参数的主要作用是什么?在调用过程进行参数传递时,它们之间有 什么区别? 答:参见教材 7.3。 74 阅读程序,写出输出结果。 1 Private Sub p(ByVal i As Integer) Dim j%, k% For j = 0 To 7 - i Print “ “; Next j For k = 0 To 2 * i - 1 Print “*“; Next k Print End Sub Private sub command1_Click() Dim i% For i = 1 To 2 P(i) Next i For i = 3 To 1 Step -1 P(i) Next i End Sub 答案: * * * * * 2Private Sub Command1_Click() Dim m% m = max(35, -21, 480) m = max(max(m, 75, 100), 380, 28) Print “max=“; m End Sub Private Function max(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer) If x y Then max = x Else max = y If z max Then max = z End Function 答案:max=480 3 Private Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer Call s(10, 5, a) Call s(7, a, b) Call s(a, b, c) Print “a=“; a, “b=“; b, “c=“; c End Sub Private Sub s(x As Integer, y As Integer, z As Integer) z = y x End Sub 答案:a=-5b=-12c=-7 4 Private Sub Command1_Click() Dim i% Const n = 10 Dim a(1 To n) As Integer Randomize For i = 1 To n a(i) = Int(Rnd * 100 + 1) Print a(i), If i Mod 4 = 0 Then Print Next i Print Call s(a, n) End Sub Private Sub s(a() As Integer, ByVal n As Integer) Dim i%, k% For i = 1 To n If a(i) Mod 3 = 2 Then If k Mod 4 = 0 Then Print Print a(i), k = k + 1 End If Next i End Sub 答案:输出 10 个 199 之间的随机整数,并把其中能被 4 整除的数输出来 5 Public x As Integer Private Sub Command1_Click() x = 10: Print x Call s1 : Print x Call s2 : Print x End Sub Private Sub s1() x = x + 20: Print x End Sub Private Sub s2() Dim x As Integer x = x + 20 : Print x End Sub 答案:10 30 30 20 30 6 Private Sub Command1_Click() s3 (1): s3 (1): s3 (1) End Sub Private Sub s3(ByVal a As Integer) Dim x As Integer Static y As Integer x = x + a: y = y + a Print “x=“; x, “y=“; y End Sub 答案:x=1y=1 x=1y=2 x=1y=3 75 编程题 1已知 m= ),max(*),max( ),max( cbbacbba cba ,其中 max(x,y,z)为求 x,y 和 z 这三个数最大值的函数。编一程序,输入 a,b 和 c 的值,求 m 的值。 解答: (1)界面设计和属性设置 在窗体上建立四个标签、 四个文本框和两个命令按钮。 窗体和窗体上控件的主要属性设 置如表 3-7-1 所示。 表 3-7-1第 1 题的属性设置 控件名称属性名属性值 Form1Caption计算 m 的值 Label1Captiona= Label2Captionb= Label3Captionc= Label4Captionm= Text1,Text2,Text3,Text4Text空串 Command1Caption开始 Command2Caption结束 (2)程序代码 Private Sub Command1_Click() Dim a!, b!, c!, m# a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) m = max(a, b, c) / (max(a + b, b, c) * max(a, b, b + c) Text4.Text = Str(m) End Sub Private Function max(ByVal x!, ByVal y!, ByVal z!) As Single Dim ma! If x y Then ma = x Else ma = y If z ma Then ma = z max = ma End Function Private Sub Command2_Click() End End Sub (3)运行情况 运行程序后,单击 Text1 输入 a 的值;单击 Text2 输入 b 的值;单击 Text3 并输入 c 的值。数据输入后,单击标题为“开始”的命令按钮,执行 Command1_Click()事件过程, 并调用自定义 max 函数,在 Text4 显示计算结果。 2给定求组合数公式为: )!( ! ! nmn m c n m ,编一程序,输入 m 和 n 的值,求 n m c的值。 解答: (1)界面设计和属性设置 在窗体上建立三个标签、一个 OLE 控件、三个文本框和两个命令按钮。窗体和窗体上控 件的主要属性设置如表 3-7-2 所示。 表 3-7-2第 2 题的属性设置 控件名称属性名属性值 Form1Caption计算组合数 Label1Caption计算组合数公式 Label2Caption FontSize C 初号 Label3Caption= OLE1Class BackStyle BorderStyle SizeMode Equation.3(在建立 OLE 时选定) 0 0 2 Text1Text空串 Text2Text空串 Text3Text空串 Command1Caption计算 Command2Caption结束 说明: 表中的 OLE 控件用来在界面上显示计算组合数公式。 建立 OLE 控件并输入公式的 操作步骤为:双击工具箱上的 OLE 控件,系统在窗体上显示 OLE 控件,并弹出“插入对象” 对话框,在“插入对象”对话框中选择对象类型“Microsoft Equation 3.0”,然后单击“确 定”按钮打开公式编辑器,使用公式编辑器输入计算组合数公式。 (2)程序代码 Private Sub
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第1课 隋朝统一与灭亡 课件(内嵌视频) 部编版七年级历史下学期
- 2025年中共张家界市委政法委员会关于招聘公益性岗位工作人员的笔试备考试题含答案详解
- 哈雷安全驾驶培训课件
- 2025年钳工维修考试题及答案
- 新闻等单位考试题及答案
- 吊车作业安全教育培训课件
- 电子竞技俱乐部电竞俱乐部与电竞战队品牌联动策略报告
- 螺纹加工考试题目及答案
- 2025年新能源汽车自动驾驶法规与道路基础设施改造策略报告
- 未来世界科技发展的议论文作文(9篇)
- 砼回弹强度自动计算表
- 国开2023春《言语交际》形考任务1-6参考答案
- 抽油机井示功图分析判断1
- 机电一体化说专业比赛
- GB/T 39141.3-2022无机和蓝宝石手表玻璃第3部分:定性标准和试验方法
- GB/T 1142-2004套式扩孔钻
- 2022年天津市河东区生态环境系统事业单位招聘笔试试题及答案
- 研究生学术道德与学术规范课件
- 浦发银行个人信用报告异议申请表
- 电镀行业环境执法现场检查要点
- 趣味成语 完整版PPT
评论
0/150
提交评论