(精选)大学VB过程第三次课后作业

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

1.有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁。问第4个人的岁数,他说比第3个人大2岁。问第3个人,他又说比第2个人大2岁。问第2个人,他说比第1个人大2岁。最后问第1个人,他说是10岁。请问第5个人多少岁。

要求定义一求第n 个人年龄的递归函数过程,过程名为age ,形参为n.通过调用此过程完成功能。

2.定义一求n!的递归函数过程Fact ,通过调用它完成求1!+2!+3!+4!+5!。

3.M 函数定义如下:

设计一个计算M (n )的过程 M(n),并计算M(30)、M(40)、M(50)、M(60)、M(70)、M(80)、M(90)、M(100)、M(110)、M(120)的函数值。

4.

用户由文本框输入一串英文字符,统计其中各英文字母出现的次数。

对于读程序题目也要求上交,把代码输入到VB 中理解含义,保存上交。

5.此题目与

6.2.3知识点的理解相关,请大家参见下面的例题: Form1界面设计如下图,从左向右对应Command1,Command2,Command3,Command4:

Form2中定义的sub 子程序过程:

Public Sub add(ByVal a%, ByVal b%) '此处若定义为private 不可以,私有不能被其他窗体调用

Dim c%

c = a + b

Form1.Print c

End Sub

Form1中Command1代码:

Private Sub Command1_Click()

Dim a%, b%

a = InputBox("")

b = InputBox("")

Call Form2.add(a, b) 调用其他窗体模块中的过程,调用语句应加上窗体名

End Sub

标准模块Module1.bas 中的代码:

Public Function ave (ByVal a%, ByVal b%) As Single '此处若定义为private 是否可以

ave = (a + b) / 2

End Function

M (n )=⎩

⎨⎧ M (M (n +11)) n ≤100n -10 n >100

Public Function add(ByVal a%, ByVal b%) '此处若定义为private是否可以

add = a + b

End Function

标准模块Module2.bas中的代码:

Public Function add(ByVal a%, ByVal b%) '此处若定义为private是否可以

add = a + b

End Function

Form1中Command2代码:

Private Sub Command2_Click()

Dim a%, b%

a = InputBox("")

b = InputBox("")

Print ave(a, b) 调用标准模块1中的ave过程,因在标准模块2中无同名过程,故不需要加模块名End Sub

Form1中Command3及Command4代码:

Private Sub Command3_Click()

Print Module1.add(4, 5) 因标准模块1与标准模块2中出现了同名过程add,故调用语句中应加上模块名。

End Sub

Private Sub Command4_Click()

Print Module2.add(10, 20)

End Sub

6.窗体的通用声明处定义的模块级变量。

Option Base 1

Dim/Private a(4, 4) As Integer, i%, j%

7.读程序:P123 例题,Form1默认为启动窗体.读程序时从Form1的代码开始读.

理解全局(公有)变量的使用。

8.同名变量读程序写结果。上机验证你的结果正确性。

程序一:

Public t as integer

Sub Form_Click()

Dim t%

t=10

Form1.t=20

Print Form1.t,t

End Sub

程序二:

Option Explicit

Public x As Integer, y As Integer, z As Integer

Private Sub Form_Activate()

conflict_x

Debug.Print "x,y和z是", x, y, z

End Sub

Private Sub Form_Load()

x = 10

y = 20

z = 35

End Sub

Private Sub conflict_x()

Dim x As Integer

x = 135

Debug.Print "x,y和z是", x, y, z

End Sub

9.静态变量读程序,并上机验证你得到结果的正确性:

Private Sub Command1_Click()

Dim k As Integer

k = 5

Call static_variable(k)

Print "第一次调用:k="; k

k = 5

Call static_variable(k)

Print "第二次调用:k="; k

End Sub

Private Sub static_variable(ByRef n As Integer)

Static sta As Integer

sta = n + sta

n = sta + n

End Sub

例6.18 编写程序,验证大于5的奇数可以表示成三个素数的和。Option Base 1

Private Sub Command1_Click()

Dim n%, p%(), L%, i%, j%, k%, f As Boolean

n = Val(InputBox("请输入一个大于5的奇数n:")) ______________

相关文档
最新文档