a)
Code Block |
---|
function days = daysInMonth(mndNr)
switch ( mndNr )
case 1
days = 31;
case 2
days = 28;
case 3
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
days = 30;
case 12
days = 31;
otherwise
days = 0;
end
end |
b)
Code Block |
---|
function res = isLeapYear ( year )
if mod (year , 4) == 0
% mod (a, b) gir resten dersom a deles på b.
% Dersom mod (year , 4) er lik 0, er year delelig på 4
if mod (year , 100) == 0
if mod (year , 400) == 0
res = true ; % Delelig paa 4, 100 og 400
else
res = false ; % Delelig paa 4 og 100 , men ikke 400
end
else
res = true ; % Delelig paa 4, men ikke 100
end
else
res = 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 |
---|
...
case 2
days = 28+ isLeapYear(year);
case 3 |
Det betyr at daysInMonth(mndNr, year) må se slik ut
Code Block | ||
---|---|---|
| ||
function res = isLeapYear ( year ) if mod (year , 4) == 0 % mod (a, b) gir resten dersom a deles på b. % Dersom mod (year , 4) er lik 0, er year delelig på 4 if mod (year , 100) == 0 if mod (year , 400) == 0 res = true ; % Delelig paa 4, 100 og 400 else res = false ; % Delelig paa 4 og 100 , men ikke 400 end else res = true ; % Delelig paa 4, men ikke 100 end else res = false ; % Ikke delelig på 4 end end |