Explicacion Maximos Y Minimos

Anuncio
Programación I – 2011
Máximos y Mínimos en Pascal
Enunciado de ejemplo
Se leen las alturas de 2 jugadores de básquet.
Informar el jugador con altura máxima.
Solución Propuesta
Program basquet;
Var
altura1, altura2: real;
Begin
write ('Ingrese la altura del jugador 1’);
readln(altura1);
write ('Ingrese la altura del jugador 2’);
readln(altura2);
if (altura1 > altura2) then
Para calcular el máximo
writeln(“Jugador 1”);
compara ambas alturas e
Else
informa el jugador con altura
writeln(“Jugador 2”);
máxima.
writeln('Presione cualquier tecla para finalizar ...');
readln;
End.
Ejemplo con mas de 2 jugadores
¿Qué hay que hacer si en lugar de leer la altura de 2 jugadores
debemos leer de 3? ¿Tendría 3 variables?
¿Y si tuviéramos que leer las alturas de 100 jugadores?
NO sería correcto utilizar 100 variables, ni tampoco realizar las
comparaciones necesarias con esas 100 variables para saber
qué jugador tiene la altura máxima.
Solución: Utilizaremos 2 variables
•MAX: que indique la altura máxima hasta el momento.
•JUGADORMAX: que indique cuál fue el jugador que tiene la
altura máxima al momento.
4
Enunciado de ejemplo
Se leen las alturas de 20 jugadores de básquet.
Informar el número de jugador con altura máxima,
con altura mínima y la altura promedio.
Solución propuesta
Program basquet;
Var
altura, prom, sum, max, min: real;
i, jugadormax, jugadormin : integer;
Begin
sum := 0;
max := -1;
min := 3;
for i:=1 to 20 do begin
write ('Ingrese la altura del jugador ', i, ': ');
Readln(altura);
if (altura > max) then begin
max := altura;
jugadormax:= i;
end;
if (altura < min) then begin
min := altura;
jugadormin:=i;
end;
sum := sum + altura;
end;
writeln(‘Jugador con altura máxima ',jugadormax);
writeln(‘Jugador con altura mínima: ',jugadormin);
prom := (sum/20);
writeln('La altura promedio es : ', prom:4:2);
writeln('Presione cualquier tecla para finalizar ...');
readln;
End.
Enunciado de ejemplo
Cálculo de dos máximos
Se leen las alturas de 20 jugadores de básquet.
Informar los dos jugadores con altura máxima.
Conceptos
En lugar de manejar una variable max necesitamos
manejar dos: max1 y max2 .
Para ello necesitamos tener en cuenta la siguiente
condición:
Max1 > Max2
Solución propuesta
Program basquet;
Var
altura, max1, max2: real;
i, jugadormax1, jugadormax2: integer;
Begin
writeln(‘Los dos jugadores con altura máxima
son:',jugadormax1, jugadormax2);
writeln('Presione cualquier tecla para finalizar
...');
readln;
max1 := -1; max2 := -1;
End.
for i:=1 to 20 do begin
write ('Ingrese la altura del jugador ', i, ': ');
Readln(altura);
if (altura > max1) then begin
Casos a Analizar:
max2:= max1;
• altura > max1
jugadormax2:=jugadormax1;
• max2 < altura < max1
max1:= altura;
jugadormax1:=i;
• altura < max2
end;
else
¿Que sucede si altura = max1 o
if (altura > max2) then begin
altura = max2?
max2:= altura;
jugadormax2:=i;
end;
end;
¿PREGUNTAS?
Descargar