Описать процедуру Pred_d(D, M, Y), которая по информации о правильной дате,включающей день D, номер месяца M и год Y, определяет предыдущую дату(пара- метры целого типа D, M, Y являются одновременно входными ивыходными). Применить процедуру Pred_d к трем исходным датам и вывестиполученные значения предыдущих дат.- Pascal(Паскаль)

var d,m,y:integer;
    vg,pd:boolean;
begin
repeat
writeln('Введите день месяц год');
readln(d,m,y);
{определим високосный год или нет}
vg:=((y mod 100<>0)and(y mod 4=0))or(y mod 400=0);
pd:=(y>0)and(m in [1..12])and
   ((m in [1,3,5,7,8,10,12])and(d in [1..31]))
 or((m in [4,6,9,11])and(d in [1..30]))
 or((m=2)and vg and(d in [1..29]))
 or((m=2)and not vg and(d in [1..28]));
if pd then
 begin
  writeln('Дата введена правильно')
  PrevDate(d,m,y)
 end
else
 begin
  writeln('Дата введена неверно');
  exit;
 end;
end.

Leave a Comment

+ 65 = 75