- Problematica.
Has sido contratado por una cafetería que desea automatizar la atención en el mostrador. El sistema debe permitir que el personal de atención al cliente registre los pedidos de cada cliente, calcule el valor total y aplique un descuento del 10% para clientes registrados.
El proceso debe funcionar de la siguiente manera:
La persona de atención al cliente informa cuántos artículos va a pedir el cliente.
Para cada artículo, el sistema solicita el nombre y el precio.
Al final, el sistema pregunta si el cliente está registrado.
Si lo está, aplica el descuento y muestra el valor con descuento.
De lo contrario, muestra el valor completo.
El desafío consiste en crear un algoritmo que represente esta lógica de forma completa.
- Resolución.
//Datos Base
Historico_ID[#####,#####,#####,...etc]
Articulo -> [Nombre1,Nombre2,Nombre3...etc]
Precio -> [Precio1,Precio2,Precio3...etc]
//Función calculada
Función RegistroHistorico[r]
Retornar
Si
Verdadero -> [r]==Historico_ID[#####]
sino
Falso -> [r]!==Historico_ID[#####]
//Servicio al Cliente Ingresa los datos
Mostrar -> ["Ingresar los datos del Pedido"]
Mostrar -> ["Ingresar el articulo solicitado"]
Articulo -> [SeleccionarLista]
Mostrar -> ["Ingresar la cantidad solicitada"]
Cantidad -> [leer del usuario]]
Mostrar -> ["Seleccionar el precio según medida"]
Precio ->[SeleccionarLista]
Mostrar -> ["Ingresar sin guiones el ID de cliente para validar Registro"]
r ->[leer del usuario]
//Condicional y Operativa
Monto Inicial -> [Precio*Cantidad]
Si
Registro -> [Verdadero]=["Cliente Registrado aplica descuento 10%"]
sino
Registro -> [Falso]=["Cliente No registrado, no aplica a descuento"]
Si
Registro_Existente -> RegistroHistorico[r]=="Verdadero"
Entonces
Total a pagar -> ["$"] + [Monto Inicial-(Monto Inicial*0.1)]
Sino
Registro_Existente -> RegistroHistorico[r]=="Falso"
Total a pagar-> ["$"]+[Monto Inicial]
//Resultado
Mostrar -> ["Articulo seleccionado es "] + Articulo
Mostrar -> ["Total a pagar es "] +["$"] +[Total a pagar]
Mostrar -> ["Resultado de la búsqueda: "] + [Registro]