Dedicamos esta nueva entrada “Algoritmos. Número mayor y menor de una serie de enteros” a uno de los algoritmos más comunes: dados una serie de números, averiguar cuál es el mayor y el menor de ellos.
Efectivamente, aplicable a muchas tareas, en este artículo no contamos con que pidamos al usuario que indique esos números (lo dejamos para otra entrada) así como nos restringimos exclusivamente a números enteros tanto positivos como negativos eso sí.
Descripción del algoritmo
Tal y como puede verse en el pseudocódigo y los organigramas, la serie de enteros mostrada es de 10 elementos y con números concretos. Obviamente podemos cambiar tanto el número de elementos como los valores muy fácilmente.
El algoritmo usado para realizar esta tarea es el básico que recorre secuencialmente toda la serie. En consecuencia, se da por hecho que existen algoritmos más eficientes para realizar esta labor.
Pseudocódigo
Algoritmo minMaxSerieEnteros
Definir serie Como Entero
Definir maximo Como Entero
Definir minimo Como Entero
Definir totalElementos Como Entero
Definir totalBucle Como Entero
maximo <- 0
minimo <- 0
totalElementos <- 10
totalBucle <- totalElementos-1
Dimension numElementos[totalElementos]
numElementos[1] <- 10
numElementos[2] <- 5
numElementos[3] <- 1
numElementos[4] <- 28
numElementos[5] <- -10
numElementos[6] <- 7
numElementos[7] <- 12
numElementos[8] <- 91
numElementos[9] <- 19
numElementos[9] <- 84
Para contador <- 1 Hasta totalBucle Hacer
Si numElementos[contador] > maximo Entonces
maximo <- numElementos[contador]
FinSi
Si numElementos[contador] < minimo Entonces
minimo <- numElementos[contador]
FinSi
FinPara
Escribir 'El número máximo es: ',maximo
Escribir 'El número mínimo es: ',minimo
FinAlgoritmo
Organigrama Nassi-Shneiderman

Uso del algoritmo en diferentes lenguajes
Seguidamente, veamos como implementar el algoritmo en diferentes lenguajes. Por supuesto, dependiendo de las funcionalidades de cada lenguaje, hará posible que no sea necesario el uso del algoritmo tal cual.
Comprobaremos que lenguajes como Python, PHP y JavaScript simplifican mucho la tarea, haciendo inútil el algoritmo. En cualquier caso, podemos implementar el algoritmo igualmente.
Otros, como Free Pascal, pueden simplificar la tarea pero implican el uso de elementos muy avanzados como punteros. He optado por implementar el algoritmo tal cual.
Finalmente, en Harbour (Clipper) tenemos como opción ordenar el array y extraer el primer y último elemento de éste para obtener esos valores.
Resumiendo. El algoritmo es bueno y eficaz. Sin embargo, según el lenguaje, tenemos la opción de usar las funcionalidades de éste para disponer de una alternativa más eficiente a la par que eficaz (¡ojo! de todas formas podemos implementar el algoritmo indicado en todos esos lenguajes).
C y C++
Python
PHP
JavaScript
Free Pascal
Harbour, XBase, Clipper
Tal y como se puede comprobar, el algoritmo se basa en recorrer secuencialmente la colección o serie de números enteros.
Seguidamente se va comparando el número encontrado en la colección con el valor máximo y mínimo encontrado hasta ese momento.
Si el valor comparado es mayor o menor al usado como tal hasta ese momento se sustituye.
Conclusión
Finalmente, insistir en el hecho de que el algoritmo mostrado en este artículo no solicita los datos al usuario y únicamente trabaja con enteros. En otra entrada se explicará cómo hacer para pedir los datos al usuario.
Mientras añadimos más contenidos similares, quizás os interesen estos otros:
- Cómo ser desarrollador web (artículo).
- Un Curso de introducción a la programación.
- Otro curso de programación con Free Pascal.
- Y finalmente el curso de programación con C.
En definitiva, nada más. Un saludo y hasta otra.