a)
Code Block | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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
...
language | none |
---|
...
otherwise
days = 0;
end
end
|