-
Lenguaje
Pascal
-
Descripción
Dado por teclado el día, mes y año de nacimiento de una persona, determinar cuántos años tiene, días y meses.
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
program EdadEnAnosMesesDias;
uses crt;
var ano_actual, ano_nacimiento, anos, dia_actual, dia_nacimiento : integer;
var dias, dias_del_mes, mes_actual, mes_nacimiento, meses : integer;
begin
write ('Ingresa el valor de ano actual: ');
readln (ano_actual);
write ('Ingresa el valor de ano nacimiento: ');
readln (ano_nacimiento);
write ('Ingresa el valor de dia actual: ');
readln (dia_actual);
write ('Ingresa el valor de dia nacimiento: ');
readln (dia_nacimiento);
dias_del_mes := 0;
writeln ('Selecciona el valor de mes actual.');
writeln (' 1.- Enero');
writeln (' 2.- Febrero');
writeln (' 3.- Marzo');
writeln (' 4.- Abril');
writeln (' 5.- Mayo');
writeln (' 6.- Junio');
writeln (' 7.- Julio');
writeln (' 8.- Agosto');
writeln (' 9.- Septiembre');
writeln (' 10.- Octubre');
writeln (' 11.- Noviembre');
writeln (' 12.- Diciembre');
write (' : ');
repeat
readln (mes_actual);
if (mes_actual<1) or (mes_actual>12) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (mes_actual>=1) and (mes_actual<=12);
writeln ('Selecciona el valor de mes nacimiento.');
writeln (' 1.- Enero');
writeln (' 2.- Febrero');
writeln (' 3.- Marzo');
writeln (' 4.- Abril');
writeln (' 5.- Mayo');
writeln (' 6.- Junio');
writeln (' 7.- Julio');
writeln (' 8.- Agosto');
writeln (' 9.- Septiembre');
writeln (' 10.- Octubre');
writeln (' 11.- Noviembre');
writeln (' 12.- Diciembre');
write (' : ');
repeat
readln (mes_nacimiento);
if (mes_nacimiento<1) or (mes_nacimiento>12) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (mes_nacimiento>=1) and (mes_nacimiento<=12);
if (mes_actual=1) or (mes_actual=3) or (mes_actual=5) or (mes_actual=7) or (mes_actual=8) or (mes_actual=10) or (mes_actual=12) then
begin
dias_del_mes := 31;
end;
if mes_actual=2 then
begin
dias_del_mes := 28;
end;
if (mes_actual=4) or (mes_actual=6) or (mes_actual=9) or (mes_actual=11) then
begin
dias_del_mes := 30;
end;
anos := ano_actual-ano_nacimiento;
meses := mes_actual-mes_nacimiento;
dias := dia_actual-dia_nacimiento;
if dias<0 then
begin
dias := dias+dias_del_mes;
meses := meses-1;
end;
if meses<0 then
begin
meses := meses+12;
anos := anos-1;
end;
writeln ('Valor de anos: ', anos);
writeln ('Valor de dias: ', dias);
writeln ('Valor de dias del mes: ', dias_del_mes);
writeln ('Valor de meses: ', meses);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.
uses crt;
var ano_actual, ano_nacimiento, anos, dia_actual, dia_nacimiento : integer;
var dias, dias_del_mes, mes_actual, mes_nacimiento, meses : integer;
begin
write ('Ingresa el valor de ano actual: ');
readln (ano_actual);
write ('Ingresa el valor de ano nacimiento: ');
readln (ano_nacimiento);
write ('Ingresa el valor de dia actual: ');
readln (dia_actual);
write ('Ingresa el valor de dia nacimiento: ');
readln (dia_nacimiento);
dias_del_mes := 0;
writeln ('Selecciona el valor de mes actual.');
writeln (' 1.- Enero');
writeln (' 2.- Febrero');
writeln (' 3.- Marzo');
writeln (' 4.- Abril');
writeln (' 5.- Mayo');
writeln (' 6.- Junio');
writeln (' 7.- Julio');
writeln (' 8.- Agosto');
writeln (' 9.- Septiembre');
writeln (' 10.- Octubre');
writeln (' 11.- Noviembre');
writeln (' 12.- Diciembre');
write (' : ');
repeat
readln (mes_actual);
if (mes_actual<1) or (mes_actual>12) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (mes_actual>=1) and (mes_actual<=12);
writeln ('Selecciona el valor de mes nacimiento.');
writeln (' 1.- Enero');
writeln (' 2.- Febrero');
writeln (' 3.- Marzo');
writeln (' 4.- Abril');
writeln (' 5.- Mayo');
writeln (' 6.- Junio');
writeln (' 7.- Julio');
writeln (' 8.- Agosto');
writeln (' 9.- Septiembre');
writeln (' 10.- Octubre');
writeln (' 11.- Noviembre');
writeln (' 12.- Diciembre');
write (' : ');
repeat
readln (mes_nacimiento);
if (mes_nacimiento<1) or (mes_nacimiento>12) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (mes_nacimiento>=1) and (mes_nacimiento<=12);
if (mes_actual=1) or (mes_actual=3) or (mes_actual=5) or (mes_actual=7) or (mes_actual=8) or (mes_actual=10) or (mes_actual=12) then
begin
dias_del_mes := 31;
end;
if mes_actual=2 then
begin
dias_del_mes := 28;
end;
if (mes_actual=4) or (mes_actual=6) or (mes_actual=9) or (mes_actual=11) then
begin
dias_del_mes := 30;
end;
anos := ano_actual-ano_nacimiento;
meses := mes_actual-mes_nacimiento;
dias := dia_actual-dia_nacimiento;
if dias<0 then
begin
dias := dias+dias_del_mes;
meses := meses-1;
end;
if meses<0 then
begin
meses := meses+12;
anos := anos-1;
end;
writeln ('Valor de anos: ', anos);
writeln ('Valor de dias: ', dias);
writeln ('Valor de dias del mes: ', dias_del_mes);
writeln ('Valor de meses: ', meses);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.