




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、选择题(自测练习,提供参考及解答)1. (自测练习,提供参考及解答)下列关于函数的说法正确的是()A、函数名在过程中只能被赋值一次B、如果在函数体内没有给函数名赋值,则该函数无返回值C、如果在定义函数时没有说明函数的类型,则该函数是无类型的 D、利用 Exit Function 语句可以强制退出函数解答:本题函数的概念及特点。选项 A 错误,函数名在过程中可以被赋值多次。选项 B错误,如果在函数体内没有给函数名赋值,则数值函数返回 0,字符函数返回一个空串。选项C 错误,如果在定义函数时没有说明函数的类型,则该函数是变体类型。选项 D 正确,ExitFunction 语句可以强制退出函数。本题
2、正确为 D。2. (自测练习,提供参考使之按值传递,此关键字是(及解答)在参数传递过程中,使用关键字来修饰参数,可以)。A ByVal C ValueB ByRefD Reference解答:在参数传递过程中,若在形参前面加上关键字 Byval,则表示此形参与实参结合方式为传值。本题正确为 A。3. (自测练习,提供参考及解答)如果在定义 Sub 过程时没有使用 Private、Public 和Sic 关键字,则所定义的过程是()A 公有的 B 私有的C 静态的D 可能是公有的,也可能是私有的Sub 过程的有效范围。一个过程有其作用域,不同的过程作用域不同。全解答:本题局过程可以在程序的任何地
3、方被调用,而局部过程只能在该过程所在的模块内被调用。Public 关键字定义全局过程:Private 关键字定义局部过程:Sic 关键字用于指定局部变量在内存中的方式。 在定义过程时,如果缺省说明过程有效范围的关键字,则该过程为全局过程,即该过程是公有的。本题正确为 A。4. (自测练习,提供参考及解答) Sub 过程与 Function 过程最根本的区别是()A Sub 过程可以使用 Call 语句或直接使用过程名调用,而 Function 过程不可以B Function 过程可以有参数,Sub 过程不可以C Sub 过程不能返回值,而 Function 过程能返回值 D 两种过程参数的传递
4、方式不同解答:在 Visual Basic 中有两类过程,一类是系统提供的函数过程和事件过程;另一类是用户根据自己需要定义,供事件过程多次调用的过程,而第二类过程中,现在涉及最多的是子过程,即 Sub 过程。它们的共同点都是完成某种特定功能的一组程序代码,不同的是函数过程(Function)是带有返回值的特殊过程,所以函数过程定义时有返回值的类型说明。本题正确为 C。5. (自测练习,提供参考及解答)单击窗体时,下列程序代码的执行结果为()。Private Sub Form_Click( ) Text 2End SubPrivate Sub Text( x As x = x * 2 + 1If
5、 x 6 ThenCall Text( x )End Ifx = x * 2 + 1eger )Pr End Sub A 23 47C 22 45x;B 11 35D 24 51解答:本题在函数调用过程中采用了简单递归的方式,具体流程如下:主调过程调用 Text过程,把实参 2 传递给 Text 过程中的形参 x,由 x = x * 2 + 1 语句推出 x = 5,此时满足 Text过程体中判断语句的判断条件,执行 Call Text( x )语句,第二次调用 Text 过程。由 x = x * 2+ 1 语句得到x 值为 11,判断条件 11 6 为假,故返回此调用过程,执行 x = x
6、* 2 + 1,得 x= 23 并输出,结束此次调用过程。由于两次调用 Text 过程,第二次仍返回调用时的断点语句,即执行 x = x * 2 + 1,Pr为 23, 47。本题正确为x 输出x 的值为 47,返回到主调过程,结束程序,两次输出A 。6. (自测练习,提供参考及解答)编写如下通用过程:Sub Proc(xAs Single, y As Single)t=xx=t/yy=t Mod yEnd Sub在窗体上画一个命令按钮,然后编写如下事件过程:Private Subd I_Click()Dim a As SingleDim b As Single a=5b=4Proc a, b
7、Pra, bEnd Sub程序运行后,如果单击命令按钮,则输出结果为A.54B. 1.251C.45D.1.255解答:该例中的 Proc 过程有两个参数,均为单精度类型;由于没有 ByVal 关键字,参数使用的是(即传地址)方式。也就是说,实参 a, b 与形参 x, y 使用的是相同的地址。因此,由过程 Proc 计算出来的 x, y 的值实际上与实参 a, b 的值相同。在事件过程中,执行 Proc a, b 语句后,就把 a(值为 5), b(值为 4)的值分别传送给过程 Proc 中的x, y,使得x=5, y=4.在过程中,首先把 x 的值赋给 t,即 t 的值为 5,然后执行:x
8、t/y=5/4=1.25, y=t mod y=5 Mod4=1。本题正确为 B7. (自测练习,提供参考及解答)阅读程序:Function func(n Aseger) AsSum=0egerFor i=1 To nSum=Sum(i1)*i Next ifunc=SumEnd FunctionPrivate Sub Dim a Asa=5d I_Click()egers=func(a)PrsEnd Sub程序运行后,单击命令按钮,输出结果为A.80B.60C.70D.15分析 该例调用一个 Function 过程 Func,该过程只有一个参数,类型为整型,返回值也为整型。过程的调用十分简单
9、,关键是要搞清楚过程 func 的功能。从循环For i=1 TonSum=Sum(i1)*iNext i可以看出,该过程的功能是计算 1*2+2*3+3*4+-+(n+l)*n。在调用过程时,实参 a 的值为 5,即上式中的 n=5。因此返回的值为:1*2+2*3+3*4+4*5+5*6=70。本题正确为 C。二、填空题1. (自测练习,提供参考 。及解答)调用 Sub 过程的方式有两种: 和解答:调用过程引起过程的执行,即要执行一个过程,必须调用该过程。在 Visual Basic 中, Sub 过程的调用方式有两种:一种是把过程名作为一个语句来使用;另一种是把过程名放在一个 Call 语
10、句中。假设有一个过程名为 MySub,其参数为 a 和 b,则第一种调用方式为:Call MySub (a, b)第二种调用方式为:MySub a, b 。为:把过程名作为一个语句来使用,用 Call 语句调用 Sub 过程。2.(自测练习,提供参考及解答)在 Visual Basic 中,当用数组作为过程的参数时,使用的传值方式是 。解答:本题数组参数传送的特点。当用数组作为过程的参数,Visual Basic 把实际参数的起始地址传给过程,而不是把数组中的各个元素一一传送给过程。本题正确为:传地址。3. (自测练习,提供参考及解答)如果两个或两个以上的标准模块中含有相同的过程名,则在调用时
11、必须在过程名前加上。:模块名;解答:略4. (自测练习,提供参考及解答)有一个如下的函数:Function f (n Asf = 100eger)If n Mod 2 = 0 Then Exit FunctionEnd If f = 200End Function当用语句 x = f (100)调用后,x 的值为。解答:本题函数的使用。由于 100 是偶数,所以在语句“f = 200”之前,函数将退出,返回值是 100。本题正确为 100。5.(自测练习,提供参考编写如下程序代码。 Dim aSub test() a = a + 1b = b + 1c = c + 1及解答)在通用中定义 a,
12、再在窗体中添加一个命令按钮,PrSub:; a; b; cEnd Sub Private Suba = 2: b = 3: c = 4Call testd1_Click()PrMain:; a; b; cCall testPrMain:; a; b; cEnd Sub程序运行后,窗体中显示四行分别是:Sub:3 1 1Main:3 3 4Sub:4 1 1Main:4 3 4: 在通用中定义 a,即 a 为全局变量,在模块级代码和过程中 a 代表同一个变量;而变量b 和c 未做任何,它们是局部变量,在模块级代码和过程中,b 和 c 各代表不同的变量,在调用过程中,变量的值也不保留,每次调用均取
13、初值 0。编程题1. (提交练习,无参考及解答)编写程序,利用 Function 过程计算下式的值: y =(1+2+3+m)+(1+2+3+n) / (1+2+3+p) 。m、n、p 的值由 Inputbox 函数输入。求和操作写成过程。(自行设计界面,提交窗体文件,保存名为 f5)【参考】程序代码设计:Private Sub Form_Click()m = Val(InputBox(输入 m:)n = Val(InputBox(输入 n:)p = Val(InputBox(输入 p:)y = (sum(m) + sum(n) / sum(p)Prsum=; y End SubPrivate
14、 Function sum(n as s = 0For i = 1 To n s = s + iNext i sum = sEnd Functioneger)分析:sum 函数有一个形参 n,利用函数可以求出 1n 的和,返回主调过程。2. (提交练习,无参考及解答)编写程序,利用 Sub 过程计算下式的值: s=a!+b!+c!。a,b,c 的值由键盘输入 (自行设计界面,提交窗体文件,保存名为 f6)【参考】Private Sub Form_Click()Dim s Aseger, n AsegerFor i = 1 To 3n = InputBox(n=) Call fact(n, f)
15、s = s + fNext iPrs=; sEnd SubPrivate Sub fact(n, f) f = 1For i = 1 To nf = f * i Next iEnd Sub分析:fact 过程有两个参数 n 接收要求阶乘的数,结果存放在 f 中,传递给 Form_Click 事件过程中的实参 f 。然后加入和 s 中。3. (提交练习,无参考及解答)编写两个 Function 过程,分别计算 40,16,34,26,52 的最大公约数和最小公倍数。(自行设计界面,提交窗体文件,保存名为 f7)【参考】Private Sub Form_Click()Dim a(1 To 5) A
16、segera(1) = 40: a(2) = 16: a(3) = 34: a(4) = 26:a(5) = 52a1 = a(1)a2 = a(2)b =(a1, a2) d = bc = a(1) * a(2) / bFor i = 3 To 5a1 = ca2 = a(i)b =(a1, a2)c = c * a(i) / bNext iPr最小公倍数为:; cFor i = 3 To 5d =(d, a(i)Next iPr最大公约数为:; dEnd SubPrivate Function(x, y)If x y Then t = xx = y y = tEnd Ifr = x Mod
17、 yDo While r 0 x = yy = rr = x Mod yLoop= yEnd Function分析:求多个数的最大公约数可以先求其中两个数的最大公约数,然后再求这个数和下一个数的最大公约数,直到求完。最小公倍数的求法类似。4. (提交练习,无参考及解答)用随机数函数 Rnd 生成一个 8 行 8 列的数组(各元素值在 100 以内),然后找出某个指定行内值最大的元素所在的列号。要求:查找指定行内值最大的元素所在列号的操作,通过一个过程来实现。指定的行用 InputBox 函数输入。(自行设计界面,提交窗体文件,保存名为 f8)解答:Function Max(b() Aseger
18、, row Aseger)mb(row, 1)col1For i=2 To UBound(b, 2)If b(row, i)m ThenLet mb(row, i)col=iEnd IfNext iMaxcolEnd FunctionPrivate Sub Form_Click()RandomizeDim A(1 To 8, 1 To 8) AsegerDim row AsegerFor i=1 To 8For j=1 To 8A(i, j)=(Rnd*100)Next jNext iPr“所生成的数组为:”For i1 To 8For j1 To 8PrA(i,j);Next jPrNext iDorow = InputBox(请输入指定的行号:”)Loop Until row1 And row8colMax(A(), row)PrPr”第
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中外歌剧鉴赏知到课后答案智慧树章节测试答案2025年春齐鲁师范学院
- 海南大学《数字出版设计》2023-2024学年第一学期期末试卷
- 北京工商大学《基础日语⑴》2023-2024学年第一学期期末试卷
- 辽宁省朝阳市2025届高三下学期诊断性考试物理试题含解析
- 华阴市2024-2025学年小升初数学模拟试卷含解析
- 2025届河南省开封市重点中学高三考前热身英语试题解析含解析
- 云南国土资源职业学院《大学英语Ⅲ(艺体类)》2023-2024学年第二学期期末试卷
- 古老的船屋文化江苏无锡的世界文化遗产
- 智能农业需求背景调研
- 2025年中考语文文言文总复习:文言文阅读之对比阅读(讲义)教师版
- 污水处理厂安全教育培训
- 护理工作血液透析操作规范
- Unit+6+The+Admirable+Lesson+2+History+makers 高一英语北师大版(2019)必修第二册
- 设计变更流程图
- 学校消防防火月检查记录表
- 外墙水包砂施工方案模板
- 无犯罪记录证明申请表
- 聚酯生产技术 聚酯工艺技术
- 2023年四川省绵阳市中考语文试卷真题(含答案)
- 新大象版三年级下册科学第二单元《电与我们的生活》全部课件(共5课时)
- 混床计算书(新)
评论
0/150
提交评论