-
Lenguaje
Pascal
-
Descripción
Dada el peso, la altura y el sexo, de unos estudiantes. Determinar la cantidad de vitaminas que deben consumir estos estudiantes, en base al siguiente criterio:
- Si son varones, y su estatura es mayor a 1.60, y su peso es mayor o igual a 150 lb, su dosis, serán: 20% de la estatura y 80% de su peso. De lo contrario, la dosis será la siguiente: 30% de la estatura y 70% de su peso.
- Si son mujeres, y su estatura es mayor de a 1.50 m y su peso es mayor o igual a 130 lb, su dosis será: 25% de la estatura y 75% de su peso. De lo contrario, la dosis será: 35% de la estatura y 65% de su peso.
La dosis debe ser expresada en gramos.
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
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
program CantidadDeVitaminas;
uses crt;
var genero : integer;
var dosis_en_gramos, estatura_en_metros, peso_en_gramos, peso_en_libras : real;
var tecla_repetir : char;
begin
repeat
clrscr;
write ('Ingresa el valor de estatura en metros: ');
readln (estatura_en_metros);
write ('Ingresa el valor de peso en libras: ');
readln (peso_en_libras);
dosis_en_gramos := 0;
writeln ('Selecciona el valor de genero.');
writeln (' 1.- Mujer');
writeln (' 2.- Var'#162'n');
write (' : ');
repeat
readln (genero);
if (genero<1) or (genero>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (genero>=1) and (genero<=2);
peso_en_gramos := peso_en_libras*453.59237;
if (genero=2) and (estatura_en_metros>1.6) and (peso_en_libras>=150) then
begin
dosis_en_gramos := estatura_en_metros*0.2+peso_en_gramos*0.8;
end;
if (genero=2) and ((estatura_en_metros<1.6) or (peso_en_libras<150)) then
begin
dosis_en_gramos := estatura_en_metros*0.3+peso_en_gramos*0.7;
end;
if (genero=1) and (estatura_en_metros>1.5) and (peso_en_libras>=130) then
begin
dosis_en_gramos := estatura_en_metros*0.25+peso_en_gramos*0.75;
end;
if (genero=1) and ((estatura_en_metros<1.5) or (peso_en_libras<130)) then
begin
dosis_en_gramos := estatura_en_metros*0.35+peso_en_gramos*0.65;
end;
writeln ('Valor de dosis en gramos: ', dosis_en_gramos:0:6);
writeln ('Valor de peso en gramos: ', peso_en_gramos:0:6);
writeln;
write (#168'Deseas repetir el proceso? (S/N): ');
repeat
tecla_repetir := readkey;
until (tecla_repetir = 's') or (tecla_repetir = 'n') or (tecla_repetir = 'S') or (tecla_repetir = 'N');
until (tecla_repetir <> 's') and (tecla_repetir <> 'S');
end.
uses crt;
var genero : integer;
var dosis_en_gramos, estatura_en_metros, peso_en_gramos, peso_en_libras : real;
var tecla_repetir : char;
begin
repeat
clrscr;
write ('Ingresa el valor de estatura en metros: ');
readln (estatura_en_metros);
write ('Ingresa el valor de peso en libras: ');
readln (peso_en_libras);
dosis_en_gramos := 0;
writeln ('Selecciona el valor de genero.');
writeln (' 1.- Mujer');
writeln (' 2.- Var'#162'n');
write (' : ');
repeat
readln (genero);
if (genero<1) or (genero>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (genero>=1) and (genero<=2);
peso_en_gramos := peso_en_libras*453.59237;
if (genero=2) and (estatura_en_metros>1.6) and (peso_en_libras>=150) then
begin
dosis_en_gramos := estatura_en_metros*0.2+peso_en_gramos*0.8;
end;
if (genero=2) and ((estatura_en_metros<1.6) or (peso_en_libras<150)) then
begin
dosis_en_gramos := estatura_en_metros*0.3+peso_en_gramos*0.7;
end;
if (genero=1) and (estatura_en_metros>1.5) and (peso_en_libras>=130) then
begin
dosis_en_gramos := estatura_en_metros*0.25+peso_en_gramos*0.75;
end;
if (genero=1) and ((estatura_en_metros<1.5) or (peso_en_libras<130)) then
begin
dosis_en_gramos := estatura_en_metros*0.35+peso_en_gramos*0.65;
end;
writeln ('Valor de dosis en gramos: ', dosis_en_gramos:0:6);
writeln ('Valor de peso en gramos: ', peso_en_gramos:0:6);
writeln;
write (#168'Deseas repetir el proceso? (S/N): ');
repeat
tecla_repetir := readkey;
until (tecla_repetir = 's') or (tecla_repetir = 'n') or (tecla_repetir = 'S') or (tecla_repetir = 'N');
until (tecla_repetir <> 's') and (tecla_repetir <> 'S');
end.