Programa que valide fecha
Publicado por Yiara (5 intervenciones) el 17/11/2006 13:54:00
Uolaaa gente!! weno os cuento mi frustracion jejeje, estoy cursando ingenieria tecnica en informatica d sistemas y nos an mandao en pascal acer un programita q valide una fecha, es decir al introducirla el usuario, nos diga si es correcta o no, he pensado como condiciones las siguientes:
1. dias, meses y años: enteros positivos.
2. mes 1,3,5,7,8,10,12: dia no mayor de 31
mes 4,6,9,11: dia no mayor de 30
mes 2: dia no mayor de 29 --> año bisiesto
dia no mayor de 28 --> año no bisiesto
3. Mes entre 1 y 12.
os pongo la chapuciya q e planteado... jejej q solo son planteamientos... d ideas q kiero expresar pero nose como... ni idea d si necesito procedimientos(procedure) o funciones (function)
lo que esta entre [[[ ]]] es lo keiro expresar... pero nose como... y lo demas d año y mes deberia meterlo con subprogramas pero weno.. en fin espero q podais ayudarme a solucionarlo debidamente! ya q solo tengo asta el miercoles dia 22 d nov!!
muchiiiiiiiiisimas gracias!!
ahi va:
Program ValidarFecha;
Uses Crt;
Var
begin
Write(`Dime un año:');
Readln(año);
If (año mod 4=0) or (año mod 100=0) and not (ano mod 400=0) then
bisiesto:=TRUE
else
bisiesto:=FALSE;
Write('Dime un mes:');
Readln(mes);
If (mes<1) or (mes>12) then
Writeln ('El mes introducido es incorrecto');
else
case mes of
1,3,5,7,8,10,12: [[[ condicion: dia>=1 o dia<=31]]]
4,6,9,11: [[[ condicion: dia>=1 o dia<=30]]]
2: if bisiesto=TRUE then [[[ condicion: dia>=1 o dia<=29]]]
else [[[ condicion: dia>=1 o dia<=28]]]
Write ('Dime un dia:');
Readln(dia);
........................ nose mas.... :'-(
Espero haberme expresado bien!! gasias!!
1. dias, meses y años: enteros positivos.
2. mes 1,3,5,7,8,10,12: dia no mayor de 31
mes 4,6,9,11: dia no mayor de 30
mes 2: dia no mayor de 29 --> año bisiesto
dia no mayor de 28 --> año no bisiesto
3. Mes entre 1 y 12.
os pongo la chapuciya q e planteado... jejej q solo son planteamientos... d ideas q kiero expresar pero nose como... ni idea d si necesito procedimientos(procedure) o funciones (function)
lo que esta entre [[[ ]]] es lo keiro expresar... pero nose como... y lo demas d año y mes deberia meterlo con subprogramas pero weno.. en fin espero q podais ayudarme a solucionarlo debidamente! ya q solo tengo asta el miercoles dia 22 d nov!!
muchiiiiiiiiisimas gracias!!
ahi va:
Program ValidarFecha;
Uses Crt;
Var
begin
Write(`Dime un año:');
Readln(año);
If (año mod 4=0) or (año mod 100=0) and not (ano mod 400=0) then
bisiesto:=TRUE
else
bisiesto:=FALSE;
Write('Dime un mes:');
Readln(mes);
If (mes<1) or (mes>12) then
Writeln ('El mes introducido es incorrecto');
else
case mes of
1,3,5,7,8,10,12: [[[ condicion: dia>=1 o dia<=31]]]
4,6,9,11: [[[ condicion: dia>=1 o dia<=30]]]
2: if bisiesto=TRUE then [[[ condicion: dia>=1 o dia<=29]]]
else [[[ condicion: dia>=1 o dia<=28]]]
Write ('Dime un dia:');
Readln(dia);
........................ nose mas.... :'-(
Espero haberme expresado bien!! gasias!!
Valora esta pregunta


0