Læringsmål:
- If-setninger
- Tilfeldige tall
Pensum
- Kap 1.6
- Kap 2.1.3
- Kap 3.7
- Kap 4.1 - 4.3
En sprø professor på Dragvoll har et frivillig fag om "tilfeldighet". Han bedømmer eksamen etter to faktorer: En tilfeldig poengsum og en svært uformell gruppering av håndskrift: fin eller stygg. Fin skrift trekker en hel karakter opp, stygg skrift trekker ned en hel karakter. Han gir ikke ut karaktere over A eller mindre enn F.
Det skal lages et program som skriver ut: "Du fikk 89 poeng på eksamen, en B. Fordi du skrev stygt ble dette en C.".
Dette gjøres ved å bryte ned problemet i mindre deler.
a) Lag en funksjon som gir deg en karakter basert på et antall poeng. Prototypen skal se slik ut: "function [grade] = num2grade(points);"
Poenggrensene er som følger:
A | B | C | D | E | F |
---|---|---|---|---|---|
100-89 | 88-77 | 76-65 | 64-53 | 52-41 | 40-0 |
Skriv ut en feilmelding om antall poeng ikke er et heltall eller er utenfor skalaen.
b) Skriv funksjonen evaluateGrade
. Den tar inn en poengsum (heltall) og en streng for kvaliteten på håndskriften, 'fin' eller 'stygg'. Tips: Bruk num2grade
og det at 'B' + 1 = 'A'
.
c) Det er behov for en funksjon randomGrade
som generer en tilfeldig poengsum (heltall!) fra 0 til 100. Lag denne og test at den funker med: num2grade(randomGrade)
.
d) Lag også en funksjon randomHandW
for å lage en tilfeldig håndskrift, 'fin' eller 'stygg'.
e) num2grade
, evaluateGrade
, randomHandW
og randomGrade
skal settes sammen. grades() feks ut: Du fikk 70 poeng på eksamen, en C. Fordi du skrev fint ble dette en B.