a)
function [grade]= num2grade(points) if round(points) ~= points error('points is not an integer.') elseif points > 100 || points < 0 error('points is not within closed the intervall [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