给出了两道程序设计题的母题、参考答案及部分学生的作答,请根据建立的数学模型,对学生作答的评阅分数,每道题评阅的最终得分均四舍五入取整数代码
时间: 2024-05-15 11:13:22 浏览: 90
程序设计试卷
以下是对两道程序设计题的评阅分数的代码实现:
```python
# 第一道题目评阅
def evaluate_question1(answer):
# 参考答案
reference = [100, 95, 90, 85, 80, 75, 70, 65, 60, 0]
# 计算学生答案与参考答案之间的差异
diff = [abs(answer - x) for x in reference]
# 找到与参考答案差异最小的分数
min_diff = min(diff)
# 找到该分数在参考答案中的位置
index = diff.index(min_diff)
# 返回该位置对应的分数
return reference[index]
# 第二道题目评阅
def evaluate_question2(answer):
# 参考答案
reference = [(0, 0), (1, 2), (2, 4), (3, 6), (4, 8), (5, 10)]
# 计算学生答案与参考答案之间的差异
diff = [((answer[0]-x[0])**2 + (answer[1]-x[1])**2)**0.5 for x in reference]
# 找到与参考答案差异最小的坐标
min_diff = min(diff)
# 找到该坐标在参考答案中的位置
index = diff.index(min_diff)
# 返回该位置对应的分数
return index * 20
# 学生作答
q1_answer = 87
q2_answer = (3, 7)
# 评阅并输出得分
q1_score = evaluate_question1(q1_answer)
q2_score = evaluate_question2(q2_answer)
print("第一道题目得分:", round(q1_score))
print("第二道题目得分:", round(q2_score))
```
假设学生作答的第一道题目得分为87分,第二道题目得分为(3,7),则该代码的输出结果为:
```
第一道题目得分: 85
第二道题目得分: 60
```
其中第一道题目得分四舍五入后为85分,第二道题目得分四舍五入后为60分。
阅读全文