相关试卷

  • 1、数制转换。将一个K进制(k<=10)数x转换成十进制数可采用如下方法:主要方法是从右向左,依次取数x的各位数字,分别计算出该数从右边数起的第i位数字与k(i-1)的积,再将其累加,直到所有的数字取完为止。例如,将五进制数1231转换成十进制数的方法如下:

    下列Visual Basic程序的功能是将K进制(k<=10)数x转换成十进制数。界面如图所示,在文本框Text1中输入数制k,在文本框Text2中输入数x,单击"转换"按钮(Command1)后,在标签Label4中输出转换的结果。

     

    解决此问题的算法流程图如图所示,相应的Visual Basic程序如下:

    Private Sub Command1_Click()

    Dim b As Long, i As Integer, k As Integer, x As Long, t As Integer

    b = 0: i = 1

    k = Val(Text1.Text)

    x = Val(Text2.Text)

    t = x Mod 10

        Do While      ①    

            b =       ②     

            x = x \ 10

            t = x Mod 10

            i = i + 1

        Loop

    Label4.Caption = Str(k) + "进制数" + Text2.text + "转换成十制数为" + Str(b)

    End Sub

    在程序①和②划线处,填入适当的语句或表达式,把程序补充完整:

    (1)、程序中①划线处应填入
    (2)、程序中②划线处应填入
  • 2、普源为晚上的班级联欢会设计了一个抽奖程序,将所有同学的编号和对应的姓名分别保存在数组a(全班共50个同学,编号为1到50)和数组b中,程序会随机产生一个1到50的正整数(同时包括1和50),作为中奖编号。

    程序界面如图所示,左边列表框List1中显示同学的编号和姓名,单击"抽奖"按钮(Command1),在标签Label3中显示抽中的编号,同时在标签Label4中显示"恭喜***同学",其中具体同学的姓名从数组b中获取。

    解决此问题的程序段如下,请在程序①和②划线处,填入适当的语句或表达式,把程序补充完整:

    Dim a(1 To 50) As Integer

    Dim b(1 To 50) As String

    Function search(m As Integer) As Integer

    search = 0

    For i = 1 To 50

        If m = a(i) Then

           search = a(i)

        End If

    Next i

    End Function

    Private Sub Command1_Click()

    Dim c As Integer,t as integer

    Randomize

    Label3.Caption = Str(c)

    t = search(c)

      If t <> 0 Then

        Label4.Caption = "恭喜" +  + "同学"

       End If

    End Sub

    Private Sub Form_Load()

        ' 此过程用于对数组a和数组b进行初始赋值,代码略

    End Sub

  • 3、设有n盏灯,放在一排。从1 到 n依次顺序编号。有 n个人也从1到n依次编号。第1个人(1号)将灯全部关闭,第2个人(2号)将凡是2的倍数的灯打开,第3个人(3号)将凡是3的倍数的灯做相反处理(该灯如果为打开的,则将它关闭,如关闭的将它打开),以后的人和3号一样,将凡是自己号数倍数的灯做相反处理。问当n个人操作后,哪几盏灯是亮的。(亮灯为0,关闭为1)

    为了实现这一目标,完善下列程序,使之能完成该功能。

    Private Sub command1_click()

       Const n=20

       Dim i as integer,j as integer

       Dim a(1 to n) as integer

       For j=1 to n

          a(j)=0

       next j

       for i=1 to n

          for j=1 to n

             if j mod i=0 then

                

             End if

           Next j

        Next i

        For j=1 to n

           If  then list1.additem str(j)

        Next j

    End Sub

  • 4、有如下流程图结构,该流程图中输出的前2个值依次分别是

  • 5、有如下Visual Basic程序段:

    Dim a As Integer, b As Integer, c As Integer

    a = 20

    b = 0

    c = 2

    Do While a > b And a > c

       b = b + 1

       c = c + b

    Loop

    问:该程序段运行后,

    (1)、语句“b=b+1”执行的次数为
    (2)、变量c的值为。 
  • 6、有如下Visual Basic程序段:

    s = 0

    a = 5

    For i = 1 To 10 Step 2

        a = a + i

        s = a * i

    Next i

    问:该程序段运行后,

    (1)、变量i的值是
    (2)、变量s的值是
  • 7、有如下Visual Basic程序段:

    a = 5

    b = Len("1011")

    If a > b Then

      Label1.Caption = "请重新输入"

    Else

     Label1.Caption = "欢迎光临"

    End If

    该程序段运行后,在标签Label1上显示的是

  • 8、有如下Visual Basic程序段:

    a = "1100101"

    b = Mid(a, 2, 4) + "101"

    该程序段运行后,变量b的值为

  • 9、闰年条件:能被4整除且不能被100整除或能直接被400整除。写出闰年的VB表达式(年份用变量y)
  • 10、将数学表达式S= 2+10512+P+xy 写成VB表达式为
  • 11、有以下几种流程图符号:

    ①输入输出框 ②连接框 ③流程线 ④判断框 ⑤处理框 ⑥开始结束符

    A~F六种流程图符号代表的含义依次是  

  • 12、阅读下面程序:

    Private Sub command1_click()

       a=val(text1.text)

    b=val(text2.text)

    if a=b then

       text3.text=str(a)

       exit sub

    end if

    do while b<>0

       r=a mod b

       a=b

       b=r

    loop

    text3.text=str(a)

     End Sub

    在text1、text2中输入30、6,则text3中的值为(  )

    A、1 B、3 C、6 D、9
  • 13、在Visual Basic中程序段是计算(  )公式的

     s=0

       For i=1 To 10

         t=1

         for j=1 to i

    t=t*j

         next j

         s=s+t

       Next i

    A、s=1+2+3+4+5+6+7+8+9+10 B、s=1*2*3*4*5*6*7*8*9*10 C、s=1!+2!+3!+4!+5!+6!+7!+8!+9!+10!  D、s=1+2*3+3*4+4*5+5*6+6*7+7*8+8*9+9*10
  • 14、有如下Visual Basic程序段:

    k = 1

    For j = 2 To 100

    If a(j) > a(k) Then k = j

    Next j

    x = a(k)
    该程序段执行后,变量x中存储的是(  )

    A、a(1)至a(100)中的最小值 B、a(1)至a(100)中的最大值 C、a(2)至a(100)中的最小值 D、a(2)至a(100)中的最大值
  • 15、下列语句执行后,s的值为(  )

    For i=1 to 30

       If i mod 5=0 then

          s=s+i

          i=i+6

       end if

    next i

    A、45 B、55 C、65 D、75
  • 16、要计算S=1-2+3-4+5……-100以下不正确的程序段是(  )

    S=0 :T=1

    For i=1 to 100

    S=s+i*T

    T=-T

    Next i



    S=0

    For i=1 to 100

    S=s+i*(-1)^(i+1)

    Next i




    S=0

    For i=1 to 100

    S=s+i*(-1)^i

    Next i




    S=0:S1=0:S2=0

    For i=1 to 50

    S1=s1+2*i-1

    S2=s2+2*i

    Next i

    S=s1-s2

    A、 B、 C、 D、
  • 17、在Visual Basic中,有如下程序:

    Private Sub Command1_Click()

      Dim a As Integer, b As Integer, c As Integer

      Dim d As Integer, z As Integer

      a = Val(Text1.Text): b = Val(Text2.Text): c = Val(Text3.Text)

      d = max(a, b)

      z = max(d, c)

      Text4.Text = Str(d)

      Text5.Text = Str(z)

    End Sub

    Function max(x As Integer, y As Integer) As Integer

      If x > y Then max = x Else max = y

    End Function

    运行该程序,在文本框Text1、文本框Text2、文本框Text3中分别输入2、-5、6后,单击命令按钮Command1,文本框Text5中显示的是(  )

    A、-5 B、2 C、6 D、24
  • 18、运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。发生"类型不匹配"错误时所执行的语句是(  )

    Private Sub Command1_Click()

      Dim a As Integer, b As Integer

      a = 10                                        '①

      b = 20                                        '②

      Text1.Text = "a+b=" + Val(a + b)              '③

    End Sub                                         '④

    A、 B、 C、 D、
  • 19、运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。发生"下标越界"错误时所执行的语句是(  )

    Private Sub Command1_Click()

      Dim a(0 To 5) As Integer

      Dim i As Integer               '①

      a(0) = 1                       '②

      For i = 1 To 5

        a(i) = 2 * a(i - 1) + 1      '③

      Next i

      Text1.Text = Str(a(6))         '④

    End Sub

    A、 B、 C、 D、
  • 20、VB中,设x=298,能得到其个位数字“8”的正确表达式是(  )
    A、Int(x/100)*100 B、Int(x/10)*10 C、Int(x/100) D、x-Int(x/10)*10
上一页 1519 1520 1521 1522 1523 下一页 跳转