试题

试题 试卷

logo

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

浙江省嘉兴市2021届高三上学期信息技术9月教学测试

学校准备开展班级篮球对抗赛,采用瑞士轮赛制。该赛制的规则是:(1)参数队伍数为偶数,如2n支队伍,编号为1~2n;(2)对阵规则:根据排名规则对队伍进行排序,两两对阵,由第1名对第2名、第3名对第4名……;(3)积分规则:每场比赛必须分出胜负,胜者积分增加1分,负者积分不变;(4)排名规则:积分高的队伍排名靠前,积分相同则编号较小的队伍排名靠前,每轮比赛结束后重新排名。

要求编写程序计算在R轮比赛后,积分排名第Q的队伍编号。为解决此问题,小明编写了一个VB程序。在窗体加载时,从数据库中读取编号为1~2n的队伍实力值,编号存储在数组bh中,实力值存储在数组s1中(每支队伍的实力值两两不同,且每场比赛中实力值较高的总能获胜)。在文本框Text1中输人查询轮次R,在文本框Text2中输人待查询排名Q,单击“查询"按钮Command1后在文本框Text3中输出相应队伍的编号、排名等信息。程序运行效果如图所示。

(1)、根据上述算法,编号为1~8,实力值依次为6、5、4、8、7、3、1、2的八支队伍参加比赛,则第三轮比赛后,排名第五的队伍编号是
(2)、实现上述功能的VB程序段如下,请在画线处填入合适代码。

Constn=4

Dim bh(1 To 2*n) As Integer             '队伍编号

Dim sl(1 To 2*n) As Integer              '队伍实力

Dim jf(1 To 2*n) As Integer               '队伍积分

Sub Form_ load( )

    '在窗体加载时读取数据库数据并显示在list1中,代码略

End Sub

Private Sub Command1_ Click()

    Dim Q As Integer, R As Integer

    Dim i As Integer, j As Integer

    R = Val(Text1.Text) : Q = Val(Text2.Text)

    For i=1 To R

        For j=1 To 2*n Step 2

            If  Then

                jf (bh(j)) = jf(bh(j)) + 1

            Else

                

            End If

        Next j

        Call sort      '调用积分排序过程sort

    Next i

    Text3.Text = "编号:" + CStr(bh(Q)) + ",实力:" + CStr(sl(bh(Q)))+ ",排名:"+ CStr(Q) + ",积分:" + CStr(jf(bh(Q)))

    '在List2中输出R轮后的积分表,代码略。

End Sub

Sub sort( )

    Dim i As Integer, j As Integer, t As Integer

    For i=1 To 2*n-1

        For j=2*n To i+1 Step -1

            If  Then

                t=bh(j):bh(j)=bh(j-1):bh(j-1)=t

            End If

        Next j

    Next i

End Sub

举一反三
返回首页

试题篮