a)
Code Block | ||
---|---|---|
| ||
function days = daysInMonth(monthNumber) switch ( monthNumber ) case {1, 3, 5, 7, 8, 10, 12} days = 31; case {4, 6, 9, 11} days = 30; case 2 days = 28; 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 (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:
);
end
|
Da blir den oppdaterte daysInMonth-funksjonen slik:
Code Block | ||
---|---|---|
| ||
function days = daysInMonth(monthNumber, year)
switch (monthNumber) | ||
Code Block | ||
... case 2 days = 28 + isLeapYear(year); case 3 |
Det betyr at daysInMonth må ta inn year som argument også
c)
Code Block |
---|
function list = sortFunc(list) sorted = 0; len = length(list); while sorted == 0 sorted = 1{1, 3, 5, 7, 8, 10, 12} days = 31; forcase i = 2:len if list(i) < list(i-1){4, 6, 9, 11} tempdays = list(i)30; list(i) = list(i-1);case 2 days = 28 + listisLeapYear(i-1) = tempyear); otherwise sorteddays = 0; end end end end |