试卷征集
加入会员
操作视频

小李编写一个统计学生选考科目的VB程序,算法的基本思想是:检查每位学生选课组合的编码是否有效,对有效选择结果进行科目统计,根据各科次占有效人数的百分率求出各科排名.程序运行时,单击“显示”按钮Command1,学生选课数据显示在列表框list1中,各科编号及对应科目名称显示列表框list2中,单击“统计”按钮Command2,选课结果按各科百分率由高到低显示在列表框list3中,程序运行结果如图所示.
实现上述功能的VB程序如下,请回答下列问题:
(1)学生选课的编码数据存储在数据表中,其字段名为
subject
subject

(2)请在横线处填入合适的代码.
Dim ach(1 to 500)As String’存储各学生选课编码
Dim bno(1 to 10)As Integer’存储各科目编号
Dim bname (1 to 10)As String’存储各科目名称
Dim bnum(1 to 10)As Integer’存储各科目被选次数
Dim bmc(1 to 10)As Integer’存储各科目被选的名次
Dim n As Integer,num As Integer
Private Sub Commandl-Click(  )
    Dim i As Integer,km As String
    km=“物理化学生物政治历史地理技术“
    Dim cn As New ADODB.Connection,rs As New ADODB.Recordset,spl As String
    cn.Open“provider=Microsoft.jye.ai.4;Data Source=“+App.Path+“\students.jye.ai“
    rs.Open“select*from choose“,cn
    Do Whole Not rs.EOF
        n=n+1:ach(n)=rs.Fields(“subject“):rs.MoveNext
    Loop
    rs.Close
    cn.Close
      Set rs=Nothing
    Set cn=Nothing
    For i=1 to 7
        bno(i)=i
        bname(i)=Mid(km,(i-1)*2+1,2)
        List2.AddItem TR(bno(i))+“---“+bname(i)
    Next i
End Sub
Private Sub Command2-Click(  )
  Dim i As Integer,j As Integer,k As Integer
  Dim c As String,per As Integer
  For i=1 to n
      If check(ach(i))=True Then
          For j=1 to 3
              c=Mid(ach(i),j,1)
              bnum(Val(c))=
bnum(Val(c))+1
bnum(Val(c))+1

             Next j
            num=num+1
    End If
Next i
i=1
Do While i<=7’该循环得到各学科被选人数的名次
    bmc(i)=1
    For j=1 to 7
        If bnum(j)>bnum(i) Then
bmc(i)=bmc(i)+1
bmc(i)=bmc(i)+1

    Next j
    i=i+1
Loop
For i=1 to 7
    For j=1 to 7
        If
i=bmc(j)
i=bmc(j)
Then
          per=In(bnum(j)*100/num*100)/100
          List3.AddItem Str(bno(j))+“---“+Str(per)+“%“
        End If
    Next i
End Sub
Function check(s As String) As Boolean
’代码略!若学生选代码有效,函数返回True,否则返回False
End Function.

【答案】subject;bnum(Val(c))+1;bmc(i)=bmc(i)+1;i=bmc(j)
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/6/27 10:35:59组卷:0引用:1难度:0.3
相似题
  • 1.一球从100米高度自由落下,每次落地后反跳回原高度的一半,再下落。编写一个C程序,求它在第10次落地时,其经过了多少米?第10次反弹多高?

    发布:2025/1/2 11:0:1组卷:1引用:3难度:0.3
  • 2.根据AQI值判断城市的空气质量。若城市的AQI值(整数)不超过100则空气质量优良,否则空气质量有污染。当输入的AQI值为-1时则退出程序。不要更改程序结构,将题中的①②③④填入正确的语句。
    city=input(“请输入城市名:”)
    AQI=int(input(“请输入空气质量指数AQI的值:”))
    ①______ AQI!=-1:
    if ②______:
    print(city,“的空气质量优良。”)
    ③______:
    print(city,“的空气质量有污染。”)
    city=input(“请输入城市名:”)
    AQI=④(input(“请输入空气质量指数AQI的值:”))
    (1)序号①答案为
     

    A.if
    B.while
    C.for
    D.def
    (2)序号②答案为
     

    A.AQI>=100
    B.AQI<=100
    C.AQI>100
    D.AQI<100
    (3)序号③答案为
     

    A.elif
    B.break
    C.if
    D.else
    (4)序号④答案为
     

    A.int
    B.float
    C.str
    D.else

    发布:2025/1/2 11:0:1组卷:0引用:0难度:0.4
  • 3.利用海伦公式求解三角形面积。已知a,b,c为三角形的三条边长,p为三角形的半周长,即p=(a+b+c)/2,计算此三角形面积S的海伦公式为:。不要更改程序结构,将题中的①②③填入正确的语句。
    import math#导入数学模块
    def hl(a,b,c):#定义求三角形面积的函数
    p=①
    s=math.jye.ai(②)#sqrt用于计算算术平方根
    return ③#返回面积的值
    a,b,c=3,4,5#边长依次赋值
    print(“此三角形的面积S为:“,hl(a,b,c))
    (1)序号①答案为
     

    A. (a+b+c)/2                              B.p*(p-a)*(p-b)*(p-c)
    C. (a+b+c)*2                              D.s
    (2)序号②答案为
     

    A.(a+b+c)/2                              B.p*(p-a)*(p-b)*(p-c)
    C.(a+b+c)*2                                D.(3+4+5)/2
    (3)序号③答案为
     

    A.p                                          B.s
    C.p*(p-a)*(p-b)*(p-c)                  D.0

    发布:2025/1/2 11:0:1组卷:0引用:0难度:0.4
深圳市菁优智慧教育股份有限公司
粤ICP备10006842号公网安备44030502001846号
©2010-2025 jyeoo.com 版权所有
APP开发者:深圳市菁优智慧教育股份有限公司| 应用名称:菁优网 | 应用版本:5.0.7 |隐私协议|第三方SDK|用户服务条款
广播电视节目制作经营许可证|出版物经营许可证|网站地图
本网部分资源来源于会员上传,除本网组织的资源外,版权归原作者所有,如有侵犯版权,请立刻和本网联系并提供证据,本网将在三个工作日内改正