Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafío: Simulador de pedidos en una cafetería

ALGORITMO AtencionCafeteria
// 1. Definición de variables
ENTERO cantidadArticulos, i
CADENA nombreArticulo, esClienteRegistrado
REAL precioArticulo, totalPagar, descuento, totalConDescuento
totalPagar = 0.0
// 2. Captura de la cantidad de artículos
ESCRIBIR "Ingrese la cantidad de artículos a pedir:"
LEER cantidadArticulos
// 3. Bucle para procesar cada artículo
PARA i DESDE 1 HASTA cantidadArticulos HACER
ESCRIBIR "Ingrese el nombre del artículo ", i, ":"
LEER nombreArticulo
ESCRIBIR "Ingrese el precio del artículo ", i, ":"
LEER precioArticulo
// Sumamos al total acumulado
totalPagar = totalPagar + precioArticulo
FIN PARA
// 4. Preguntar si el cliente está registrado
ESCRIBIR "¿El cliente está registrado en el sistema? (si/no):"
LEER esClienteRegistrado
// 5. Aplicar la lógica del descuento
SI esClienteRegistrado = "si" ENTONCES
descuento = totalPagar * 0.10
totalConDescuento = totalPagar - descuento
ESCRIBIR "--- RESUMEN DEL PEDIDO ---"
ESCRIBIR "Subtotal: $", totalPagar
ESCRIBIR "Descuento aplicado (10%): -$", descuento
ESCRIBIR "TOTAL A PAGAR: $", totalConDescuento
SINO
ESCRIBIR "--- RESUMEN DEL PEDIDO ---"
ESCRIBIR "TOTAL A PAGAR: $", totalPagar
FIN SI
FIN ALGORITMO

1 respuesta

¡Hola Asley, espero que estés bien!

Tu algoritmo para el simulador de pedidos en una cafetería parece estar bastante bien estructurado y sigue la lógica que se requiere para el desafío. Estás capturando la cantidad de artículos, procesando cada uno para obtener el nombre y el precio, y luego calculando el total a pagar. También estás considerando el descuento para los clientes registrados, lo cual es excelente.

Aquí tienes un par de sugerencias y aclaraciones para asegurarte de que todo funcione correctamente:

  1. Validación de Entrada: Asegúrate de que las entradas del usuario sean válidas. Por ejemplo, podrías verificar si cantidadArticulos es un número positivo y si precioArticulo es un número real positivo. Esto evitará errores en el cálculo.

  2. Comparación de Cadenas: Cuando comparas esClienteRegistrado = "si", ten en cuenta que las comparaciones de cadenas pueden ser sensibles a mayúsculas y minúsculas. Podrías considerar convertir la entrada a minúsculas antes de compararla, por ejemplo, usando una función ficticia MINUSCULA(esClienteRegistrado) si tu lenguaje de programación lo permite.

  3. Formato de Salida: Asegúrate de que los valores monetarios se muestren con el formato adecuado, por ejemplo, con dos decimales para representar centavos.

Aquí tienes un ejemplo de cómo podrías manejar la comparación de cadenas:

LEER esClienteRegistrado
esClienteRegistrado = MINUSCULA(esClienteRegistrado)
SI esClienteRegistrado = "si" ENTONCES
    ...

Con estas consideraciones, tu algoritmo debería funcionar de manera efectiva para el desafío planteado.

¡Espero haber ayudado y buenos estudios!