试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:普通

浙江省白云中学2018-2019学年高一下学期信息技术3月月考试卷

某地区公共自行车收费信息如下:“60分钟内免费;60分钟以上至120分钟(含),收费1元;120分钟以上至180分钟(含),收费2元;租用超过180分钟(含)以上的时间,按每小时3元计费(不足一小时的按一小时计)”。现按要求编写VB程序,界面如图1所示,程序功能如下:在文本框Text1中输入租车时间,单击“计费”按钮Command1,在标签Label5中输出对应的租车费用。

图1

图2

图3

(1)、在应用程序界面设计时,为添加“计费”按钮,应使用图2所示的“控件工具箱”中的(请填写相应编号),并在如图3所示的“属性窗口”中,将属性值设置为“计费”。
(2)、请根据题意将下列程序补充完整。

Private Sub Command1_Click()

  Dim zysj As Single, zyfy As Single ‘zysj:租用时间,zyfy:租用费用

  zysj = Val(Text1.Text)

  If zysj <= 60 Then

    zyfy = 0

  ElseIf zysj <= 120 Then

    zyfy = 1

  ElseIf zysj <= 180 Then

   

  ElseIf zysj Mod 60 = 0 Then

    zyfy = (zysj - 180) / 60 * 3 + 3

  Else

    zyfy = (Int((zysj - 180) / 60) + 1) * 3 + 3

  End If

  Label5.Caption = Str(zyfy)

End Sub

举一反三
某校学生会选举需要从学校数据库中随机抽取若干名学生作为监票人。该数据库文件名为school.mdb,其中数据表student存储有关学生学号(xuehao)、姓名(xingming)相关信息,括号内的内容为对应字段名。该程序编辑界面如图所示,相关对象名可参考标识图。

当主持人点击按钮“生成抽号”后,下方的标签会显示可抽取的学号姓名,一定时间后显示被抽取作为监票人的学号姓名。

'xxxss:学校学生数,kcq:可抽取

'xhxm:学号姓名,kcq:可抽取

Dim xxxss As Integer

Dim xhxm(3000) As String

Dim kcq(3000) As Boolean


'cq_Click:启用两个定时器

Private Sub cq_Click()

    cqxhxm.Enabled = True

    xskcqxhxm.Enabled = True

End Sub


Private Sub cz_Click()    '初始化数组kcq,使每个元素数据都处于可显示状态

  For i = 0 To xxxss - 1

    kcq(i) = True           '①

  Next i

End Sub


Private Sub xskcqxhxm_Timer()  '若数组kcq第x个元素处于可抽取状态,则显示数组xhxm第x个元素

    x = Int(Rnd * xxxss)

    If kcq(x) Then xhxmbq.text = kcq(x)     '②

End Sub


Private Sub Form_Load()  '从数据库中提取需要的学号姓名相关数据并初始化数组kcq

    Randomize

    xxxss = 0

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

    Dim str_conn as String,str_sql As String

    str_conn = "driver=Microsoft access driver(*.mdb);DBQ="&app.path&"\school.mdb";

    conn.open str_conn

    str_sql = "select * from students"

    rs.open str_sql

    Do While Not rs.eof

      xxxss = xxxss + 1

      xhxm(xxxss) = rs.fields("xuehao")&rs.fields("xingming")

      rs.movenext

    Loop

    For i = 0 To xxxss - 1

      kcq(i) = True

    Next i

End Sub


Private Sub cqxhxm_Timer()    '决定抽取的学号姓名作为监票人

    xskcqxhxm.Enabled = False

    For i = 0 To xxxss - 1

        If xhxmbq.Caption = xhxm(i) Then kcq(i) = False

    Next i

    cqxhxm.Enabled = False

End Sub

①{#blank#}1{#/blank#} 

②{#blank#}2{#/blank#} 

【加试题】小王同学为了研究浙江省湖州地区空气质量与天气、气温、风向等的关联性问题,通过网络获取了2016-06-01至2017-05-31这365天的有关信息,并将数据整理至数据文件data.accdb中。其中huzhou数据表视图及设计视图部分界面如图所示。

小王编写了VB程序,具体功能:点击“执行”按钮Command1,在文本框Text1中显示空气质量为优(AQI空气质量指数≤50)的最长持续天数(连续为优),并在列表List1中依次显示对应天数的各项数据。

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

  Dim rq(1 To 365)As String       ‘存放日期

  Dim aqi(1 To 365)As Integer     ‘存放AQl空气质量指数

  Dim tq(1 To 365)As String       ‘存放天气

  Dim qw(1 To 365)As String      ‘存放气温

  Dim fxfl(1 To 365)As String      ‘存放风向及风力

  Private Sub Form_Load( )

    ‘本过程从数据中按2016-06-01至2017-05-31依次读取各项数据,并分别存储在对应的数组中。代码略 。

  Private Sub Command1_Click( )

       Dim n As Integer,m As Integer,i As Integer,k As Integer

  Dim s As String

       n=0:m=0:k=0

       For i=1 To 365

           If aqi(i)<=50 Then

               n=n+1

          Else

               If n>m Then

                  m=n

                  k=i-1

               End If

               n=0

          End If

      Next i

      If n>m Then

         m=n

             ①                

      End If

      For i=      ②        To k    

         s=rq(i)                       ‘日期长度均为10

         s=s&Space(7-Len(Str(aqi(i)))) & Str(aqi(i))    ‘AQI为1~3个数字

         s=s&Space(4)&tq(i)                  ‘天气为1-4个中文字符

         s=s&Space(2*(6-Len(tq(i))))&qw(i)    ‘气温长度均为9

         s=s&Space(4)&fxfl(i)        ‘风向及风力长度不等

List1.AddItem s

      Next i

      Text1.Text=Str(m)

End Sub

返回首页

试题篮