Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program zakaz_28_02_2021_v2;
- {$APPTYPE CONSOLE}
- {$R *.res}
- uses
- System.SysUtils;
- type
- TYear = 1900 .. 1999;
- TMonth = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
- TDayOfWeek = (MON, TUE, WED, THU, FRI, SAT, SUN);
- const
- ArrOfMonth: array [0 .. 11] of string = ('Янв', 'Фев', 'Мар', 'Апр', 'Май',
- 'Июнь', 'Июль', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек');
- var
- Year: TYear;
- Month: TMonth;
- DayOfWeek: TDayOfWeek;
- QuantityOfDays, QuantityOfDates, i: Byte;
- begin
- DayOfWeek := SAT;
- QuantityOfDays := 28;
- QuantityOfDates := 0;
- for Year := 1900 to 1999 do
- begin
- for Month := Jan to Dec do
- begin
- for i := 1 to QuantityOfDays - 28 do
- begin
- if DayOfWeek = SUN then
- DayOfWeek := MON
- else
- DayOfWeek := Succ(DayOfWeek);
- end;
- if DayOfWeek = FRI then
- begin
- Writeln('13 ', ArrOfMonth[Ord(Month)], ' ', Year);
- Inc(QuantityOfDates);
- end;
- if Month < Aug then
- begin
- if Month = Feb then
- begin
- if (Year mod 4 = 0) and (Year <> 1900) then
- QuantityOfDays := 29
- else
- QuantityOfDays := 28;
- end
- else
- begin
- if Ord(Month) mod 2 = 1 then
- QuantityOfDays := 30
- else
- QuantityOfDays := 31;
- end;
- end
- else if Ord(Month) mod 2 = 0 then
- QuantityOfDays := 30
- else
- QuantityOfDays := 31;
- end;
- end;
- Writeln('Пятниц 13 в с 1900 до 1999: ', QuantityOfDates);
- Readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment