Læringsmål:

  • Switch
  • For-løkker

Pensum

  • 4.4 - The switch Statement
  • 5.1 - The FOR loop


a) 

I) Hva gjør funksjonen nedenfor?
II) Hva er input/parametre, output og funksjonsnavn i denne funksjonen?

 

movieName
function name = movieName(number)
    switch(number)
        case 1
            name = 'Harry Potter og de vises stein';
        case 2
            name = 'Harry Potter og mysteriekammeret';
        case 3
            name = 'Harry Potter og fangen fra Azkaban';
        case 4
            name = 'Harry Potter og ildbegeret';
        case 5
            name = 'Harry Potter og Føniksordenen';
        case 6
            name = 'Harry Potter og halvblodsprinsen';
        case 7
            name = 'Harry Potter og dødstalismanene - del 1';
        case 8
            name = 'Harry Potter og dødstalismanene - del 2';
        otherwise
            name = 'Ikke et gyldig filmnummer (enda)';
    end
end

 

     lll)  Hva skjer hvis du har lagret funksjonen og kjører movieName(3) i kommandovinduet?

 

b) 

     l) En gang for lenge siden stod det bare romnavn på dørene i p15. En forvirret student hadde kun fått tilsendt romnummer av sin studass, og ville gjerne ha godkjent øving 3, men visste ikke hvor hun skulle gå.      

Hjelp studenten ved å lage en funksjon, num2name(number), som tar inn et romnummer og returnerer romnavnet. Dersom det skrives inn et ugyldig romnummer skal det returneres en høyst valgfri feilmelding. Oppgaven SKAL utføres med switch. På p15 finnes rommene: 424 Vembi, 421 Rall, 414 Gorg og 411 Rill.

Eksempel på kjøring:
>> num2name(424)
ans =
Vembi
>> num2name(100)
Error using num2name (line 11)
Din stud.ass har prøvd å lede deg på ville veier. Kontakt Und.assene umiddelbart for å bli reddet!

 

    ll) Hvorfor er SWITCH et bedre alternativ til denne oppgaven enn IF/ELSE/ELSEIF?