Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
languagehtml/xml
titleEksempel på kjøring:
>> 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 bokstavkarakteren bokstavkarakterer blir når håndskriften tas hensyn til.

 Tips: Bruk num2grade og det at  char('B' - 1) = 'A'.

Code Block
languagehtml/xml
titleEksempel på kjøring:
>> 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(randomPoints(randomGrade).)).

Code Block
languagehtml/xml
titleEksempel på kjøring:
>> 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
languagehtml/xml
titleEksempel på kjøring:
>> 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.

Code Block
languagehtml/xml
titleEksempel på kjøring

...

:
>> grades
Du fikk 58 poeng  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