a)
function grade = num2grade(points)
if round(points) ~= points
error('points er ikke et heltall!')
elseif points > 100 || points < 0
error('points må ligge i intervallet [0, 100]!')
elseif points > 88
grade = 'A';
elseif points > 76
grade = 'B';
elseif points > 64
grade = 'C';
elseif points > 52
grade = 'D';
elseif points > 40
grade = 'E';
else
grade = 'F';
end
end
b)
function grade = evaluateGrade(points, handWriting)
grade = num2grade(points);
if handWriting && grade ~= 'A'
grade = char(grade - 1);
else if ~handWriting && grade ~= 'F'
grade = char(grade + 1);
end
end
c)
function points = randomPoints()
points = randi(100);
end
d)
function handWriting = randomHandW()
handWriting = randi(2) == 1;
% Her finnes det mange måter.
end
e)
function grades()
points = randomPoints();
handWriting = randomHandW();
grade = evaluateGrade(points,handWriting);
if handWriting
fprintf('Du fikk %d poeng på eksamen, en %s. Fordi du skrev fint ble dette en %s\n',points,num2grade(points), grade);
else
fprintf('Du fikk %d poeng på eksamen, en %s. Fordi du skrev stygt ble dette en %s\n',points,num2grade(points), grade);
end
end