Versions Compared

Key

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

...

Legg inn funksjonen getCalendar (se over). Denne krever at vi implementerer funksjonene daysInMonth og getMonthStartDay, se tidligere i øvingen. Skuddår må være med i beregningene.  Du                                                                                                     Du kan bruke filene daysInMonth.m og isLeapYear.m fra tidligere øvinger

For å kunne definere funksjonen getMonthStartDay trenger vi først å vite hvilken dag året starter på.

c) Lag funksjonen getYearStartDay(year). Funksjonen skal ta inn et årstall som parameter og returnere hvilken ukedag året starter på (1 = Mandag, 2 = Tirsdag, ..., 7 = Søndag). 
Tips: Året 1900 startet på en mandag. For hvert år flytter startdagen seg med en dag. Det vil si at 1901 startet på en tirsdag. Hvis året er et skuddår, flytter startdagen i neste år seg med to dager.

...

d) Lag funksjonen getMonthStartDay(year, monthNumber). Den skal ta inn et årstall og et månedsnummer som parameter (1 = Januar, 2 = Februar, ..., 12 = Desember). Funksjonen skal returnere hvilken ukedag måneden starter på (1 = Mandag, 2 = Tirsdag, ..., 7 = Søndag). 

...

Å vise matrisedelene av kalenderen bør være en egen funksjon.

e) Lag funksjonen printDays(days). Den skal ta inn matrisen som funksjonen i oppgave 3 lager som parameter, og skrive ut datoene som vist i toppen av øvingen. Denne funksjonen skal ikke returnere noen verdi. Funksjonshodet kan dermed se slik ut:

Code Block
languagenone
function printDays ( days )
	% Din kode
end

f) Lag funksjonen printCalendar(year, monthNumber). Parameterene er år og månedsnummer. Den benytter seg av getMonthName og getCalendar og printer ut de to første linjene av kalenderen før den kaller på printDays. Den skal ikke returnere noe, bare vise utskrift.