试题

试题 试卷

logo

题型:单选题 题类:常考题 难易度:普通

浙江省高一下学期信息技术期末考试试卷

运行如下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、
举一反三
某学校开设多样化选修课程,学生可以根据个人兴趣和特长选择选修课。假设每门选修课的选课人数不超过40,学生选课的相关信息存放在数据库文件“student.accdb”的data表中,选课查询程序运行时界面如第16题图所示。

程序功能:在文本框Text1中输入课程号,单击“查询”按钮Command1,在列表框List1中显示选修本课程的学生信息。如果没有找到,在列表框中显示“该课程当前无人报名”。按此要求将程序补充完整。

Private Sub command1_click()

Dim xh(1 to 40),xm(1 to 40) As String   '学号和姓名的数组

Dim i,num as integer

Dim conn As New ADODB.Connection, rs As New ADODB.Recordset

Dim strSQL As String

conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + App.Path + "\student.accdb"     '打开到数据库的链接

 conn.Open

strSQL ="select xh,xm from data where '课程=&(Text1.Text) & '" '设置查询的SQL语句

 Set rs.ActiveConnection = conn      '设置rs的ActiveConnection属性,指定与其关联的数据库链接

  rs.Open strSQL   '打开记录集,将从表student中读取的结果集保存到记录集rs中

  List1.Clear

num=0

Do while not rs.EOF

             ①       

    xh(num)=rs.Fields("xh")

      xm(num)=rs.Fields("xm")

  rs.MoveNext

loop

rs.Close

  conn.close

set rs=nothing

set conn=nothing

For  i=1 to num

      ②     

Next i

if num=0 then list1.additem("该课程当前无人报名")

End Sub

编写VB程序,功能为:单击“发牌”按钮“Command1”后,从一副扑克牌(不包括大王、小王、J、Q、K、A)中随机抽取5张牌,牌的花色(♠♥♣♦)忽略,显示在列表框“List1”中。如果这5张牌由一个对子和一个顺子(3张牌连续)组成,则在标签“Label1”中显示“运气不错:)”,否则显示“运气一般:|”。程序运行界面如图所示。

实现上述功能的VB程序如下:

Private Sub Command1_Click()

  List1.Clear

  Dim five(1 To 5) As Integer

  Dim i As Integer, j As Integer, k As Integer

  Dim p As Integer, find_pair As Boolean

  '随机抽取5张牌,将牌的点数存储在数组five中,并在List1中显示。代码略

  i = 5: p = 1: find_pair = False

  Do While i>= 2

    j=p

    Do While j <= i - 1

      If five(j) > five(j + 1) Then

        t = five(j): five(j) = five(j + 1): five(j + 1) = t

      ElseIf five(j) = five(j + 1) And Not find_pair Then

        t = five(1): five(1) = five(j): five(j) = t

        t = five(2): five(2) = five(j + 1): five(j + 1) = t

        find_pair = True

        i = i + 1

        p = _____________

        Exit Do

      End If

      j = j + 1

    Loop 

    i = i - 1

  Loop

  k = 0

  For i = 3 To 4

    If  Then k = k + 1

  Next i

  If five(1) = five(2) And k = 2 Then

    Label1.Caption = "运气不错:)"

  Else

    Label1.Caption = "运气一般:|"

  End If

End Sub

请回答下列问题:

返回首页

试题篮