niusouti.com
更多“设事故树的最小径集为{X<sub>1</sub>,X<sub>4”相关问题
  • 第1题:

    Command1_Click()事件代码如下: Private Sub Command1_Click() Dim x As Integer, Y As Integer x = 6 : Y : 8 Call ABC(X, Y) Print X; Y End Sub Private Sub ABC(ByVal X As Integer,Y As Integer) X = X + 4 Y = Y = 2 End Sub 事件发生后,X和Y的值分别为 ______。

    A.6, 8

    B.10, 10

    C.10, 8

    D.6, 10


    正确答案:D
    解析:事件发生时,首先定义两个变量X,Y并给他们赋值6和8。然后调用过程ABC,在过程ABC中有两个形参X,Y。X是按值传递,Y是按地址传递,所以在ABC过程中,对形参x的修改并不影响对应的实参x,但对形参Y的修改将影响到相应的实参Y。所以过程调用后,输出的X、Y值分别为6、100。

  • 第2题:

    有如下程序: Private Sub Command1_Click() Dim a As Single Dim b As Single a=5:b=4 Call Sub1(a,b) End Sub Sub Sub1(x As Single,y As Single) t=X X=t\Y Y=t Mod y End Sub 在调用运行上述程序后,a和b的值分别为

    A.0 0

    B. 1 1

    C.2 2

    D.1 2


    正确答案:B
    解析:考查考生对调用通用过程的掌握情况。
      [解题要点] 调用一个过程时,必须把实际参数传送给过程,完成形式参数与实际参数的结合,然后用实际参数执行调用的过程。因为在默认的情况下,变量都是通过“引用”传送给sub1过程,在这种情况下,可以通过改变过程中相应的参数来改变变量的值。过程Sub1的形参获得a,b的地址,此时x=5,y=4,在过程Sub1中,将x,即5的值赋给t,而将t\y的值赋给x,将t除以y的余数赋给y,此时x,y的值为1,1。
      [错解分析] 调用通用过程可以返回多个参数值。
      [考点链接] 过程调用、参数传递。

  • 第3题:

    有如下一个Sub过程: Sub mlt(ParamArray numbers()) n=1 For Each x In numbers n=n*x Next x Print n End Sub 在一个事件过程中如下调用该Sub过程: Private Sub Command1_Click() Dim a As Integer Dim b As Integer Dim c As Integer Dim d As Integer a=1 b=2 c=3 d=4 mlt a,b,c,d End Sub 该程序的运行结果为( )。

    A.12

    B.24

    C.36

    D.48


    正确答案:B

  • 第4题:

    执行下面程序,第一行输出结果是【 】,第二行输出结果是47。

    Option Explicit

    Private Sub Form_Click( )

    Dim A As Integer

    A=2

    Call Sub1 (A) End Sub

    Private Sub1 (x As Integer)

    x=x*2+1

    If x<10 Then

    Call Sub1 (x)

    End If

    x=x*2+1

    Print x

    End Sub


    正确答案:23
    23 解析:递归是一种十分有用的程序设计技术。递归过程是在过程定义中调用(或间接调用)本过程的过程。递归过程的关键部分就是要子过程函数 Sub1()被调用了多少次。当x=2时调用了第1次,当 x=5时调用了第2次,当x=11时不再调用,退出之前分别按x=23和x=47输出。注意:通用过程的调用和通用过程中的参数调用。

  • 第5题:

    单击命令按钮时,下列程序的执行结果是 Private Sub Command1_Click() BT 4 End Sub Private Sub BT(x As Integer) x=x*2+1 If x<6 Then Call BT(x) End If x=x*2 Print x; End Sub

    A.15

    B.16

    C.17

    D.18


    正确答案:D
    解析:此题在函数调用过程中采用了简单递归的方式,具体流程如下:主调过程调用BT过程,把实参4传递给BT过程中的形参x,由x=x*2+1语句推出x=9,此时不满足BT过程中判断语句的判断条件,执行x=x*2;Print x;语句。由x=x*2语句得到x值为18并输出,结束此次调用过程,返回到主调过程结束程序,输出结果为18。

  • 第6题:

    有如下程序。 Private Sub Commandl_Click() Dim a As Single Dim b As Single a=5:b=4 Call Sub1 ( a,B)End Sub Sub Subl(x As Single, y As Single) t=x x=t\y y = t Mod y End Sub 在调用运行上述程序后,a和b的值分别为

    A.0 0

    B.1 1

    C.2

    D.1 2


    正确答案:B
    解析:调用一个过程时,必须把实际参数传送给过程,完成形式参数与实际参数的结合,然后用实际参数执行调用的过程;因为在默认的情况下,变量都是通过“引用”传送给Sub1过程,在这种情况下,可以通过改变过程中相应的参数来改变变量的值;过程 Sub1的形参获得a,b的地址,此时x=5,y=4,在过程 Sub1中,将x,即5的值赋给t,而将t\y的值赋给x,将t除以y的余数赋给y,此时x,y的值为1,1。注意: 调用通用过程可以返回多个参数值。注意:过程调用、参数传递

  • 第7题:

    假定有如下的Sub过程:Sub Sub1 (x As Single, y As Single) t=x x = t/y y = t Mod yEnd Sub 在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_ Click() Dim a As Single Dim b As Single a = 5 b = 4 Sub1 a, b Print a; b End Sub 程序运行后,单击命令按钮,输出结果为______。

    A.5 4

    B.1 1

    C.1.2 5.4

    D.1.25 1


    正确答案:D
    解析:本题重点是在子过程的调用过程中,虚实参数的传送问题,变量a和b按址传送,返回子过程的x和y值。

  • 第8题:

    有如下一个Sub过程: Sub mlt (ParamArray numbers()) n=1 For Each x In numbers n=n * x Next x Print n End Sub在一个事件过程中如下调用该Sub过程: Private Sub Coinmand1_Click() Dim a As Integer Dim b As Integer Dim c As Integer Dim d As Integer a=1 b=2 c=3 d=4 mlt a,b,c,d End Sub 则运行该程序,结果为______。

    A.12

    B.24

    C.36

    D.48


    正确答案:B

  • 第9题:

    有如下Sub过程: Sub Sun(x As Single, y As Single) t=x x=t/y y=t Mod y End Sub 在窗体上的命令按钮Command1中,编写如下事件过程,执行该事件过程调用Sun过程,结果为( )。 Private Sub Command1_Click() Dim a As Single Dim b As Single a=5 b=4 Sun a, b Print a; b End Sub

    A.1.25 1

    B.5 4

    C.4 5

    D.1 1.25


    正确答案:A
    解析:本题考查过程的调用,如果用Call句调用子过程时,实际参数要放在括号中,如果不使用Call子句,则不必使用括号。本题参数调用时是按地址传递,因此Sun过程中变量的值改变也即改变了单击事件中的a、b变量值。Suna,b的执行过程是:t=x=5,x=t/y=1.25,y=tMody=1。

  • 第10题:

    以下能够正确计算n!的程序是( )。

    A.Private Sub Commandl_C1ick()

    B.hiVate Sub Commandl_C1ick() n=5:x=1 n=5:x=1:i=1 DO DO X=x*1 X=X*1 i=i+1 i=i+1 Loop while i<n Loop While<n Print x Ptinte x End Sub End Sub

    C.Private Sub Commandl_Click ()

    D.Pdvate Sub Commandl C1ick() n=5:X=1:i=1 n=5=:x=1:i=1 DO DO X=X*1 X=X*1 i=i+1 i=i+1 Loop While i>n Print x Print x End Sub End Sub


    正确答案:C
    解析:本题考查DoWhile语句的用法。首先我们知道n!=1×2×3×……×(n-1)×n,由于是累乘,因此x和i的初值都必须为l;其次就是循环执行条件的确定,由于使用的是While型循环,表示在满足条件时执行循环体中的代码,这里满足执行循环的条件应该是i=n。选项A和B的循环条件都是in,少了i=n的一次循环,实际上只执行了n-1次;而选项D则从i>n时才开始执行,不合题意;同时,选项B没有指定i的初值,系统会默认i;0,这也不合题意。本题正确答案为选项C。

  • 第11题:

    单击命令按钮时,下列程序的执行结果是 Private Sub Commandl_Click( ) BT 4 End Sub PriVate Sub BT(x As Integer) X=X * 2 + 1 If x <6 Then Call BT(x) End If X=x * 2 Print x; End Sub

    A.15

    B.16

    C.17

    D.18


    正确答案:D
    解析:此题在函数调用过程中采用了简单递归的方式,具体流程如下:主调过程调用BT过程,把实参4传递给BT过程中的形参x,由x=x*2+1语句推出x=9,此时不满足BT过程体中判断语句的判断条件,执行x=x*2;Printx;语句。由x=x*2语句得到x值为18并输出,结束此次调用过程,返回到主调过程结束程序,输出结果为18。

  • 第12题:

    问答题
    设事故树的最小径集为{X1,X4}、{X1,X2,X5,X6}、{X2,X3,X4},求事故树的最小割集。

    正确答案: T=(X1+X4)(X1+X2+X5+X6)(X2+X3+X4)=X1X2+X1X3+X1X4+X2X4+X4X5+X4X6
    最小径集:{X1,X2},{X1,X3},{X1,X4},{X2,X4},{X4,X5},{X4,X6}
    解析: 暂无解析

  • 第13题:

    在窗体中添加一个名称为Command1的命令按钮,然后编写如下程序: Public x As Integer Private Sub Command1_Click() x=10 Call s1 Call s2 MSgBox x End Sub Private Sub s1() x=x+20 End Sub Private Sub s2() Dim x As Integer x=X+20 End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果为______。

    A.10

    B.30

    C.40

    D.50


    正确答案:B
    解析:本题使用Call关键字调用子过程s1,s2。x=10在调用子过程s1后,x=30,但由于在s1中直接使用变量,所以该值的作用范围是局部的,即只限于s1子过程中,没有传回。在调用s2时,由于s2使用Dim...As关键字定义x,所以其值是模块范围的。故在消息框中输出的值,是从子过程s2传回的值。

  • 第14题:

    若有以下变量和函数说明:includecharCh='*';void sub(int x,int y,char ch,double*

    若有以下变量和函数说明: #include<iostream.h> charCh='*'; void sub(int x,int y,char ch,double*Z) { switch(ch) { case'+':*Z=x+y;break; case'-':*Z=x-y;break: case'*':*Z=x*y;break; case'/':*z=x/y;break: } } 以下合法的函数调用语句是( )。

    A.sub(10,20,Ch,y);

    B.sub(1.2+3,2*2,'+',&Z);

    C.sub(sub(1,2,'+',&y),sub(3,4'+',&x),'-',&y);

    D.sub(a,b,&x,ch);


    正确答案:B

  • 第15题:

    在窗体上画一个命令按钮,然后编写下列程序: Private Sub Command12_Click() Tt 3 End Sub Sub Tt(a As Integer) Static X As Integer X=X * a + 1 Print x; End Sub 连续三次单击命令按钮,输出的结果是

    A.1 5 8

    B.1 4 13

    C.3 7 4

    D.2 4 8


    正确答案:B
    解析:在过程Tt中,将Integer型变量x定义为静态变量(StatiC,Static语句的格式与Dim语句完全一样,但Static语句只能出现在事件过程,Sub过程或Function过程中,在过程中的Static变量只有局部的作用域,即只能在本过程中可见,但可以和模块级变量传递,即使过程结束后,其值仍能保留。Tt过程是将变量a的值乘以x然后加1赋给x,然后输出x的值。第一次调用Tt过程时,x未赋值,默认为0,所以输出结果为1;第二次调用Tt过程时,因为x为静态变量,所以它的值为上次调用后的值,即为1,加上乘以a加1后,x的值变为4,输出结果为4;同理,第三此调用后输出结果为13。

  • 第16题:

    假定有如下的Sub过程: Sub S(x As Single,y As Single) t=x x=t/y y=t Mod y End Sub 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim a As Single Dim b As Single a=5 b=4 S a,b Print a,b End Sub 程序运行后,单击命令按钮,输出结果为 ______ 。

    A.5 4

    B.1 1

    C.1.25 4

    D.1.25 1


    正确答案:D
    解析:Visual Basic的函数参数默认的方式是传地址的,所以函数S对参数做的改变会反映到原来的变量里。

  • 第17题:

    假定有如下的Sub过程:

    Sub Sub1(x As Single,y As single)

    t=x

    x=t/y

    y=t Mod y

    End Sub

    在窗体上画一个命令按钮,然后编写如下事件过程:

    Private Sub Command1_click()

    Dim a As Single

    Dim b As Single

    a=5

    b=4

    Sub1 a,b

    Print a;b

    End Sub

    程序运行后,单击命令按钮,输出结果为

    A.

    B.

    C.

    D.


    正确答案:D
    解析:在调用通用过程时要注意的是参数的传递方式。本题中两个变量都是以传值方式传递。根据传值方式的定义不难计算出本题结果。

  • 第18题:

    在窗体上画一个命令按钮,然后编写如下程序: Private Sub Comrnand3_Click( ) Cop 2 Cop 3 Cop 4 End Sub Sub Cop (a As Integer) Static x As Integer x=x + a Print x; End Sub 程序运行后,单击命令按钮,输出结果为

    A.2 3 4

    B.2 5 9

    C.3 5 4

    D.2 4 3


    正确答案:B
    解析:在过程Sub中,将Integer型变量x定义为静态变量(Static),Static语句的格式与Dim语句完全一样,但Static语句只能出现在事件过程,Sub过程或Function过程中,在过程中的Static变量只有局部的作用域,即只能在本过程中可见,但可以和模块级变量传递,即使过程结束后,其值仍能保留。Cop过程是将变量a的值加上x赋给x,然后输出x的值;第一次调用Cop过程时,x未赋值,默认为0,所以输出结果为2,第二次调用Tcl过程时,因为x为静态变量,所以它的值为上次调用后的值,即为2,加上a后,x的值变为5,输出结果为5,同理,第三次调用后输出结果为9。

  • 第19题:

    现有如下Sub过程: Sub fun(x es single,y as single) t = x x = t/y y = t mod y End sub在窗体上添加命令按钮(cmD) ,编写如下事件过程: Private sub cmd_click( ) Dim a as single Dim b as single a = 5 b = 4 fun a, b Msgbox a & chr(10) + chr(13) & b End sub运行程序后,单击按钮,则在消息框中显示的内容为( )

    A.1和1

    B.1.25和1

    C.1.25和4

    D.5和4


    正确答案:B
    解析:调用过程fun后,a和b传给参数x、y,运算后a、b分别是1.25、1。

  • 第20题:

    在窗体中添加一个名称为Command1的命令按钮,然后编写如下程序: Public x As Integer Private Sub Command1_Click() x=10 Call s1 Call s2 MsgBox x End Sub Private Sub sl() x=x+20 End Sub Private Sub s2() Dim x As Integer x=x+20 End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果为( )。

    A.10

    B.30

    C.40

    D.50


    正确答案:B
    解析: 本题考查变量作用域的知识。在整个程序中定义了一个全局变量x,在命令按钮的单击事件中对这个x赋值为10,然后依次调用s1和s2;在s1中对x自加了20;在s2中用Dim定义了一个局部变量x,按照局部覆盖全局的原则,在s2中的操作都是基于局部变量x而不是全局变量x。故此最终的输出结果为30。

  • 第21题:

    运行下列程序:

    Dim x, y

    Private Sub Form_Click( )

    x = 1: y = 1: z = 1

    fun1 (1)

    Print x; y; z

    End Sub

    Private Sub fun1(a)

    x = a + x: y = a + x: z = a + y

    End Sub

    单击窗体后,则输出结果是( )。

    A.1 1 1

    B.2 3 1

    C.2 3 4

    D.2 2 1


    正确答案:B

  • 第22题:

    在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim x As Integer,y As Integer x = 41: y = 54 Call sub1(x,y) x = x + 1 Print x; y End Sub Private Sub sub1(n As Integer, ByVal m As Integer) n=n Mod 10 m=m\10 End Sub 程序运行后,单击命令按钮,则窗体上显示的内容是

    A.41 54

    B.2 54

    C.1 3

    D.42 3


    正确答案:B
    解析:在Function((参数表列))过程中,“参数表列”指明了调用时传送给过程的参数类型和个数,每个参数的格式为:[ByVal][ByRef]变量名[()][As数据类型]其中系统默认为ByRef,它指明参数传送是以传地址进行的,实际参数变量的值会由于过程中对形参的操作而改变。而ByVal则不同,参数传送,是以传值传送的,实际参数变量的值不再由于过程中对形参的操作而改变,本题目中过程sub1的参数n是传地址引用,而参数m是传值引用,因此x的值改变,x=21\10+1=2;而y值不改变,仍为54。答案为选项B。

  • 第23题:

    有如下Sub过程:

    Sub ind(a As Integer)

    Static x As Integer

    x= x + a

    Print x:

    End Sub

    以下是调用它的事件过程,程序运行后,单击命令按纽Command1三次,输出结果为【 】。

    Private Sub Command1_Click()

    Ind 2

    End Sub


    正确答案:6
    6