操作题 适中0.65 引用1 组卷85
下列VB程序实现如下功能:程序运行时,在文本框Text1和Text2中分别输入x和n的值,单击命令按钮Command1后,调用函数f计算s=x+++…+的值,并在文本框Text3中显示计算结果。请在划线上填入合适的代码。
Private Sub Command1_Click( )
Dim x As Single,n As Integer,s As __①__
x=Val(Text1.Text)
n=Val(Text2.Text)
s=f(x,n)
Text3.Text=str(s)
End Sub
Private Function f(x As Single,n As Integer) As Single
Dim sum As Single,i As Integer,t As Single
sum = 0
t=1
For i=1 To n
t=t*x/i
sum=sum+t
Next i
____②____
End Function
填写划线①处代码_____________________________________。
填写划线②处代码______________________________________。
Private Sub Command1_Click( )
Dim x As Single,n As Integer,s As __①__
x=Val(Text1.Text)
n=Val(Text2.Text)
s=f(x,n)
Text3.Text=str(s)
End Sub
Private Function f(x As Single,n As Integer) As Single
Dim sum As Single,i As Integer,t As Single
sum = 0
t=1
For i=1 To n
t=t*x/i
sum=sum+t
Next i
____②____
End Function
填写划线①处代码_____________________________________。
填写划线②处代码______________________________________。
16-17高三·全国·单元测试
类题推荐
2022届毕业生开始,浙江省的赋分规则将由原赋分办法的21个等级变为20个赋分区间,赋分分差由3分细化为1分。在新等级赋分中,第1区间为100-97,第2区间为96-94……以此类推。
具体步骤为:
第一步,将卷面得分按人数比例划分为20个赋分区间,得出每个区间卷面得分的上限、下限。
第二步,对每个区间的卷面得分进行等比例转换,公式为:
(1)若小李同学技术学科处于赋分区间为96-94,如对应的卷面得分区间为77-73,他的卷面得分为75,可以得出他新等级赋分为__________ 。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Dim a(1 To 380) As Integer ‘卷面得分上下限
Dim b(1 To 700) As Integer ‘卷面分和原等级赋分
Dim dj(1 To 20) As String ‘新等级赋分
Dim m(1 To 100) As String ‘班级姓名数据
Dim n As Integer ‘需要赋分人数
通过数据库获取各变量值(代码略):
数组a依次存储第一个新等级赋分的物化生政史地技卷面得分区间的上限、卷面得分区间的下限,再存储第二个新等级赋分的卷面得分区间……。数组b依次存储第一位同学的物化生政史地技卷面得分、原等级赋分,再存储第二位……。数组dj依次存储20个新等级赋分分数段。数组m依次存储第一位同学的班级、姓名,再存储第二位……。
Private Sub Command1_Click()
Dim s As Integer,djf As Integer,km As Integer
For i = 1 To n
______
xm = m(i * 2)
st = bj + xm
For j = 1 To 7
k = (i - 1) * 14 + j
If b(k) <> 0 Then
s = b(k)
djf = b(k + 7)
km = j
____________
Else
ff = 0
End If
st = st + Str(ff)
Next j
List1.AddItem st
Next i
End Sub
Function Assign(s As Integer, ydjf As Integer, km As Integer) As Integer
Dim flag As Boolean
Dim t1 As Integer
Dim t2 As Integer
For i = 1 To 20
flag = True
t2 = 0
t1 = 0
For j = 1 To Len(dj(i))
c = Mid(dj(i), j, 1)
If c = "-" Then
flag = False
ElseIf flag Then
t2 = t2 * 10 + Val(c)
Else
t1 = t1 * 10 + Val(c)
End If
Next j
If ydjf >= t1 And ydjf <= t2 Then
s2 = a((i - 1) * 14 + km)
s1 = a((i - 1) * 14 + 7 + km)
Exit For
End If
Next i
_________________
End Function
原等级赋分 | 100 | 97 | 94 | 91 | 88 | 85 | 82 | 79 | 76 | 73 | 70 |
比例(%) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 7 | 7 | 7 |
新等级赋分 | 100-97 | 96-94 | 93-91 | 90-88 | 87-85 | 84-82 | 81-79 | 78-76 | 75-73 | 72-70 | |
原等级赋分 | 67 | 64 | 61 | 58 | 55 | 52 | 49 | 46 | 43 | 40 |
|
比例(%) | 7 | 7 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 1 |
|
新等级赋分 | 69-67 | 66-64 | 63-61 | 60-58 | 57-55 | 54-52 | 51-49 | 48-46 | 45-43 | 42-40 |
|
第一步,将卷面得分按人数比例划分为20个赋分区间,得出每个区间卷面得分的上限、下限。
第二步,对每个区间的卷面得分进行等比例转换,公式为:
其中,s2、s1为卷面得分区间的上限和下限,s为待转换卷面得分;t2、t1为赋分区间的上限和下限,t为卷面得分等比例转换后的赋分。
第三步,将转换结果四舍五入取整后即为等级赋分。举例说明:赋分区间为87-85,如对应的卷面得分区间为84-81,某考生的卷面得分为83,通过等比例转换:,可以得出t=86.3,四舍五入取整后的等级赋分为86分。
现有某次考试的新等级赋分对应卷面得分区间的上限、下限对应表及该次考试同学卷面分和原等级赋分情况表,请编程实现计算该次考试新等级赋分情况。
新等级赋分 | 卷面得分区间的上限s2 | 卷面得分区间的下限s1 | |||||||||||||
物理 | 化学 | 生物 | 政治 | 历史 | 地理 | 技术 | 物理 | 化学 | 生物 | 政治 | 历史 | 地理 | 技术 | ||
100-97 | 86 | 89 | 93 | 95 | 91 | 87 | 95 | 78 | 83 | 84 | 86 | 79 | 75 | 77 | |
96-94 | 78 | 82 | 83 | 85 | 78 | 75 | 77 | 76 | 80 | 80 | 84 | 75 | 73 | 73 | |
…… | …… | …… |
新等级赋分对应卷面得分区间上限、下限对应表
班级 | 姓名 | 卷面得分 | 原等级赋分 | ||||||||||||
物理 | 化学 | 生物 | 政治 | 历史 | 地理 | 技术 | 物理 | 化学 | 生物 | 政治 | 历史 | 地理 | 技术 | ||
301 | 陈洲琦 | 0 | 0 | 0 | 56 | 51 | 0 | 37 | 0 | 0 | 0 | 61 | 70 | 0 | 61 |
302 | 周嘉 | 0 | 38 | 58 | 0 | 45 | 0 | 0 | 0 | 58 | 73 | 0 | 64 | 0 | 0 |
…… | …… | …… |
卷面分和原等级赋分情况表
请回答下列问题:(1)若小李同学技术学科处于赋分区间为96-94,如对应的卷面得分区间为77-73,他的卷面得分为75,可以得出他新等级赋分为
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Dim a(1 To 380) As Integer ‘卷面得分上下限
Dim b(1 To 700) As Integer ‘卷面分和原等级赋分
Dim dj(1 To 20) As String ‘新等级赋分
Dim m(1 To 100) As String ‘班级姓名数据
Dim n As Integer ‘需要赋分人数
通过数据库获取各变量值(代码略):
数组a依次存储第一个新等级赋分的物化生政史地技卷面得分区间的上限、卷面得分区间的下限,再存储第二个新等级赋分的卷面得分区间……。数组b依次存储第一位同学的物化生政史地技卷面得分、原等级赋分,再存储第二位……。数组dj依次存储20个新等级赋分分数段。数组m依次存储第一位同学的班级、姓名,再存储第二位……。
Private Sub Command1_Click()
Dim s As Integer,djf As Integer,km As Integer
For i = 1 To n
xm = m(i * 2)
st = bj + xm
For j = 1 To 7
k = (i - 1) * 14 + j
If b(k) <> 0 Then
s = b(k)
djf = b(k + 7)
km = j
Else
ff = 0
End If
st = st + Str(ff)
Next j
List1.AddItem st
Next i
End Sub
Function Assign(s As Integer, ydjf As Integer, km As Integer) As Integer
Dim flag As Boolean
Dim t1 As Integer
Dim t2 As Integer
For i = 1 To 20
flag = True
t2 = 0
t1 = 0
For j = 1 To Len(dj(i))
c = Mid(dj(i), j, 1)
If c = "-" Then
flag = False
ElseIf flag Then
t2 = t2 * 10 + Val(c)
Else
t1 = t1 * 10 + Val(c)
End If
Next j
If ydjf >= t1 And ydjf <= t2 Then
s2 = a((i - 1) * 14 + km)
s1 = a((i - 1) * 14 + 7 + km)
Exit For
End If
Next i
End Function
组卷网是一个信息分享及获取的平台,不能确保所有知识产权权属清晰,如您发现相关试题侵犯您的合法权益,请联系组卷网