试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:困难

浙江省丽水市2018-2019学年高二下学期信息技术期末考试试卷

小王编写了一个“学生体能情况分析”程序,其功能是分项计算名次和优秀率(分数90分及以上为优秀)。运行程序时,在列表框List1中显示所有学生的3项体能测试分数,在文本框Text1中输入测试项目代码(1表示游泳,2表示跑步,3表示跳远),单击“计算”按钮Command1后,计算结果分别显示在列表框List2和标签Label2中。程序运行界面如图1所示。

 

程序设计过程中数据的存储和计算方法如下:

⑴学生体能分数的存储:如图2所示,第1位学生的游泳、跑步、跳远分数依次存入数组score的第1、2、3个元素里,第2位学生的游泳、跑步、跳远分数依次存入数组score的第4、5、6个元素里,以此类推。

⑵计算名次的算法:先统计每个分数的个数,存入数组a,如图3中a(96)值为9,表示共有9个96分;然后按照分数从高到低依次计算每个有效分数(该分数的个数不为0)对应的名次存入数组b,分数相同时名次并列,如图3中b(96)值为10,表示96分的名次是(并列)第10名,以此类推。

请回答下列问题:

(1)、根据图1中列表框List1中的信息和图2所示的数据存储方法可知,数组元素score(23)的值为(填数字)。
(2)、实现上述功能的VB程序如下,请在①、②、③的划线处填入合适的代码。

Dim m As Integer   ' 学生人数

Dim score(1 To 3000) As Integer  ' 存放学生分数

Dim xm(1 To 1000) As String  ' 存放学生姓名

Private Sub Command1_Click()

Dim i As Integer, t As Integer, code As Integer, mc As Integer

Dim a(0 To 100) As Integer  '存放每个分数的个数

Dim b(0 To 100) As Integer  '存放每个分数的名次

Dim code_n(1 To 3) As String

code_n(1) = "游泳" : code_n(2) = "跑步" : code_n(3) = "跳远"

code = Val(Text1.Text) 

For i = 0 To 100

  a(i) = 0

Next i

sum = 0

For i = 1 To m  '计算每个分数的个数及体能测试优秀的人数

  t =      ①       

  a(score(t)) = a(score(t)) + 1

  If score(t) >= 90 Then sum = sum + 1

Next i

mc = 1

For i = 100 To 0 Step -1  '计算每个分数的名次

  If a(i) <> 0 Then

    b(i) = mc

    mc =       ②          

  End If

Next i

List2.Clear

List2.AddItem " 姓名  " +        ③          + "  名次"

For i = 1 To m

  '在List2中输出m个学生的姓名、指定项目的分数及名次,代码略

Next i

sum = Int(sum / m * 10000 + 0.5) / 100

Label2.Caption = "优秀率是:" + Str(sum) +"%"

End Sub

Private Sub Form_Load()

’从数据库读取姓名存入数组xm,体能测试数据存入数组score,总人数存入变量m。

’代码略

End Sub

举一反三
返回首页

试题篮