How to resolve the algorithm Day of the week step by step in the ECL programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Day of the week step by step in the ECL programming language

Table of Contents

Problem Statement

A company decides that whenever Xmas falls on a Sunday they will give their workers all extra paid holidays so that, together with any public holidays, workers will not have to work the following week (between the 25th of December and the first of January).

In what years between 2008 and 2121 will the 25th of December be a Sunday? Using any standard date handling libraries of your programming language; compare the dates calculated with the output of other languages to discover any anomalies in the handling of dates which may be due to, for example, overflow in types used to represent dates/times similar to   y2k   type problems.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Day of the week step by step in the ECL programming language

Source code in the ecl programming language

//In what years between 2008 and 2121 will the 25th of December be a Sunday?

IMPORT STD;
  
BaseYear := 2008;
EndYear  := 2121;

ChristmasDay := RECORD
  UNSIGNED1 DayofWeek;
  UNSIGNED2 Year;
END;

ChristmasDay FindDate(INTEGER Ctr) := TRANSFORM
  SELF.DayofWeek := (STD.Date.FromGregorianYMD((BaseYear-1) + Ctr,12,25)) % 7; //0=Sunday
  SELF.Year := (BaseYear-1) + Ctr;
END;

YearDS := DATASET(EndYear-BaseYear,FindDate(COUNTER));
OUTPUT(YearDS(DayofWeek=0),{Year});

/* Outputs: 
   2011
   2016
   2022
   2033
   2039
   2044
   2050
   2061
   2067
   2072
   2078
   2089
   2095
   2101
   2107
   2112
   2118
*/


  

You may also check:How to resolve the algorithm Euler's constant 0.5772... step by step in the BASIC programming language
You may also check:How to resolve the algorithm Longest common subsequence step by step in the 11l programming language
You may also check:How to resolve the algorithm Loops/Continue step by step in the Transact-SQL programming language
You may also check:How to resolve the algorithm Empty program step by step in the Rhope programming language
You may also check:How to resolve the algorithm Special variables step by step in the Julia programming language