По введенной дате вычислить день, который был девять дней назад - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

по введенной дате вычеслить день, который был девять дней назад. при этом учитывать что если год кратен четырем,то в этом году в феврале 20 дней.

Решение задачи: «По введенной дате вычислить день, который был девять дней назад»

textual
Листинг программы
uses CRT;
procedure GetDay(var d, m, y: integer);var correct: byte;
begin
correct:=1;
repeat
writeLn('Введите дату.');
write('День - ');
readLn(d);
write('Месяц - ');
readLn(m);
write('Год - ');
readLn(y);
if y<=4903 then
if y>=1000 then
correct:=0;
until correct=0
end;
procedure CountDay(d,m,y:integer);
var week:array [0..6] of string[11];c,w,w1:integer;
begin
  week[0] := 'воскресенье';
   week[1] := 'понедельник';
    week[2] := 'вторник';
     week[3] := 'среда';
      week[4] := 'четверг';
       week[5] := 'пятница';
        week[6] := 'суббота';
if m<3 then begin
m:=m+10;
y:=y-1
end
else m:=m-2;
c:=y div 100;
y:=y mod 100;
w:=abs(trunc(2.6*m-0.2)+d+y div 4+y+c div 4-2*c)mod 7; //текущая дата 
w1:=abs(trunc(2.6*m-0.2)+d+y div 4+y+c div 9-2*c)mod 7; //дата которая была 9 дней назад
writeLn('Cоответствует день недели - ', week[w]); writeln('9 дней назад был(а) - ', week[w1]);
end;
var d,y,m: integer;
begin
ClrScr;
GetDay(d,m,y);CountDay(d,m,y);
end.

Объяснение кода листинга программы

  1. Программа использует процедуру GetDay, чтобы запросить у пользователя ввод даты в формате день, месяц, год.
  2. Введенные значения сохраняются в переменных d, m и y.
  3. Процедура CountDay использует массив week, чтобы определить день недели для введенной даты.
  4. Если месяц меньше 3, то программа корректирует его значение, добавляя 10 к нему и вычитая 1 из года.
  5. Программа вычисляет день недели для текущей даты и для даты, которая была 9 дней назад, используя формулу w1 := abs(trunc(2.6*m-0.2)+d+y div 4+y+c div 9-2*c)mod 7.
  6. Выводит на экран день недели для текущей даты и день недели для даты, которая была 9 дней назад.
  7. В основной части программы вызываются функции GetDay и CountDay, чтобы получить введенную дату и вычислить день недели для этой даты и для даты, которая была 9 дней назад.
  8. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы