Можете помочь .
Как написать программу которой вводишь дату ,
и она проверяет её правельность,
тоесть если ей ввел 32 декабря она скажет что такого не бывает или там 30 февраля . формат дату такой ДЕНЬ.Месяц.Год например [ 02.12.2005 ]
const
days: array[1 .. 12] of byte =
(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var
D, M, Y: Integer;
begin
write('DD/MM/YYYY'); readln(D, M, Y);
if ((Y mod 4) = 0) and
not (((Y mod 100) = 0) and ((Y mod 400) <> 0)) then inc(days[2]);
if
(M >= 1) and (M <= 12) and
(D >= 1) and (D <= days[ M ])
then
writeln('correct') else writeln('not correct');
end.
const masiv=100;
BM:array[1..13] of integer =(0,31,59,90,120,151,181,212,243,273,304,334,365);
var
P,I1,I2 :integer;
begin
repeat
repeat
writeln('Введите дату :');
readln (Dt[i]);
val(copy(Dt[i],1,2),I1,l);
val(copy(Dt[i],4,2),I2,l);
If copy(Dt[i],3,1)<>'.' then writeln('Дата должна бать в формате дд.мм');
if I2>12 then writeln('Месяц не может быть больше 12');
until I2<=12;
If BM[I2+1]-I1<BM[I2] then writeln('День не соответствут числу дней в заданном месяце');
until (copy(Dt[i],3,1)='.') and (BM[I2+1]-I1>=BM[I2]);
P=I1+BM[I2];