Propuesta de Algoritmo
Situación cotidiana: Cálculo del total de una factura con IVA y descuento en un
supermercado.
Descripción del Problema
En un supermercado, cada producto tiene un precio y un impuesto (IVA) aplicable.
Los IVAs permitidos son 4%, 7% y 16%. Los clientes deben ingresar los productos
hasta que elijan finalizar la entrada. Al final, el sistema debe validar los IVAs,
calcular el total de los precios, sumar los impuestos, aplicar descuentos basados
en el total de los impuestos y mostrar el total final de la factura.
Pasos para el desarrollo del algoritmo
1. Entrada de Datos:
o Recoger una lista de productos con sus precios y porcentajes de
IVA.
o Finalizar la entrada de datos cuando se ingrese un IVA de 0.
2. Validación de IVA:
o Verificar si el IVA es 4%, 7%, o 16%.
o Rechazar cualquier otro valor de IVA y solicitar una entrada válida.
3. Cálculo de Subtotales:
o Sumar los precios de los productos.
o Calcular el IVA de cada producto y sumar los IVAs.
4. Cálculo del Descuento:
o Aplicar un descuento basado en el total de los impuestos:
0% si el total de los impuestos es menor que 1000.
5% si el total de los impuestos es mayor o igual que 1000 y
menor que 10000.
10% si el total de los impuestos es mayor o igual que 10000.
5. Cálculo del Total:
o Restar el descuento del total de impuestos y del total de IVA.
6. Impresión de Resultados:
o Imprimir el total de impuestos después del descuento.
o Imprimir el total de IVA después del descuento.
o Imprimir la suma total de ambos.
Pseudocódigo del Algoritmo
pseudocode
Copiar código
INICIO
DECLARAR lista_productos COMO LISTA
DECLARAR suma_impuestos COMO REAL INICIALIZADO EN 0
DECLARAR suma_IVA COMO REAL INICIALIZADO EN 0
DECLARAR descuento COMO REAL
DECLARAR total_final COMO REAL
MIENTRAS VERDADERO HACER
LEER precio, IVA
SI IVA == 0 ENTONCES
SALIR DEL BUCLE
FIN_SI
SI IVA != 4 Y IVA != 7 Y IVA != 16 ENTONCES
IMPRIMIR "IVA no válido, por favor ingrese nuevamente."
CONTINUAR
FIN_SI
AGREGAR (precio, IVA) A lista_productos
FIN_MIENTRAS
PARA CADA (precio, IVA) EN lista_productos HACER
suma_impuestos = suma_impuestos + precio
suma_IVA = suma_IVA + (precio * IVA / 100)
FIN_PARA
SI suma_impuestos < 1000 ENTONCES
descuento = 0
SINO_SI suma_impuestos >= 1000 Y suma_impuestos < 10000 ENTONCES
descuento = 5
SINO
descuento = 10
FIN_SI
DESCUENTO_TOTAL = (suma_impuestos + suma_IVA) * descuento / 100
total_final = (suma_impuestos + suma_IVA) - DESCUENTO_TOTAL
IMPRIMIR "Total de impuestos después del descuento: ", suma_impuestos -
(suma_impuestos * descuento / 100)
IMPRIMIR "Total de IVA después del descuento: ", suma_IVA - (suma_IVA *
descuento / 100)
IMPRIMIR "Total final de la factura: ", total_final
FIN
Documento con los pasos y el pseudocódigo
Título: Algoritmo para el Cálculo del Total de una Factura con IVA y
Descuento
Objetivo: Desarrollar un algoritmo que calcule el total de una factura en un
supermercado, incluyendo la validación de IVA, el cálculo de impuestos y el
descuento aplicable basado en el total de los impuestos.
Pasos para el desarrollo del algoritmo:
1. Entrada de Datos:
o El usuario ingresa una lista de productos con sus precios e IVA
correspondiente.
o La entrada finaliza cuando se ingresa un IVA de 0.
2. Validación de IVA:
o Se verifica si el IVA ingresado es 4%, 7%, o 16%.
o Si el IVA no es válido, se solicita una nueva entrada.
3. Cálculo de Subtotales:
o Se suma el precio de todos los productos.
o Se calcula el IVA de cada producto y se suma.
4. Cálculo del Descuento:
o Se aplica un descuento basado en la suma de los impuestos:
0% si la suma es menor que 1000.
5% si la suma es mayor o igual que 1000 y menor que 10000.
10% si la suma es mayor o igual que 10000.
5. Cálculo del Total:
o Se resta el descuento del total de impuestos y del total de IVA.
6. Impresión de Resultados:
o Se imprime el total de impuestos después del descuento.
o Se imprime el total de IVA después del descuento.
o Se imprime la suma total de ambos.
Pseudocódigo:
pseudocode
Copiar código
INICIO
DECLARAR lista_productos COMO LISTA
DECLARAR suma_impuestos COMO REAL INICIALIZADO EN 0
DECLARAR suma_IVA COMO REAL INICIALIZADO EN 0
DECLARAR descuento COMO REAL
DECLARAR total_final COMO REAL
MIENTRAS VERDADERO HACER
LEER precio, IVA
SI IVA == 0 ENTONCES
SALIR DEL BUCLE
FIN_SI
SI IVA != 4 Y IVA != 7 Y IVA != 16 ENTONCES
IMPRIMIR "IVA no válido, por favor ingrese nuevamente."
CONTINUAR
FIN_SI
AGREGAR (precio, IVA) A lista_productos
FIN_MIENTRAS
PARA CADA (precio, IVA) EN lista_productos HACER
suma_impuestos = suma_impuestos + precio
suma_IVA = suma_IVA + (precio * IVA / 100)
FIN_PARA
SI suma_impuestos < 1000 ENTONCES
descuento = 0
SINO_SI suma_impuestos >= 1000 Y suma_impuestos < 10000 ENTONCES
descuento = 5
SINO
descuento = 10
FIN_SI
DESCUENTO_TOTAL = (suma_impuestos + suma_IVA) * descuento / 100
total_final = (suma_impuestos + suma_IVA) - DESCUENTO_TOTAL
IMPRIMIR "Total de impuestos después del descuento: ", suma_impuestos -
(suma_impuestos * descuento / 100)
IMPRIMIR "Total de IVA después del descuento: ", suma_IVA - (suma_IVA *
descuento / 100)
IMPRIMIR "Total final de la factura: ", total_final
FIN
Este documento proporciona una guía detallada para entender y desarrollar el
algoritmo que resuelve el problema cotidiano del cálculo del total de una factura
con IVA y descuento en un supermercado.