Algoritmo para Calcular Precio Final con IVA en PSeInt (Guía 2026)

Nivel: Básico Tiempo: ~10 min

El cálculo de impuestos es el «Hola Mundo» de los sistemas financieros. Ya sea que estés en España (21%), México (16%), Colombia (19%) o cualquier otro país, la lógica para aplicar el Impuesto al Valor Agregado (IVA) es universal. En este tutorial de PSeInt, aprenderás a tomar un precio base, calcular el monto del impuesto usando porcentajes y sumar todo para obtener el precio final de venta. Dominar este ejercicio te permitirá entender cómo manejar variables Reales (decimales) y cómo traducir porcentajes matemáticos a expresiones que la computadora pueda procesar.

Conceptos Clave: Matemáticas Financieras en Programación

Para que tu algoritmo funcione correctamente, debes traducir la lógica comercial a lógica computacional:

Representación de Porcentajes

La computadora no entiende el símbolo «%» directamente en una fórmula matemática. Debes recordar que un porcentaje es una fracción de 100.
• 21% se escribe como 0.21
• 16% se escribe como 0.16
• 50% se escribe como 0.50

Precisión Decimal (Variables Reales)

Al trabajar con dinero, los decimales son obligatorios. Un precio puede ser $10.50 y su impuesto $1.68. Si defines las variables como Entero, PSeInt truncará los centavos, generando un error de cálculo financiero grave. Siempre usa Definir ... Como Real.

Análisis del Algoritmo

Estructura del flujo para una calculadora de IVA básica:

  • ENTRADA 1. Precio Base: El costo del producto sin impuestos (ej: $100).
    2. Porcentaje de IVA: La tasa a aplicar (ej: 21).
  • PROCESO Calcular el monto del impuesto y sumarlo al base.
    MontoIVA = PrecioBase * (Porcentaje / 100)
    PrecioFinal = PrecioBase + MontoIVA
  • SALIDA Mostrar el desglose: Precio Base, Monto del IVA calculado y Precio Total a pagar.

Código Fuente (Calculadora Universal)

Archivo: CalcularIVA.psc
Algoritmo CalcularPrecioConIVA
    // 1. Definición de Variables
    // Todo dinero debe ser Real
    Definir precioBase, porcentajeIVA, montoIVA, precioFinal Como Real;
    
    // 2. Entrada de Datos
    Escribir "=== Calculadora de Impuestos (IVA) ===";
    Escribir "Ingrese el precio del producto (sin impuestos):";
    Leer precioBase;
    
    Escribir "Ingrese el % de IVA a aplicar (ej: 21, 16, 19):";
    Leer porcentajeIVA;
    
    // 3. Proceso
    // Convertimos el número entero (21) a decimal (0.21) dividiendo por 100
    montoIVA <- precioBase * (porcentajeIVA / 100);
    
    // Sumamos el impuesto al precio original
    precioFinal <- precioBase + montoIVA;
    
    // 4. Salida de Resultados (Desglose tipo Factura)
    Escribir "-----------------------------------";
    Escribir "Subtotal:      $", precioBase;
    Escribir "IVA (", porcentajeIVA, "%):      $", montoIVA;
    Escribir "-----------------------------------";
    Escribir "TOTAL A PAGAR: $", precioFinal;
    Escribir "-----------------------------------";
    
FinAlgoritmo

Diagrama de Flujo

⚠️ Errores Comunes al Calcular Porcentajes

Evita estos fallos matemáticos frecuentes que rompen la lógica del programa:

Multiplicar directo por el entero

Error grave: impuesto <- precio * 21.
Esto multiplica el precio por 21 veces, no por el 21%. Si el usuario ingresa el número "21", tu código debe dividirlo entre 100 para convertirlo a 0.21.

Sumar Porcentaje al Número

Error: total <- precio + 0.21.
No puedes sumar dinero ($100) con un factor decimal (0.21). Debes sumar el *resultado* de la multiplicación: total <- precio + (precio * 0.21).

Reto: Factura Detallada con Descuento (Avanzado)

En la vida real, a veces se aplica un descuento antes del impuesto. El siguiente código avanzado solicita el precio, aplica un descuento si el monto es alto, y luego calcula el IVA sobre el nuevo subtotal.

Algoritmo FacturaCompleta
    Definir precio, descuento, subtotal, iva, total Como Real;
    
    Escribir "Ingrese precio del producto:";
    Leer precio;
    
    // Si compra más de $1000, recibe 10% de descuento
    Si precio > 1000 Entonces
        descuento <- precio * 0.10;
        Escribir "¡Descuento aplicado del 10%!";
    SiNo
        descuento <- 0;
    FinSi
    
    subtotal <- precio - descuento;
    
    // Calculamos IVA sobre el precio ya descontado (Norma común)
    // Suponemos IVA fijo del 21%
    iva <- subtotal * 0.21; 
    
    total <- subtotal + iva;
    
    Escribir "=== FACTURA ===";
    Escribir "Precio Lista:  $", precio;
    Escribir "Descuento:    -$", descuento;
    Escribir "Subtotal:      $", subtotal;
    Escribir "IVA (21%):    +$", iva;
    Escribir "TOTAL:         $", total;
FinAlgoritmo

Preguntas Frecuentes (FAQ)

¿Cómo extraigo el IVA de un precio total?
Si ya tienes el precio final y quieres saber cuánto era el precio base, debes dividir por (1 + tasa). Ejemplo para IVA 21%: Base <- PrecioFinal / 1.21;.
¿Puedo poner el porcentaje de IVA fijo?
Sí, si tu programa es solo para un país (ej: España), puedes definir una constante o simplemente usar 0.21 en el código sin pedirlo al usuario.
¿Cómo redondeo el precio final a 2 decimales?
Usa la fórmula de redondeo clásica: total <- redon(total * 100) / 100;. Esto asegura que el valor monetario sea correcto para contabilidad.
¿Qué pasa si ingreso un precio negativo?
Deberías añadir una validación con Si-Entonces o Repetir-Hasta Que para asegurar que precio > 0, ya que no existen precios negativos en ventas.

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