阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。 [说明] 某单位组织一次职业技术考核比赛,由十名评委对选手的现场表现打分(0到100以内的数值)。本程序接收原始评分后,去掉一个最高分、一个最低分,最后计算并输出选

admin2009-02-15  35

问题 阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。
[说明]
   某单位组织一次职业技术考核比赛,由十名评委对选手的现场表现打分(0到100以内的数值)。本程序接收原始评分后,去掉一个最高分、一个最低分,最后计算并输出选手最后得分。在接收输入第i个评分时,若输入数据的类型、范围不正确,程序将给出相应提示,并等待下一次输入,直至正确接收第i个评分为止。程序的运行界面如下:
       
   在开发过程中,文本框名为Text1,界面上有上至下三个按钮分别取名为CmdMark、CmdReresh和CmdExit。
[Visual Basic代码]
Private Sub CmdMark_Click()      ’按钮“输入评分”的单击事件响应代码
   Dim i As Integer,temp As Variant       ’声明变量
   Dim marks(1 To 10),maxMark,minMark,sumMark,mark As Single
   sumMark=0
   Text1.Text=“编号”&Chr(9)&“评分”& vbCrLf
   For i=1 To 10       ’接收十个评分输入
        Do While 1=1              ’验证并接收第i个评委的评分
        temp=InputBox(“请输入”&i&“号评委的评分:”)
        If  (1)   IsNumeric(temp)Then
             Msg Box“数据类型错误,请重试!”
        ElseIf CSng(temp)<0 Or CSng(temp)>100 Then
             MsgBox“数值范围错误,请重试!”
        Else:Exit Do
        End If
   Loop
   marks(i)=CSng(temp)
   If i=1 Then  maxMark=(2):minMark=(2)  
   If marks(i)>maxMark Then maxMark=marks(i)
   If minMark>marks(i)Then  (3)  
   sumMark=sumMark+marks(i)
        Text1.Text=Text1.Text & i & Chr(9) & marks(i) & vbCrLf输出第i个评委的评分
   Next
   mark=( (4))/8               ’计算选手最后得分
   Text1.Text=Text1.Text &"去掉一个最高分:"&maxMark&vbCrLf&_
           "去掉一个最低分:"&minMark&vbCrLf&_
           "选手最后得分:"&mark
End Sub
Private Sub Command2_Click()  ’按钮“刷新屏幕”的单击事件响应代码
     (5).Text=“单击”输入评分“按钮,开始统分……”
End Sub
Private Sub Command3_Click()  按钮“退出程序”的单击事件响应代码
   End
End Sub

选项

答案(1) Not (2) marks(1)或marks(i) (3) minMark=marks(i) (4) sumMark-maxMark-minMark (5) Text1

解析 (1)程序在输入数据temp不是数值(即IsNumeric (temp)返回False值)时报告错误,因而此处应填写逻辑运算符:取非;
(2)由程序最后的输出可推断:maxMark和minMark分别用于记录最高分和最低分。它们通过For循环求得,此处需要为其赋初值;
(3)当第i个评分marks(i)小于当前minMark的值时,应该更新minMark;
(4)根据程序说明,选手最后的分为去掉一个最高分、一个最低分后的平均分;
(5)略。
转载请注明原文地址:https://kaotiyun.com/show/FbjZ777K
0

最新回复(0)