Pascal/Turbo Pascal - Ayuda con problema de años y meses

 
Vista:
sin imagen de perfil
Val: 1
Ha disminuido su posición en 18 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Ayuda con problema de años y meses

Publicado por Dylan (1 intervención) el 01/04/2019 20:33:17
Buenas necesito ayuda con dos ejercicios que no se como resolver:

1)Dado un mes y un año calcule la cantidad de dias de ese mes en ese año

2)Dada una fecha, representada por tres numeros enteros dia, mes y año, determinar si es valida. Por ejemplo si dia=21,mes=10 y año=2008, la fecha es valida. Si dia=29, mes=2 y año=2018 la fecha no es valida.

Si me pueden ayudar muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con problema de años y meses

Publicado por David (224 intervenciones) el 04/04/2019 13:20:50
Te propongo la siguiente solución:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Uses CRT;
 
 
vAR
  mes, anio,numdias : integer;
 
FUNCTION ANiO_BISIESTO(ano : INTEGER):BOOLEAN;
 
VAR
bisiesto : BOOLEAN;
BEGIN
   IF (((ano MOD 4) = 0) AND ((ano MOD 100) <> 0)) OR ((ano MOD 400) = 0) THEN
      bisiesto:=TRUE {Es ano bisiesto}
   ELSE
      bisiesto:=FALSE; {No es ano bisiesto}
   ANiO_BISIESTO:=bisiesto;
END; {FIN ANO_BISIESTO}
bEGIN
  clrscr;
  wRITELN('A¥O: ');
  READLN(ANIO);
  WRITELN('MES: ');
  READLN(MES);
  cASE MES OF
    1,3,5,7,8,10,12 : NUMDIAS:=31;
    4,6,9,11        : NUMDIAS:=30;
    2 : IF anio_BISIESTO(ANIO) THEN
             NUMDIAS := 29
        ELSE
           numdias:=28;
  end;
  Writeln('EL MES TIENE, NUMDIAS, ' ,numDIAS);
  READLN;
END.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar