程序需求:要求程序最多输入50个学生成绩值,以-1作为输入结束标志,计算其中有效的学生分数的个数、总分及平均分 a. 编程实现该程序。 b. 画出程序控制流图。 c. 利用基本路径法对该程序需求进行测试用例设计。 d.
时间: 2024-11-06 21:19:29 浏览: 10
C语言实验报告-学生成绩管理系统.doc
a. 编程实现该程序(Python示例):
```python
def calculate_scores():
total_count = 0
total_score = 0
while True:
score = float(input("请输入学生的成绩(-1结束): "))
if score == -1:
break
total_count += 1
total_score += score
if total_count > 0:
average_score = total_score / total_count
print(f"有效学生数: {total_count}")
print(f"总分: {total_score}")
print(f"平均分: {average_score}")
else:
print("没有输入有效成绩.")
calculate_scores()
```
b. 程序控制流图(Program Flow Diagram, PFD)会显示程序的主要流程,包括循环开始、输入检查、得分累加、结束条件判断等步骤。每个节点表示一个操作,箭头表示流程转移。由于文字描述限制,这里无法直接画图,但在纸上可以简单地画出以下几个部分:起始点(开始输入),循环部分(输入-1为止)、计数与累计分的部分、跳出循环和结果输出。
c. 基本路径测试用例设计(路径覆盖法):
1. 输入合法的正整数成绩直到达到50个,验证计数、总分和平均分计算是否正确。
2. 输入超过50个非负数值,然后输入-1,确认程序能正确处理超出范围的情况。
3. 输入负数,验证程序能否忽略无效数据并继续计数。
4. 首次输入就是-1,测试空循环的处理情况。
5. 持续输入-1,看程序是否能在没有任何有效输入时正确结束。
阅读全文