Versions Compared

Key

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

a) 

Code Block
languagenone
function days = daysInMonth(mndNrmonthNumber)
switch ( mndNr monthNumber)
    case {1
, 3, 5, 7, 8,    days = 31;
    case 2
        days = 28;
    case 310, 12}
        days = 31;
    case {4
        days = 30;
    case 5
        days = 31;
    case 6
        days = 30;
    case 7
        days = 31;
    case 8
        days = 31;
    case 9
        days = 30;
    case 10
        days = 31;
    case 11, 6, 9, 11}
        days = 30;
    case 122
        days = 3128;
    otherwise
        days = 0;
end
end

b)

Code Block
languagenone
function resbool = isLeapYear ( year )
ifbool mod= (year , 4) ==> 0
    % mod (a, b) gir resten dersom a deles på b.
    % Dersom mod (year && mod(year, 4) er lik== 0, er&& year delelig på 4
    if mod  (~mod(year , 100) == 0
        if mod || mod(year , 400) == 0);
            res = true ; % Delelig paa 4, 100 og 400
        elseend

Da blir den oppdaterte daysInMonth-funksjonen slik:

Code Block
languagenone
function days = daysInMonth(monthNumber, year)
switch (monthNumber)
    case {1, 3, 5, 7,    res = false ; % Delelig paa 4 og 100 , men ikke 4008, 10, 12}
        end
days =   else31;
        res = true ; % Delelig paa case {4, men6, ikke9, 10011}
    end
else
    resdays = false ; % Ikke delelig på 4
end
end

Eneste endringen som trengs er at februar nå må sjekke om det er skuddår i år, og så legge til verdien til funksjonen isLeapYear:

Code Block
...
30;
    case 2
        days = 28 + isLeapYear(year);
    case 3

Det betyr at daysInMonth(mndNr, year) må se slik ut

 

 

...

languagenone

...

otherwise
        days = 0;
end
end