...
a) Lag en funksjon som returnerer en bokstavkarakter basert på antall poeng. Prototypen skal se slik ut:"
function
...
grade
...
= num2grade(points)
...
Poenggrensene er som følger:
...
Skriv ut en feilmelding om antall poeng ikke er et heltall eller er utenfor skalaen.
Tips: Bruk Matlabs den innebygde funksjon funksjonen, error(), til å skrive ut feilmeldingen.
Code Block | ||||
---|---|---|---|---|
| ||||
>> num2grade(65)
ans =
C
>> num2grade(110)
Error using num2grade (line 6)
points må ligge i intervallet [0, 100]! |
b) Skriv funksjonen evaluateGrade(points, handWriting)
. Den skal ha to parametre: en poengsum (heltall) og en boolsk verdi for kvaliteten på håndskriften. Fin håndskrift = true, stygg håndskrift = false. Den Den skal deretter returnere hva en bokstavkarakterbokstavkarakterer blir når håndskriften tas hensyn til.
Tips: Bruk num2grade
og det at char
('B' - 1) = 'A'
.
Code Block | ||||
---|---|---|---|---|
| ||||
>> evaluateGrade(83, true)
ans =
A
>> evaluateGrade(94, true)
ans =
A
>> evaluateGrade(56, false)
ans =
E
>> evaluateGrade(34, false)
ans =
F |
c) Det er behov for en funksjon randomPoints()
som generer en tilfeldig poengsum (heltall!) fra 0 til 100, og returnerer denne. Lag denne og test at den funker med: num2grade(randomGrade)
.randomPoints())
.
Code Block | ||||
---|---|---|---|---|
| ||||
>> randomPoints()
ans =
19
>> num2grade(randomPoints())
ans =
C |
d) Lag også en funksjon randomHandW()
som returnerer en tilfeldig håndskrift, true (fin) eller false (stygg).
Code Block | ||||
---|---|---|---|---|
| ||||
>> randomHandW
ans =
1
>> randomHandW
ans =
0
>> randomHandW
ans =
0 |
e) num2grade(points)
, evaluateGrade(points, handWriting)
, randomHandW()
og randomPoints()
skal settes sammen. Funksjonen grades()
skal bruke funksjonene fra de tidligere deloppgavene til å generere en tilfeldig poengsum og håndskrift, og deretter skrive ut til brukeren hva poengsummen ble, hvilken karakter det tilsvarer, og hvordan håndskriften påvirket karakteren.
Eksempel på kjøring av grades():
grades()
...
Code Block | ||||
---|---|---|---|---|
| ||||
>> grades
Du fikk 58 poeng på eksamen, en D. Fordi du skrev fint ble dette en C
>> grades
Du fikk 96 poeng på eksamen, en A. Fordi du skrev fint ble dette en A
>> grades
Du fikk 93 poeng på eksamen, en A. Fordi du skrev fint ble dette en A |