program eje10; uses crt; function valido(d,m,a:integer):boolean; begin if (m>0) and (m<13) then begin case (m) of 1,3,5,8,10,12: if (d>0) and (d<=31) then valido:=True else valido:=False; 2: if (a mod 4=0) and (a mod 100<>0) then begin if (d>0) and (d<=29) then valido:=True else valido:=False; end else begin if (a mod 4=0) and (a mod 100=0) then if (d>0) and (d<=28) then valido:= true else valido:= false; end; 4,6,7,9,11: if (d>0) and (d<=30) then valido:=True else valido:=False; else valido:=false; end; end; end; var d,m,a:integer; begin writeln ('ingrese un dia'); readln (d); writeln ('ingrese un mes'); readln (m); writeln ('ingrese un ano'); readln (a); writeln ('la fecha es: ',valido(d,m,a)); end.