Algoritmos. Número mayor y menor de una serie de enteros

Algoritmos

Índice de contenidos

Algoritmos. Número mayor y menor de una serie de enteros. Aplicación en varios lenguajes.

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.

Más abajo puedes ver el pseudocódigo:

				
					Algoritmo minMaxSerieEnteros
	Definir serie Como Entero
	Definir maximo Como Entero
	Definir minimo Como Entero
	Definir totalElementos Como Entero
	Definir totalBucle Como Entero
	
	totalElementos <- 10
	totalBucle <- totalElementos-1
	
	Dimension numElementos[totalElementos]
	numElementos[1] <- 10
	numElementos[2] <- 5
	numElementos[3] <- 4
	numElementos[4] <- 28
	numElementos[5] <- 3
	numElementos[6] <- 7
	numElementos[7] <- 12
	numElementos[8] <- 91
	numElementos[9] <- 19
	numElementos[9] <- 84
	
	maximo <- numElementos[1]
	minimo <- numElementos[1]
	
	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

Organigrama Nassi-Shneiderman

Nassi-Schneiderman. Mayor y menor de una serie de números enteros

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++

En C:
En C++ (simple): En C++ (avanzado):
En Java sin imports adicionales: En Java (con ArrayList y Collections):

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.

El algoritmo se puede implementar en cualquiera de los lenguajes indicados, sin embargo, algunos lenguajes ofrecen alternativas más eficientes

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:

En definitiva, nada más. Un saludo y hasta otra.

2 comentarios en «Algoritmos. Número mayor y menor de una serie de enteros»

  1. al cálculo del mínimo está errado. Funciona sólo si tienes números negativos en el array. Si el menor del array fuese por ejemplo 1 entonces el algoritmo ya no funcionaría.

    Responder
    • Hola john. Depende del lenguaje empleado pero el algoritmo, no era del todo correcto. Ya está todo corregido.

      Disculpa por la tardanza en aprobar y responder: he tenido problemas con los comentarios. Un saludo y gracias.

      Responder

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Foto Perfil
JOSÉ MANUEL DOMÍNGUEZ ROMERO
Más de 20 años formando y desarrollando, siempre aprendiz, ahora emprendedor que intenta compartir toda esa experiencia y conocimientos.

¿Necesitas clases particulares de programación?

Reserva conmigo y recíbelas a través de Skype, Zoom, Hangouts, Discord o similar.

Clases particulares
Logotipo de Orbis Sapientia Elearning Services

Protegemos tus datos

En este portal web procesamos datos personales como, por ejemplo, tus datos de navegación. Si sigues navegando por nuestro portal, nosotros y otras compañías seleccionadas, podrán instalar cookies o acceder a información no sensible de tu dispositivo con el objetivo de crear perfiles, personalizar contenidos, servir anuncios adaptados a tus preferencias y elaborar estadísticas. Es imprescindible para acceder al sitio web, aceptar:
Con este acto reconoces que has leído y comprendido todos ellos.
Algunas cookies son esenciales para la carga del portal y que puedas ver este mensaje por lo que ya han sido cargadas.
Si lo deseas, puedes eliminar y bloquear todas las cookies de esta web tal como se indica en las Políticas de cookies, aunque de hacerlo, el portal no funcionará correctamente.