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 den innebygde funksjonen, error(), til å skrive ut feilmeldingen.

 

Code Block
languagehtml/xml
titleMan kan lagre bokstaver som variabler i Matlab slikEksempel på kjøring:
>> karakternum2grade(65)
ans = 'A'
karakter =
A
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. 

Eksempel på kjøring av evaluateGrade(76, false) :

grade =

D

 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(randomGrade).randomPoints()).

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 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