a)

function day = getYearStartDay ( year )
	day = 1;
	for i = 1900:( year -1)
		if isLeapYear (i)
			day = day + 2;
		else
			day = day + 1;
		end
 
		if day >= 8
			day = day - 7;
		end
	end
end

 

b)

function day = getMonthStartDay ( year , month )
	if month > 0 && month < 13
		day = getYearStartDay ( year );
		for i = 1 : month -1
			day = day + daysInMonth (year , i);
		end

		while ( day > 7)
			day = day - 7;
		end
	else
		day = 0;
	end
end

Eller:

function day = getMonthStartDay ( year , month )
	if month > 0 && month < 13
		day = getYearStartDay ( year ) - 1;
 
		for i = 1 : ( month -1 )
			day = day + daysInMonth (year , i);
		end

		day = mod (day , 7);
		day = day + 1;
	else
		day = 0;
	end
end
  • No labels