试题

试题 试卷

logo

题型:综合题 题类:模拟题 难易度:困难

浙江省普通高校招生信息技术选考模拟卷(三)

【加试题】摘苹果游戏。游戏中的苹果树结了n个苹果,每个苹果有一个地面高度和摘它所需要的力气,要摘到苹果,必须具备高度和力气两个条件,每摘一个苹果都要用掉一定的力气。小林的可用力气是个有限值s,小林手伸直后能摘的最大高度为b,她可以借助的梯子的高度为a。游戏中苹果的高度和所需力气分别存储在数组h和数组c中。

程序运行界面如题图所示。运行程序后,输入梯子高度a、手伸直高度b、可用力气s的值,单击“计算”按钮(Command1),在文本框Text4中输出小林最多能摘得的苹果数ans。

(1)、如图所示,树上的苹果总数为15。若将可用力气修改为90,则小林最多能摘得苹果的总数是
(2)、相应程序如下,在程序划线处填入适当的语句和代码,把程序补充完整。

Dim c(1 To 100) As Integer

Dim h(1 To 100) As Integer

Dim d(1 To 100) As Integer

Dim n As Integer

Private Sub Form_Load()

  Dim Conn As New ADODB.Connection

  Dim Rs As New ADODB.Recordset

  Conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + App.Path + "\GameDate.accdb"

  ‘从数据库中读取n个苹果的摘取所需力气和高度存放在数组c和h中,并显示在List1中,代码略

End Sub

Private Sub Command1_Click()

  Dim a As Integer, b As Integer, s As Integer

Dim i As Integer, j As Integer, m As Integer

  a = Val(Text1.Text)        ‘梯子高度

  b = Val(Text2.Text)        ‘手伸直高度

  s = Val(Text3.Text)        ‘可用力气

  m = 0

  For i = 1 To n         ‘将所有能够摘得的苹果所需力气存储到数组d中

     If  

       m = m + 1

       d(m) = c(i)

     End If

  Next

  For i = 1 To m - 1

    k = i

    For j = i + 1 To m

      If  Then k = j

    Next

    If k <> i Then

      t = d(k): d(k) = d(i): d(i) = t

    End If

 Next

  ans = 0         ‘用剩余的力气去摘最多的苹果

  For i = 1 To m

    If s >= d(i) Then

       

        ans = ans + 1

 End If

  Next

  Text4.Text = Str(ans)

End Sub

举一反三
求老师想按学生的成绩进行评级,分数和等级对应关系如下表:

分数

0~59

60~69

70~79

80~89

90~99

等级

E级

D级

C级

B级

A级

现要求根据上表统计出各等级学生人数占总人数的比例。小李编写了一个VB程序帮助老师实现该功能:程序运行时,将每位学生的得分(两位整数)存储到数组a中,并在列表框List1

中显示。单击“统计”按钮后,在列表框List2中显示从A级至E级,各等级的人数占总人数的百分比例(四舍五入保留整数)。程序运行界面如图所示:

请阅读代码,并回答以下问题:

Dim n As Integer

Dim a(1 To 50) As Integer

Private Sub Form_Load( )

    Dim adocn As New ADODB. Connection

    Dim adors As New ADODB. Recordset

    Dim str1 As String

    adocn.ConnectionString = "Provider = Microsof.ACE.OLEDB.12.0;Data source=" +App. Path +”\school. accdb”

    adocn. Open

    str1 =“select * from students”

    ardors.Open str1, adocn

    '将每个学生的得分读入数组a中,并在列表框list1中显示,统计学生总人数n

    '代码略

End Sub

Private Sub Comd1_C1ick( )

    Dim cou As Integer,k as Integer

    Dim b(0 To 4) As Integer

    Const dj = “A级B级C级D级E级”

    For i=1 Ton

    k=a(i)\10-5

    If k<0 Then     ①    

    b(k)= b(k) + 1

    Next i

    For i=0 To 4

      cou =       '⑶改错

      List2. AddItem       ②      + Str(cou) +“%”

    Next i

End Sub

返回首页

试题篮