Algoritmo para Convertir Celsius a Fahrenheit en PSeInt (Guía 2026)

Nivel: Básico Tiempo: ~10 min

La conversión de unidades es uno de los ejercicios más prácticos para iniciarse en la programación secuencial. En este tutorial, desarrollaremos un algoritmo capaz de transformar Grados Celsius (Centígrados) a la escala Fahrenheit, utilizada comúnmente en Estados Unidos. Este problema te permitirá practicar la declaración de variables de tipo Real, el uso de operadores aritméticos para aplicar fórmulas matemáticas y la entrada/salida de datos por consola. Además, exploraremos cómo invertir la fórmula para crear un conversor bidireccional avanzado.

Conceptos Clave para este Ejercicio

Para realizar este conversor correctamente, necesitamos entender cómo la computadora maneja los números y las fórmulas:

Variables Reales (Decimales)

La temperatura rara vez es un número entero exacto (ej: 36.6°C). Por tanto, es obligatorio definir nuestras variables (tanto para Celsius como Fahrenheit) como Real. Si usamos Entero, PSeInt truncará los resultados, perdiendo precisión crítica en la conversión.

La Fórmula de Conversión

La relación matemática estándar es: F = (C × 1.8) + 32.
Nota: A veces verás 9/5 en lugar de 1.8. En programación, ambas son válidas, pero usar 1.8 es más directo y evita posibles confusiones con la división entera en otros lenguajes.

Análisis del Problema

Desglosemos el algoritmo en sus tres componentes fundamentales (Entrada-Proceso-Salida):

  • ENTRADA Pedir al usuario la temperatura en grados Celsius. Necesitamos una variable, por ejemplo: gradosC.
  • PROCESO Aplicar la fórmula matemática para obtener los grados Fahrenheit.
    Operación: Multiplicar gradosC por 1.8 y sumar 32 al resultado.
  • SALIDA Mostrar el resultado almacenado en la variable gradosF acompañado de un texto descriptivo.

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

Archivo: ConversorTemp.psc
Algoritmo CelsiusAFahrenheit
    // 1. Definición de Variables
    // Es CRUCIAL usar 'Real' para temperaturas precisas
    Definir gradosC, gradosF Como Real;
    
    // 2. Entrada de Datos
    Escribir "=== Conversor de Temperatura ===";
    Escribir "Ingrese la temperatura en grados Celsius (°C):";
    Leer gradosC;
    
    // 3. Proceso: Fórmula (C * 1.8) + 32
    // Se puede usar 9/5 en lugar de 1.8, es equivalente.
    gradosF <- (gradosC * 1.8) + 32;
    
    // 4. Salida de Datos
    Escribir "--------------------------------";
    Escribir gradosC, "° Celsius equivalen a:";
    Escribir gradosF, "° Fahrenheit";
    Escribir "--------------------------------";
    
FinAlgoritmo

Diagrama de Flujo

⚠️ Errores Comunes al Programar la Fórmula

Asegúrate de no caer en estas trampas matemáticas comunes:

Error de Paréntesis / Jerarquía

Escribir C + 32 * 1.8 dará un resultado incorrecto porque la multiplicación se ejecuta antes que la suma. La fórmula correcta suma 32 después de multiplicar.

Confusión de Conversión Inversa

No confundas la fórmula de ida con la de vuelta.
De °C a °F se multiplica y suma.
De °F a °C se resta y divide: (F - 32) / 1.8.

Reto: Conversor Universal (Menú de Opciones)

Vamos a llevar este ejercicio al siguiente nivel. Crearemos un programa que permita al usuario elegir qué tipo de conversión desea realizar (De C a F o de F a C) utilizando la estructura Segun (Switch).

Algoritmo ConversorPro
    Definir tempEntrada, tempSalida Como Real;
    Definir opcion Como Entero;
    
    Escribir "=== MASTER CONVERTER 2026 ===";
    Escribir "1. Convertir Celsius a Fahrenheit";
    Escribir "2. Convertir Fahrenheit a Celsius";
    Escribir "Elija una opción (1 o 2):";
    Leer opcion;
    
    Segun opcion Hacer
        1:
            Escribir "Ingrese grados Celsius:";
            Leer tempEntrada;
            tempSalida <- (tempEntrada * 1.8) + 32;
            Escribir tempEntrada, "°C son ", tempSalida, "°F";
        2:
            Escribir "Ingrese grados Fahrenheit:";
            Leer tempEntrada;
            // Ojo a los paréntesis aquí: primero la resta
            tempSalida <- (tempEntrada - 32) / 1.8;
            Escribir tempEntrada, "°F son ", tempSalida, "°C";
        De Otro Modo:
            Escribir "Opción no válida. Reinicie el programa.";
    FinSegun
    
FinAlgoritmo

Preguntas Frecuentes (FAQ)

¿Por qué se usa 1.8 en la fórmula?
El factor 1.8 es el resultado de dividir 9 entre 5. La escala Fahrenheit tiene 180 divisiones entre el punto de congelación y ebullición del agua, mientras que Celsius tiene 100. 180/100 = 1.8.
¿Cómo puedo convertir a Kelvin?
Para convertir Celsius a Kelvin, la fórmula es muy simple: K = C + 273.15. Solo necesitas sumar esa constante a tu variable de entrada.
¿Qué pasa si ingreso una letra en lugar de un número?
PSeInt generará un error de ejecución por "No coinciden los tipos". Para evitar que el programa se cuelgue, en niveles avanzados se lee el dato como texto (Caracter) y se valida si es numérico antes de convertirlo.
¿Cuál es la temperatura donde °C y °F son iguales?
¡Es -40 grados! Puedes probar tu algoritmo ingresando -40 en Celsius; el resultado en Fahrenheit también debería ser -40.

¿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 *