Descubre el Número Más Grande: Un Algoritmo Sencillo y Eficaz

Problema

Diseña un algoritmo que imprima el número más grande de tres números dados.

Ejemplo 1
Entrada: 1, 2, 3
Salida: 9
Ejemplo 2
Entrada: 10, 15, 8
Salida: 15

Consejo: Antes de escribir código debes entender cómo se resuelve el problema. Piensa en cómo lo harías sin usar código. Realiza el algoritmo paso a paso en un papel o en el editor de código. Luego compara tu solución con la del artículo.

1. Análisis

Nos piden determinar cuál es el número más grande de tres números dados.

Pero, ¿qué pasa hay números iguales?

  • Si los tres números son iguales, imprimir cualquiera.

  • Si dos números son iguales, imprimir cualquiera que cumpla la condición de ser mayor que el tercer número.

2. Diseño del algoritmo

1. Idea de solución

La idea es simple, comparar los tres números entre sí para decidir el mayor.

2. Diseño

Usamos variable mayor para guardar temporalmente el número más grande cada vez que hacemos una comparación. Al final, mayor tendrá el resultado.

A, B, C = 1, 2, 3
mayor = infinito negativo

si A >= mayor entonces
    mayor ← A
fin si
si B >= mayor entonces
    mayor ← B
fin si
si C >= mayor entonces
    mayor ← C
fin si

print(mayor)

3. Comprobación en seco

entradaresultado
1, 2, 33
10, 15, 815
4, 4, 44
4, 4, 55
-20, -5, -10-5

3. Codificación

A, B, C = 1, 2, 3
mayor = -float('inf')

if A >= mayor:
    mayor = A
if B >= mayor:
    mayor = B
if C >= mayor:
    mayor = C

print(mayor)

Inicializamos mayor como infinito negativo. Esto representa el valor menor que puede tener un número en Python. Cualquier número diferente a infinito negativo es superior a este. Así podemos actualizar el valor de mayor en cada comparación.

Comparamos cada número contra la variable mayor. Actualizamos el valor de esta.

Al final, imprimimos mayor.

4. Complejidad

Tiempo: O(1) constante

Por que no hay una colección que recorrer.

Espacio: O(1) constante

Por que no hay una estructura de datos adicional.

Conclusión

En conclusión, hemos diseñado un algoritmo sencillo y eficaz para determinar el número más grande entre tres números dados. A través de un análisis detallado y un diseño claro, hemos demostrado cómo comparar los números y actualizar una variable para encontrar el mayor. La implementación en código es directa y eficiente, con una complejidad constante tanto en tiempo como en espacio. Este enfoque no solo resuelve el problema de manera efectiva, sino que también es fácil de entender y aplicar en diversas situaciones.

Bibliografía

Joyanes Aguilar, L. (2008). Fundamentos de programación. Madrid: McGraw-Hill.

0
Subscribe to my newsletter

Read articles from Gilberto Ramirez directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Gilberto Ramirez
Gilberto Ramirez

I'm a software engineer with experience in web development. The main technologies I work with are .NET, React, and SQL. Personally, I prefer the backend. I'm keen on writing my dev journey. I think this is a great way to share and appropriate what I've learned.