Máximo no entre todos
Si necesitamos encontrar el máximo (mínimo) no entre todos los números ingresados, sino solo entre los números que satisfacen una determinada condición, entonces debemos tener en cuenta el hecho de que el primer número que tomamos como el valor inicial del máximo (mínimo) no siempre satisfará nuestros requisitos.
Por ejemplo, si estamos buscando el número negativo máximo, entonces tenemos el conjunto de datos:
\(\{5, -2, 4, 2, -1, -3\}\ ) obtendremos el número 5 en el valor inicial del máximo, y es positivo y mayor que cualquier negativo. Y de ahí la condición
X > M
siempre será falso.
Por lo tanto, no es suficiente agregar solo una verificación para un número negativo al algoritmo del problema anterior, también es necesario tener en cuenta el hecho de que el primer número puede no satisfacer la condición requerida (en este caso, ser negativo ).
Puede solucionar esto agregando la siguiente condición dentro del ciclo:
pseudocódigo
si x es negativo entonces
si M >= 0 o M < entonces
M=X
En el código especificado, la condición M >= 0
le permite realizar la acción M = X
incluso si M
variable inicialmente contiene un valor que es obviamente mayor que el resto (en nuestro ejemplo, el valor es igual a 5).
También notamos que si se conoce el rango de números, entonces el número mínimo (máximo) del rango especificado se puede tomar como el valor inicial del máximo (mínimo).