Algoritmo condicional para ordenar tres números: mayor, intermedio y menor en PseInt
Imagina que tienes tres amigos de diferentes estaturas o tres cartas con números distintos sobre la mesa y necesitas organizarlas de mayor a menor (de forma descendente) de un vistazo. En lugar de hacer una red kilométrica de comparaciones complejas, podemos usar un truco lógico: primero identificamos quién es el mayor de todos mediante condiciones, luego buscamos quién es el menor, y para hallar al intermedio simplemente sumamos los tres números y les restamos los extremos que ya conocemos. ¡Una auténtica genialidad matemática! Vamos a desglosarlo paso a paso, de forma muy amigable y cercana, como si estuviéramos charlando en la pizarra.
Entendiendo la Lógica de Selección y el Truco del Número Intermedio
Para no perdernos en las líneas de código, repasemos brevemente cómo opera la estrategia de este algoritmo:
- Identificación del Mayor: Evaluamos mediante condiciones lógicas (\(Y / AND\)) cuál de las tres variables (\(n_1, n_2, n_3\)) supera a las otras dos para guardarla en una variable llamada \(\text{may}\).
- Identificación del Menor: De forma similar, comparamos los números para aislar al valor más pequeño y almacenarlo en la variable \(\text{men}\).
- El Truco Matemático para el Intermedio: En lugar de hacer más condiciones para el valor central, utilizamos la propiedad de la suma total: si sumas los tres números y a ese total le restas el mayor y el menor, el resultado matemático obligado será el número intermedio (\(\text{med} = (n_1 + n_2 + n_3) - (\text{may} + \text{men})\)).
Planteamiento del Problema y Código en PseInt
Analicemos con atención el enunciado oficial del ejercicio que resolveremos hoy:
«Escribir un programa en PseInt que acepte tres números enteros diferentes entre sí y los devuelva debidamente ordenados de mayor a menor (forma descendente) aplicando condiciones y un razonamiento matemático optimizado.»
A continuación, te comparto el código optimizado y listo para correr en PseInt:
Algoritmo Ordenar_3_nros
Definir n1, n2, n3, may, men, med Como Real
// ENTRADA DE DATOS
Escribir "Introduzca tres números diferentes: "
Leer n1, n2, n3
// PROCESO 1: Determinar el número mayor
Si n1 > n2 Y n1 > n3 Entonces
may = n1
SiNo
Si n2 > n1 Y n2 > n3 Entonces
may = n2
SiNo
may = n3
FinSi
FinSi
// PROCESO 2: Determinar el número menor
Si n1 < n2 Y n1 < n3 Entonces
men = n1
SiNo
Si n2 < n1 Y n2 < n3 Entonces
men = n2
SiNo
men = n3
FinSi
FinSi
// PROCESO 3: Calcular el número intermedio mediante el truco matemático
med = (n1 + n2 + n3) - (may + men)
// SALIDA DE DATOS: Orden descendente (Mayor, Intermedio, Menor)
Escribir "El orden de mayor a menor es: ", may, ", ", med, ", ", men
FinAlgoritmo
Diagrama de Flujo del Proceso de Ordenamiento
Для visualizar cómo toma decisiones el algoritmo al aislar el número mayor, el menor y calcular el intermedio por diferencia aritmética, observa el siguiente esquema lógico en diagrama de flujo:
[ Inicio: Algoritmo Ordenar Tres Números ]
│
[ Leer tres números: n1, n2, n3 ]
│
┌──────────────────┴──────────────────┐
│ ¿Es n1 mayor que n2 Y mayor que n3? │
└──────────┬──────────────────┬───────┘
(Sí) │ │ (No)
▼ ▼
[ may = n1 ] ┌──────────────────┐
│ │ ¿Es n2 > n3? │
│ └────┬─────────┬───┘
│ (Sí) │ │ (No)
│ ▼ ▼
│ [ may = n2 ] [ may = n3 ]
│ │ │
└──────────┬─────┴─────────┘
│
┌─────────────────────┴─────────────────────┐
│ ¿Es n1 menor que n2 Y menor que n3? │
└─────────────┬──────────────────┬──────────┘
(Sí) │ │ (No)
▼ ▼
[ men = n1 ] ┌──────────────────┐
│ │ ¿Es n2 < n3? │
│ └────┬─────────┬───┘
│ (Sí) │ │ (No)
│ ▼ ▼
│ [ men = n2 ] [ men = n3 ]
│ │ │
└──────────┬─────┴─────────┘
│
[ Calcular Intermedio: med = (n1+n2+n3) - (may+men) ]
│
[ Mostrar Resultados en Orden Descendente ]
│
[ FinProceso ]
Bits de Ciencia Oficial
Edwin W.


No hay comentarios: