基于matlab的学生成绩平均学分,绩点计算软件 要求具有分支循环和自定义函数 的调用
时间: 2024-02-23 11:03:28 浏览: 119
好的,以下是一个基于matlab的学生成绩平均学分、绩点计算软件的程序:
```matlab
function [average_credit, gpa] = grade_calculator(scores, credits)
% 学生成绩平均学分、绩点计算
% scores: 学生各门课程的成绩向量
% credits: 学生各门课程的学分向量
% average_credit: 平均学分
% gpa: 绩点
% 检查输入数据是否合法
if length(scores) ~= length(credits)
error('成绩和学分数据长度不一致!');
end
% 计算平均学分
average_credit = mean(credits);
% 计算加权绩点
weighted_gpa = 0;
for i = 1:length(scores)
if scores(i) >= 90
gpa = 4.0;
elseif scores(i) >= 85
gpa = 3.7;
elseif scores(i) >= 82
gpa = 3.3;
elseif scores(i) >= 78
gpa = 3.0;
elseif scores(i) >= 75
gpa = 2.7;
elseif scores(i) >= 72
gpa = 2.3;
elseif scores(i) >= 68
gpa = 2.0;
elseif scores(i) >= 64
gpa = 1.5;
elseif scores(i) >= 60
gpa = 1.0;
else
gpa = 0;
end
weighted_gpa = weighted_gpa + gpa * credits(i);
end
% 计算绩点
gpa = weighted_gpa / sum(credits);
```
程序中的`error`函数用于在输入数据不合法时提示错误信息,绩点的计算方式参考了一般的高校绩点计算方法。
您可以在Matlab命令行中运行`[average_credit, gpa] = grade_calculator([80 85 90], [3 4 2])`来测试程序的正确性。
阅读全文