数组与过程练习(答案)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x=4 y = 12 Call a(x, y) Print x+y End Sub A.8 B.16√
C.12.4
D.5.2
wk.baidu.com
第二卷 主观题 填空题(共 30 分,每项 2 分。注意:填两个空的题的时候,要按照从上至下,从左至右的 顺序添入答题卡! ) 1. 函数 odd 用于判断一个数是否是奇数。当单击命令按钮时,产生[1,9]之间的随机数,调 用 odd 过程,判断该数是否为奇数。如果是则显示“奇数” ,否则显示“偶数” 。14 Private Sub odd(n As Integer) Print n; If n/2<>n\2 Then Print "奇数" Else Print “偶数” End If End Sub Private Sub Command1_Click() Dim x As Integer Randomize x =Int(Rnd*9+1) odd x End Sub 2. 编写一个求最大公约数的函数,并调用该函数,程序如下:16 Function gcd(ByVal a As Integer,ByVal b As Integer) As Integer Dim re as integer Do While b<>0 re=a mod b a=b b=re Loop gcd=a End Function Sub Command1_Click() Dim x As Integer,y As Integer, z As integer X=96 Y=64 Z = gcd(x,y) Print “结果=”;z End Sub 3. 在窗体中添加一个名称为 Text1 的文本框,两个名称分别为 Command1 和 Command2 的
第六章 过程
第一题:是非题(共 10 分,每项 1 分) 1. 通用过程可以放在标准模块中,也可以放在窗体模块中。8 A.对√ B.错 2. 函数调用时,实际参数与形式参数在数量必须完全一致。9 A.对 B.错√ 3. 数组作为过程参数时,使用的是地址传送方式。4
A.对√ B.错 4. 函数过程和子过程的区别是子过程结束将返回值过程值, 函数过程结束不必返回函数值。 A.对 B.错√ 第二题、 单选题(共 45 分,每项 1.5 分) 1. 下列说法错误的是______。7 A.在同一模块不同过程中的变量可以同名。 B.不同模块中定义的全局变量不可以同名。 C.引用另一模块中的全局变量时,必须在变量名前加模块名。√ D.同一模块中不同级的变量可以同名。 2. Sub 和 Function 的最大差别在于______。5 A.Function 有返回值,而 Sub 没有√ B.Function 需要输入参数,而 Sub 不用 C.Sub 可以用 Call 语句调用,而 Function 不行 D.两者并无不同 3. 全局变量必须在______中定义 9 A.标准模块√ B.任意模块 C.窗体模块 D.类模块 4. 要想在过程调用后返回两个结果,下面的过程定义语句合法的是______。11 A.Sub Proc1(ByVal n,Byval m) B.Sub Proc1(ByVal n, m) C.Sub Proc1(n,Byval m) D.Sub Proc1(n, m) √ 5. 使用 Public x 声明一个全局的变量时,该语句应放在______。9 A.过程中 B.窗体模块的通用声明段 C.标准模块的通用声明段√ D.窗体模块或标准模块的通用声明段 第三题、 简单程序(共 15 分,每项 1.5 分) 1. 以下程序的输出结果是______。2 Option Base 0 Private Sub Command1_Click() Dim a a=Array(1,2,3,4) j=1 For I=3 To 0 Step -1 s=s+a(I)*j j=j*10 Next I Print s End Sub A.4321 B.12 C.34 D.1234√ 2. 写出下列程序的运行结果,并说明函数的功能。4 Public Function f(m%, n%) Do While m <> n Do While m > n m=m–n Loop Do While n > m n=n–m Loop
Loop f=m End Function Private Sub Command1_Click() print f(24, 18) End Sub A.6√ B.8 C.10 D.12 3. 单击命令按钮之后,下列程序代码的执行结果为。12 Private Function p(n As Integer) For I = 1 To n Sum = Sum + I Next I p = Sum End Function Private Sub Command1_Click() s = p(1) + p(2) + p(3) + p(4) Print s; End Sub A.10 B.20√ C.24 D.28 4. 写出如下程序运行结果。3 Function f(m As Integer) As Integer b=1 Static c As Integer b=b+1 c=c+1 f=m*b*c End Function Private Sub Command1_Click() Dim a As Integer a=2 sum=0 For I = 1 To 3 sum=sum+ f(a) Next I print sum End Sub A.12 B.16 C.20 D.24√ 5. 写出下面过程运行后显示的结果。3 Public Sub a(n As Integer, ByVal m As Integer) x = x Mod 10 y = y \ 10 End Sub Private Sub Command1_Click() Dim x As Integer, y As Integer
第五章 数组
第二题、 单选题(共 45 分,每项 1.5 分) 1. 语句 Dim a(3,-3 to 0,3 to 6)声明的数组 a 有______元素。3 A.12 B.27 C.64√ D.80 2. 用语句 Dim a(-3 to 5) As Integer 定义的数组的元素个数是______。6 A.7 B.8 C.9√ D.10 第三题、 简单程序(共 15 分,每项 1.5 分) 1. 以下程序的输出结果是______。12 Option Base 1 Private Sub Command1_Click() Dim a(10),p(3) As Integer k=5 For I=1 To 10 a(I)=I Next I For I=1 To 3 p(I)=a(I*I) Next I For I=1 To 3 k=k+p(I)*2 Next I Print k End Sub A.33√ B.28 C.35 D.37 2. 运行下面程序后,在弹出的消息窗口中显示的是______。 Private Sub Form_Click() Dim Week,Day Week=Array("Mon","Tue","Wed","Thu","Fri","Sat","Sun") Day=Week(2) Day=Week(4) MsgBox Day End Sub A.Fir√ B.Tue C.Wed D.Thu 第二卷 主观题 填空题(共 30 分,每项 2 分。注意:填两个空的题的时候,要按照从上至下,从左至右的 顺序添入答题卡! ) 1. 以下程序的功能是:用 Array 函数建立一个含有 8 个元素的数组,然后查找并输出该数 组中元素的最大值。请填空。8 Option Base 1 Private Sub Command1_Click() Dim arr1, Max as Integer
arr1 = Array(12, 435, 76, 24, 78, 54, 866, 43) Max = arr1(1) For I = 1 To 8 If arr1(I) > Max Then Max = arr1(I) Next I Print "最大值是: "; Max End Sub 2. 请用正确的内容填空。下面程序用“选择”法将数组 a 中的 10 个整数按升序排列。13 Option Base 1 Private Sub Form_Click() Dim a a = Array(678, 45, 324, 528, 439, 387, 87, 875, 273, 823) For I=1 To 9 For j= I+1 To 10 If a(I) > a(j) Then t=a(I): a(I)=a(j): a(j)=t End If Next j Next I For I=1 To 10 Print a(I); Next I End Sub 3. 请用正确的内容填空。以下程序用随机函数模拟掷骰子,统计掷 50 次骰子出现各点的次 数。4 Private Sub Form_Click() Dim d(6) For I=1 To 50 n=Int (Rnd * 6 +1) d(n)=d(n)+1 Next I For I= 1 To 6 Print I;"点出现";d(I);"次" Next I End Sub
命令按钮。要求程序运行后,用户向文本框中输入字母,单击 Command1 按钮则文本框中 字母全部转换为大写;然后单击 Command2 按钮则文本框中字母全部转换为小写。请将下 列程序补充完整。 Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer) Text1.tag = Text1.Text End Sub Private Sub Command1_Click() Text1.Text = Ucase(Text1.Text) End Sub Private Sub Command2_click( ) Text1.Text = Lcase(Text1.Tag) End Sub