Find the last Sunday of each month: Difference between revisions

Content added Content deleted
Line 354: Line 354:
END;
END;


% RETURN TRUE (1) IF Y IS A LEAP YEAR, OTHERWISE FALSE (0) %
% RETURN 1 IF Y IS A LEAP YEAR, OTHERWISE 0 %
INTEGER FUNCTION ISLEAPYR(Y);
INTEGER FUNCTION ISLEAPYR(Y);
INTEGER Y;
INTEGER Y;
Line 386: Line 386:


COMMENT
COMMENT
RETURN THE DAY OF THE MONTH CORRESPONDING TO LAST OCCURANCE
RETURN THE DAY OF THE MONTH CORRESPONDING TO LAST OCCURRENCE
OF WEEKDAY K (SUN=0, MON=1, ETC.) FOR A GIVEN MONTH AND YEAR;
OF WEEKDAY K (SUN=0, MON=1, ETC.) FOR A GIVEN MONTH AND YEAR;
INTEGER FUNCTION LASTKDAY(K, M, Y);
INTEGER FUNCTION LASTKDAY(K, M, Y);
Line 395: Line 395:
D := MONTHDAYS(M, Y);
D := MONTHDAYS(M, Y);
W := DAYOFWEEK(M, D, Y);
W := DAYOFWEEK(M, D, Y);
% FIND NEAREST PRIOR OCCURANCE OF DESIRED WEEKDAY %
% BACK UP AS NEEDED TO DESIRED WEEKDAY %
IF W >= K THEN
IF W >= K THEN
D := D - (W - K)
D := D - (W - K)