-
Lenguaje
Pascal
-
Descripción
Tomando como base los resultados obtenidos en un laboratorio de análisis clínicos, un médico determina si una persona tiene anemia o no, lo cual depende de su nivel de hemoglobina en la sangre, de su edad y de su sexo. Si el nivel de hemoglobina que tiene una persona es menor que el rango que le corresponde, se determina su resultado como positivo y en caso contrario como negativo. La tabla en la que el medico se basa para obtener el resultado es la siguiente:
Edad | Nivel de hemoglobina
0 - 1 mes | 13 - 26 g%
1 y <= 6 meses | 10 - 18 g%
6 y <= 12 meses | 11 - 15 g%
1 y <= 5 años | 11.5 - 15 g%
5 y <= 10 años | 12.6 - 15.5 g%
10 y <= 15 años | 13 - 15.5 g%
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
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
program DiagnosticoDeAnemia;
uses crt;
var edad_en_meses, nivel_de_hemoglobina, rango_menor : real;
begin
write ('Ingresa el valor de edad en meses: ');
readln (edad_en_meses);
write ('Ingresa el valor de nivel de hemoglobina: ');
readln (nivel_de_hemoglobina);
rango_menor := 0;
if edad_en_meses<=1 then
begin
rango_menor := 13;
end;
if (edad_en_meses>1) and (edad_en_meses<=6) then
begin
rango_menor := 10;
end;
if (edad_en_meses>6) and (edad_en_meses<=12) then
begin
rango_menor := 11;
end;
if (edad_en_meses>12) and (edad_en_meses<=60) then
begin
rango_menor := 11.5;
end;
if (edad_en_meses>30) and (edad_en_meses<=120) then
begin
rango_menor := 12.6;
end;
if (edad_en_meses>120) and (edad_en_meses<=180) then
begin
rango_menor := 13;
end;
if nivel_de_hemoglobina<rango_menor then
begin
writeln ('Positivo en anemia');
end
else
begin
writeln ('Negativo en anemia');
end;
writeln ('Valor de rango menor: ', rango_menor:0:6);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.
uses crt;
var edad_en_meses, nivel_de_hemoglobina, rango_menor : real;
begin
write ('Ingresa el valor de edad en meses: ');
readln (edad_en_meses);
write ('Ingresa el valor de nivel de hemoglobina: ');
readln (nivel_de_hemoglobina);
rango_menor := 0;
if edad_en_meses<=1 then
begin
rango_menor := 13;
end;
if (edad_en_meses>1) and (edad_en_meses<=6) then
begin
rango_menor := 10;
end;
if (edad_en_meses>6) and (edad_en_meses<=12) then
begin
rango_menor := 11;
end;
if (edad_en_meses>12) and (edad_en_meses<=60) then
begin
rango_menor := 11.5;
end;
if (edad_en_meses>30) and (edad_en_meses<=120) then
begin
rango_menor := 12.6;
end;
if (edad_en_meses>120) and (edad_en_meses<=180) then
begin
rango_menor := 13;
end;
if nivel_de_hemoglobina<rango_menor then
begin
writeln ('Positivo en anemia');
end
else
begin
writeln ('Negativo en anemia');
end;
writeln ('Valor de rango menor: ', rango_menor:0:6);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.