Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Læringsmål:

  • Funksjoner
  • Switch
  • For-løkker

Pensum

  • 4.1 - The if Statement
  • 4.2 - The if-else Statement
  • 4.4 - The switch StatementKap PLACEHOLDER


a) Skriv funksjonen daysInMonth ved hjelp av en switch-setning. Den skal ta inn et månedsnummer: 1 = Januar, 2 = Februar osv. Funksjonen skal returnere antall dager i måneden. Bidrag fra skuddår neglisjeres. Hvis argumentet er ugyldig skal det returneres 0. Feks gir måned "appelsin" ingen mening og vi ønsker å beskytte oss mot slikt. 

Code Block
languagenone
daysInMonth (

...

'Appelsin

...

') % skal skrive ut 0

...


daysInMonth (1) % skal skrive ut 31

...


daysInMonth (2) % skal skrive ut 28

...


daysInMonth (3) % skal skrive ut 31

...


daysInMonth (4) % skal skrive ut 30

...


daysInMonth (5) % skal skrive ut 31

...


daysInMonth (6) % skal skrive ut 30

...


daysInMonth (7) % skal skrive ut 31

...


daysInMonth (8) % skal skrive ut 31

...


daysInMonth (9) % skal skrive ut 30

...


daysInMonth (10) % skal skrive ut 31

...


daysInMonth (11) % skal skrive ut 30

...


daysInMonth (12) % skal skrive ut 31

...


daysInMonth (13) % skal skrive ut 0

...


daysInMonth (pi) % skal skrive ut 0

b) Utvid funksjonen slik at den også tar hensyn til skuddår. Da må også årstallet også være et argument. Alle årstall som er delelig med 4 er skuddår bortsett fra hvert hundrede år (1800, 1900) om de ikke er delelig med 400 (1600, 2000). 


Tips: lag funksjonen isLeapYear(year) som tar inn årstallet og returnerer 0 eller 1 om det er skuddår eller ikke. mod(a,b) returnerer resten av divisjonen av a på b. Feks: mod(10,3) = 1.                                      

 

  ut 0