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

 

 

  • No labels