试题

试题 试卷

logo

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

浙江省高中信息技术 VB访问Access数据库同步练习

最新国际体操竞赛的评分规则简单描述如下:

①两位D组裁判分别打“难度分”,取平均值作为该参赛选手的最终难度分。

②五位E组裁判分别打“完成分”,在5个E组打分结果中,去掉一个最高分和一个最低分,然后取平均值作为该参赛选手的最终完成分。

③难度分和完成分之和,即该参赛选手的最终得分。

例如:某参赛选手打分如下:

D组裁判打分

E组裁判打分

6.5

6.9

9.5

9.0

8.3

8.8

7.6

该选手“难度分”为(6.5+6.9)/2=6.7。E组裁判打分去掉一个最高分和一个最低分之后,计算“完成分”为(9.0+8.3+8.8)/3=8.7。所以该选手最终得分为6.7+8.7=15.4分。

小杜编写一个VB程序:程序运行时从数据库读取参赛选手人数和参赛选手的打分数据,依次存储在数组a中;单击“统计”按钮,依据数组a中的相关数据统计各选手的“难度分”“完成分”和“最终得分”,并在列表框List1中输出。数组a各元素的含义如下,程序运行界面如图所示。

数组元素

数组元素的含义

a(0)

存储参赛人数n

a(1)

a(1)和a(2)为第1位选手的D组两位裁判的打分。

a(3)、a(4)、…、a(7)为第1位选手的E组五位裁判的打分

a(7)

a(8)

a(8)和 a(9)为第2位选手的D组两位裁判的打分。

a(10)、a(11)、…、a(14)为第2位选手的E组五位裁判的打分

a(14)

实现上述功能的VB程序如下,请回答下列问题:

(1)、根据程序运行界面中的数据及数组a各元素的含义,数组元素a(8)和a(9)的值为(填序号:A .6.2和5.6/B .5.8和6.2/C .6.1和5.5)。
(2)、分析程序,可知数据库的文件名为
(3)、请在划线处填入合适的代码。

Dim a(0 To 210) As Single ‘数组大小满足处理要求

Dim d(1 To 30) As Single ‘依次各选手的难度分

Dim e(1 To 30) As Single ‘依次各选手的完成分

Dim f(1 To 30) As Single ‘依次各选手的最终得分

Private Sub Command1_Click()

‘本过程从数据库读取相关数据,存储在数组a中

Dim conn As New ADODB.Connection

 Dim rs As New ADODB.Recordset

 conn ConnectionString=“provider=Microsoft.ACE.OLEDB.12.0; data source=”+“成绩.accdb”

 conn.Open

 Set rs.ActiveConnection=conn

 ‘本过程的其他语句略

End Sub

Private Sub Command2_Click()

‘依据数组a中的相关数据统计各班级平均分

Dim i As Integer, j As Integer, n As Integer, p As Integer

Dim max As Single, min As Single, sum Single

    

For i=1 To n

  p=(i-1)*7+1

  d(i)=(a(p)+a(p+1))/2

  sum=0

  max=a(p+2) : min=a(p+2)

  For j=p+2 To p+6

   sum=sum+a(j)

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

      min=a(j)

  Next j

  e(i)=(sum-max-min)/3

  f(i)=d(i)+e(i)

List1.AddItem Str(i)+“ ”+Str(d(i))+“ ”+Str(e(i))+“ ”+Str(f(i))

 Next i

End Sub

举一反三
【加试题】小马正在看一本侦探小说,想了解其中一段案情的解析,却发现了一串字符“#2017—2018go:)”,并附有文字提示:①答案所在的页码是这串字符中最大数字字串(若值相同则取后面的数字字串)的起始位置*10+结束位置②答案所在行号是最大数值除以100的余数。例如:“#17a18#”字符串中,最大数字字串“18”。起始位置是5,结束位置是6,其页码是56,行号是18。小马编写了一个VB程序帮他寻找答案,程序运行界面如图所示。在文Text2中输出页码,在Text3中输入行号。实现上述功能的VB程序代码如下,但加框处代码有错,请改正。

Private Sub Command1_Click()

  Dim s1 As String,s2 As String   

  Dim ch As String,ch2 As String   

  Dim max As Double   

  Dim n As Integer,page As Integer  

  Dim i As Integer,j As Integer

  s1=Text1.Text:s2=””

  n=Len(s1)

  i=1:max=0

  Do While i<=n

    ch=Mid(s1,i,1)

    If ch>=“0”And ch<=“9”Then

        j=i

        ch2=Mid(s1,i,1)

        Do While ch2>=“0”And ch2<=“9”

           j=j+1

           ch2=Mid(s1,j, 1)

        Loop

        s2=    ’(1)

        If   Then    ’(2)

            max=Val(s2)

            page=i*10+j-1

            Text2.Text=Str(page)

            Text3.Text=Str(max Mod l00)

        End If

        i=j

      End If

      i=i+1

    Loop

  End Sub

返回首页

试题篮