《第六章有答案过程.docx》由会员分享,可在线阅读,更多相关《第六章有答案过程.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章有答案过程第六章 过程 一、单选题 1在过程定义中用_C_表示形参的传值。A)Var B)ByDef C)ByVal D)ByValue 2若已经编写一个 Sort 子过程,在该工程中有多个窗体,为了便利调用 Sort 子程序,应当将子放在_D_中。A)窗体模块B)类模块 C)工程D)标准模块 3在过程中定义的变量,若希望在离开该过程后,还能保存过程中局部变量的值,则运用_D_关键字在过程中定义局部变量。A)DimB)PrivateC)PublicD)Static 4以下正确的描述是:在 Visual Basic 应用程序中_B_。A)过程的定义可以嵌套,但过程的调用不能嵌套。B)过程的
2、定义不行以嵌套,但过程的调用可以嵌套。C)过程的定义和过程的调用均可以嵌套。D)过程的定义和过程的调用均不能嵌套。5下列过程语句说明中,正确的是_B_。A)Sub f1(ByVal n%( )B)Sub f1(x( ) as integer) C)Sub f1(n%) as intergerD)function f1%(f1%) 6有子过程语句说明:Sub fSum(sum%,ByVal m%,ByVal n%) 且在事务过程中有如下变量说明:Dim a%,b%,c! 则下列调用语句中正确的是_A_。A)fsum a,a,b B)fsum 2,3,4 C)fsum a+b,a,b D)Call
3、 fsum (c,a,b) 7有如下程序,其运行的结果是_D_。Public Function f(m%,n%) Do While m<>nDo while m>n : m=m-n : LoopDo while m<n : n=n-m : Loop Loop F=m End Function Private Sub Command1_Click( ) Print f(24,18) End Sub A)0 B)2C)3 D)6 8假定有如下的 Sub 过程: Sub S(x As Single,y As Single) t = x x =t/yy =t Mod yEnd
4、Sub在窗体上画一个吩咐按钮,然后编写如下事务过程:Private Sub Commandl_Click ( )Dim a As Single Dim b As Single a =5 b =4 S a,bPrint a,b End Sub程序运行后,单击吩咐按钮,输出结果为_D_。A)54 B)11C)1.254D)1.251 9假定有以下两个过程:Sub S1(ByVal x As Integer,ByBal y As Integer)Dim t As Integert=x : x=y : y=t End Sub Sub S2(x As Integer, y As Integer)Dim
5、t As Integert=x : x=y : y=t End Sub 则以下说法中正确的是_B_。A)用过程 S1 可以实现交换两个变量的值的操作,S2 不能实现 B)用过程 S2 可以实现交换两个变量的值的操作,S1 不能实现 C)用过程 S1 和 S2 都可以实现交换两个变量的值的操作 D)用过程 S1 和 S2 都不能实现交换两个变量的值的操作 10阅读程序:Sub subP(b( ) As Integer)For i =1 To 4b(i)=2*i Next i End Sub Private Sub Commandl_Click()Dim a(1 To 4)As Integera
6、(1)=5:a (2)=6:a (3)=7: a (4)=8subP a ()For i =1 To 4 Print a(i);Next i End Sub 运行上面的程序,单击吩咐按钮,输出结果为_A_。A)2 4 6 8B)5 6 7 8C)10 12 14 16D)出错 11设有如下通用过程:Public Function f(x As Integer) Dim y As Integer x = 20y = 2 f = x * yEndFunction 在窗体上画一个名称为 Command1 的吩咐按钮,然后编写如下事务过程:Private Sub Command1_Click() St
7、atic x As Integer x = 10 y=5 y = f(x) Print x; yEnd Sub 程序运行后,假如单击吩咐按钮,则在窗体上显示的内容是_C_。A)105 B)20 5 C)2040D)1040 12阅读程序: Function F(a As Integer) b = 0 Static c b = b+1 c = c+1 f = a+b+c End Function Private Sub Commandl_Click ()Dim a As Integera =2For i =1 To 3Print F(a);Next i End Sub 运行上面的程序,单击吩咐按
8、钮,输出结果为_B_。A)444B)456 C)468D)479 二、填空题 1 阅读下面程序,子过程 Swap 的功能是实现两个数的交换,请将程序填写完整。Public Sub Swap(x As Integer, y As Integer) Dim t As Integer t = x : x = y : y = tEnd Sub Private Sub Command1_Click()Dim a As Integer, b As Integera = 10: b = 20 S 或 Call S) Print a = ;a , b =; b End Sub 2下列程序中,fac 是求 n!
9、的递归函数,请将程序填写完整。 Public Function fac(n As Integer) If n = 1 Thenfac = 1Else fac = n * fac(n-1)End If End Sub3如下程序,运行的结果是 144 ,函数过程的功能是用递归函数实现将十进制数以 r 进制显示。Public Functionf(ByVal n% , ByVal r%) If n <> 0 Thenf =f(nr,r)Print n Mod r; End If End Function Private Sub Command1_Click()Print f(100,8)
10、End Sub 4如下程序,运行的结果是6 ,函数过程的功能是用碾转相减法求 m、n 的最大公约数。Public Functionf(m% , m%) Do While m <> nDo While m > n :m = m – n :Loop Do While m < n :n = n – m :LoopLoopf = m End Function Private Sub Command1_Click()Print f(24,18) End Sub 5两质数的差为 2,称此对质数为质数对,下列程序,是找出 100 以内的质数对,并成对显示结果。
11、其中函数 IsP()推断 m 是否为质数。 Public FunctionIsP(m%) As Boolean Dim i%IsP = TrueFor i = 2 to Int(Sqr(m) If m Mod i= 0 Then IsP = FalseNext i End FunctionPrivate Sub Command1_Click()Dim i%p1 = IsP(3)For i = 5 to 100 step 2p2 = IsP(i)If p1 AND p2 Then Print i-2;i p1 = p2 Next i End Sub 三、编程题 1编写一个冒泡排序子过程,对已知的
12、若干个整数按递增次序排列。提示:子过程形式为Sub Sort(a%()。2编写一个二分查找函数过程,查找某数,找到返回该数在数组中的下标位置,找不到值为-1。提示:函数过程形式为 Function Search1(a%(),Key%) As Integer。3编写一个将二进制字符串(全部由 0 和 1 组成),转换成十进制数的函数。提示:函数过程形式为 Function TranBtoD(s$) As Single。主调函数调用后,并显示二进制字符串和转换结果。4对于输入的文本统计各字母出现的次数,并有序地显示文本中的单词。提示:依据题目要求,本题实现三个功能:(1)统计各字母出现的次数;(2)从输入的文本框内容中分别出单词,可用 Split()函数;(3)分别出的单词按递增依次排列。