Algoritmo para Convertir Metros a Centímetros y Milímetros en PSeInt (Guía 2026)

Nivel: Básico Tiempo: ~10 min

Las aplicaciones de conversión de unidades son esenciales en ingeniería, arquitectura y física básica. En este tutorial de Lógica de Programación, aprenderás a diseñar un algoritmo en PSeInt que tome una medida en metros y la desglose automáticamente en sus equivalentes menores: centímetros y milímetros. Este ejercicio es perfecto para practicar la asignación de variables, el uso de operadores aritméticos de multiplicación y el manejo de datos de tipo Real, ya que las medidas de longitud frecuentemente incluyen decimales (por ejemplo, 1.75 metros).

Conceptos Matemáticos y de Programación

Antes de codificar, repasemos la base matemática y cómo se traduce al lenguaje de la computadora:

Factores de Conversión

Para bajar en la «escalera» de unidades métricas, multiplicamos por potencias de 10:
• 1 Metro = 100 Centímetros (×100)
• 1 Metro = 1000 Milímetros (×1000)
En programación, usaremos el operador asterisco (*).

Variables Reales

¿Qué pasa si el usuario quiere convertir «Medio metro» (0.5m)? Si declaramos la variable como Entero, PSeInt podría redondear a 0 o 1, dando un resultado falso. Por eso, siempre definiremos las unidades de medida como Real.

Análisis del Algoritmo

Estructuramos la solución lógica en tres pasos sencillos:

  • ENTRADA Solicitar al usuario la cantidad de metros a convertir. Variable sugerida: metros.
  • PROCESO Realizar dos multiplicaciones independientes:
    1. cm = metros * 100
    2. mm = metros * 1000
  • SALIDA Mostrar los resultados calculados acompañados de sus abreviaturas correspondientes (cm, mm) para claridad del usuario.

Código Fuente (Solución Estándar)

Archivo: ConversorLongitud.psc
Algoritmo MetrosACentimetrosYMilimetros
    // 1. Definición de Variables
    // Definimos todo como Real para soportar decimales (ej: 1.5 metros)
    Definir metros, centimetros, milimetros Como Real;
    
    // 2. Entrada de Datos
    Escribir "=== Conversor de Unidades de Longitud ===";
    Escribir "Ingrese la cantidad de metros:";
    Leer metros;
    
    // 3. Proceso: Operaciones Aritméticas
    // 1 metro tiene 100 centímetros
    centimetros <- metros * 100;
    
    // 1 metro tiene 1000 milímetros
    milimetros <- metros * 1000;
    
    // 4. Salida de Resultados
    Escribir "---------------------------------------";
    Escribir "Resultados de la conversión:";
    Escribir metros, " metros equivalen a:";
    Escribir "> ", centimetros, " cm (Centímetros)";
    Escribir "> ", milimetros, " mm (Milímetros)";
    Escribir "---------------------------------------";
    
FinAlgoritmo

Diagrama de Flujo

⚠️ Errores Frecuentes en Conversiones

Aunque la matemática es simple, la implementación puede fallar por estos detalles:

Dividir en lugar de Multiplicar

Error clásico: cm <- metros / 100. Esto sería correcto si estuviéramos convirtiendo de centímetros a metros. Recuerda: de unidad grande a pequeña se multiplica; de pequeña a grande se divide.

Ingresar comas en lugar de puntos

Si al ejecutar escribes "1,5", PSeInt podría lanzar un error dependiendo de su configuración regional. Acostúmbrate a usar el punto decimal "1.5" en programación.

Reto: Validación de Datos (Distancias Positivas)

En física clásica, una distancia no suele ser negativa. Vamos a mejorar el código para evitar que el usuario ingrese "-5 metros", lo cual generaría resultados matemáticamente correctos pero físicamente absurdos en este contexto.

Algoritmo ConversorValidado
    Definir metros, cm, mm Como Real;
    
    // Usamos un ciclo 'Repetir' para obligar a un dato válido
    Repetir
        Escribir "Ingrese la cantidad de metros (debe ser positivo):";
        Leer metros;
        
        Si metros < 0 Entonces
            Escribir "ERROR: La distancia no puede ser negativa.";
            Escribir "Inténtelo de nuevo.";
        FinSi
    Hasta Que metros >= 0
    
    // Una vez validado, procedemos al cálculo
    cm <- metros * 100;
    mm <- metros * 1000;
    
    Escribir "--- Conversión Exitosa ---";
    Escribir metros, " m = ", cm, " cm";
    Escribir metros, " m = ", mm, " mm";
    
FinAlgoritmo

Preguntas Frecuentes (FAQ)

¿Cómo convierto a Kilómetros también?
Para pasar de metros a kilómetros (unidad más grande), debes dividir entre 1000. Agrega la línea: km <- metros / 1000;.
¿Por qué me salen muchos decimales como 100.00001?
Esto es un tema de precisión de punto flotante en las computadoras. Puedes usar la función redon(variable) para limpiar el resultado visualmente si lo deseas.
¿Puedo hacer un menú para elegir qué convertir?
¡Claro! Usando la estructura Segun (Switch), puedes preguntar al usuario: "1. Metros a CM" o "2. Metros a MM" y ejecutar solo el bloque de código correspondiente.
¿Qué es una variable 'Real'?
Es un tipo de dato que acepta números con decimales (punto flotante). Es fundamental usarlo en mediciones físicas porque casi nada en el mundo real mide exactamente 1 o 2 metros cerrados.

¿Listo para el siguiente nivel?

Domina la lógica de programación con nuestra colección completa.

Ver Más Ejercicios Resueltos

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *