函数与过程解读

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4章函数与过程

习题

一、判断题

1.函数过程与Sub过程必须用关键字Private或Public声明。

2.用关键字Public声明的过程可以被其他模块调用。

3.调用过程时的实参必须是与对应形参类型相同的表达式。

4.声明形参处缺省传递方式声明,则为按值传递(Byval)。

5.Sub过程中的语句Exit Sub,使控制返回到调用处。

6.Sub过程名在过程中必须被赋值。

7.用Public声明的数组是全局量。

8.过程中的静态变量是局部变量,当过程再次被执行时,它的值是上一次过程调用后的值。

二、填空题

1.数组名作过程实参,相应的形参传递方式为。

2.一维长整型数组a作过程形参写作“a() As Long”,二维长整型数组b作过程形参写作“”。

3.过程形参为整型,对应实参为5.64,传递给形参的值为。

4.调用过程时对形参的改变不会导致相应实参变量的改变,则该形参采用(按值传递/按地址传递)方式。

5.调用过程时对形参的改变就是对相应实参变量的改变,则该形参采用(按值传递/按地址传递)方式。

6.声明Single类型全局变量x,写作。

7.声明Integer类型静态变量x,写作。

8.在窗体Form1的过程中引用窗体Form2中的全局变量y,写作。

三、程序阅读题(写出下列程序的运行结果)

程序1. 请写出单击窗体后,窗体上的显示结果。

Dim i As Integer,n As Integer

Private Sub Form_Click()

Dim i As Integer

For i = 1 To 3

s = sum(i): Print "s ="; s

Next i

End Sub

Private Function sum(n As Integer)

Static j As Integer

j = j + n + 1: sum = j

End Function

程序2. 请写出单击窗体、输入5后,窗体上的显示结果。

Private Sub Form_Click()

Dim i As Integer, j As Integer, m As Integer

m = InputBox("请输入数组的行、列数")

ReDim a(m, m) As Integer

Call P(a, m)

For i = 1 To m

For j = 1 To i: Print Tab(j * 3); a(i, j); : Next j

Print

Next i

End Sub

Private Sub P( b() As Integer, n As Integer)

Dim i As Integer, j As Integer

For i = 1 To n

b(i, 1) = 1: b(i, i) = 1

Next i

For i = 3 To n

For j = 2 To i - 1

b(i, j) = b(i - 1, j - 1) + b(i - 1, j)

Next j,i

End Sub

程序3. 请写出单击窗体后,窗体上的显示结果。

Dim i As Integer, j As Integer, k As Integer, h As Integer Private Sub Form Click()

i = 0: j = 1: k = 2

Call q(1, i): Print i; j; k,

Call q(2, j): Print i; j; k,

Call q(3, k): Print i; j; k,

End Sub

Private Sub p(i)

i = i + 1: Print i; j; k,

End Sub

Private Sub q(ByVal h, j)

i = j

If h = 0 Then

Call p(j)

Else

If h = 1 Then Call p(i) Else j = j + 1

End If

End Sub

四、程序填空题

1.【程序说明】单击窗体后输出6~100之间所有整数的质数因子。

Private Sub pp( (1) k As Integer)

Dim i As Integer

i = 2

While k > 1

If (2) = 0 Then

Print i;

(3)

Else

i = i + 1

End If

Wend

Print

End Sub

Private Sub Form_Click()

For i = 6 To 100 : (4) :Next i

End Sub

2.【程序说明】下列过程用选择法对double类型数组按值从小到大排序。Private Sub Sort( (1) )

Dim i As Integer, j As Integer, k As Integer, t As Double For i = 1 To (2)

k=i

For j = i + 1 To n

If (3) Then k = j

Next j

t=a(i): a(i)=a(k): a(k)=t

Next i

End Sub

3.【程序说明】下列过程用于求一元n-1次代数多项式的值。

Private Function f( (1) , x As Double) As Double

Dim s As Double, i As Integer, t As Double

相关文档
最新文档