ejercicio combos
TRANSCRIPT
Introducción a la Computación
Profesores: Camacaro, Vladimir Piñero, Erys
15/04/2023 2
Ejercicio Un puesto de comida rápida ofrece 3 tipos de combos, con los siguientes precios:Combo Nro. 1, 35BsF.Combo Nro. 2, 65,25BsF.Combo Nro. 3, 50BsF.
En el mes de aniversario del local se ofrece un paquete promocional con las siguientes políticas:
Si compra más de ½ docena del combo Nro.1 tiene un descuento del 3% sobre el total a cancelar.
Si compra 2 docenas del combo Nro.3 tiene descuento del 2% sobre el total a cancelar.
Por la compra se tiene como entrada: tipo de combo, cantidad del combo. Se pide calcular: monto a cancelar con descuento y monto a cancelar por
concepto de IVA.
15/04/2023 3
Análisis del problema
Lista ClasificaciónCliente claseTipoCombo atributo/ClienteCantidadCombo atributo/Cliente Empresa claseCalcMonto método/EmpresaCalcMontoIVA método/Empresa
15/04/2023 4
si (Tipocombo = “Combo 1”) inicio
Monto CantidadCombo*35si (CantidadCombo >= 6)inicio
Monto Monto*0,97fin
finsino inicio
si (Tipocombo = “Combo 2”) inicio
Monto CantidadCombo*65,25 finsino inicio
si (Tipocombo = “Combo 3”) inicio
Monto CantidadCombo*50si (CantidadCombo = 24) inicioMonto Monto*0,98 fin
finsino inicio
Monto 0 fin
fin fin
MontoIVA Monto*0,12
Diseño de las clases
alfanumerico TipoCombo
entero CantidadCombo
AsignarTipoCombo(alfanumerico ↓ Tipo) real CalcMonto(Cliente↓ OCliente)
AsignarCantidadCombo(entero ↓ Cantidad) real CalcMontoIva(Cliente↓ OCliente)
alfanumerico SacarTipoCombo()
entero SacarCantidadCombo()
15/04/2023 5
Cliente Empresa
15/04/2023 6
Implementación en pseudolenguaje
// Definición de la estructura de la clase Cliente clase Cliente inicio
privado:alfanumerico TipoCombo
entero CantidadCombopublico:
AsignarTipoCombo( alfanumerico ↓ tipo) AsignarCantidadCombo( entero ↓ cantidad) alfanumerico SacarTipoCombo( ) entero SacarCantidadCombo( ) fin
15/04/2023 7
Métodos propios de la clase Cliente
Cliente AsignarTipoCombo( alfanumerico ↓ tipo) inicio
TipoCombo tipo finCliente AsignarCantidadCombo( entero ↓ cantidad) inicio
CantidadCombo cantidad fin
15/04/2023 8
Métodos propios de la clase Cliente
alfanumerico Cliente SacarTipoCombo( ) inicio
retornar TipoCombo finentero Cliente SacarCantidadCombo( ) inicio
retornar CantidadCombo fin
15/04/2023 9
// Definición de la estructura de la clase Empresa
clase Empresa inicio
privado:
publico:real CalcMonto(Cliente ↓OCliente)
real CalcMontoIVA(Cliente ↓OCliente) fin
15/04/2023 10
real Empresa CalcMonto(Cliente ↓OCliente)inicioreal Montosi (Ocliente.SacarTipocombo( ) = “Combo 1”) inicio
Monto OCliente.SacarCantidadCombo( )*35si (OCliente.SacarCantidadCombo( ) >= 6)inicio Monto Monto*0,97fin
finsino inicio
si (Ocliente.SacarTipocombo( ) = “Combo 2”) inicio Monto OCliente.SacarCantidadCombo( )*65,25 finsino inicio si (Ocliente.SacarTipocombo( ) = “Combo 3”) inicio
Monto OCliente.SacarCantidadCombo( )*50si (OCliente.SacarCantidadCombo( ) = 24) inicio Monto Monto*0,98 fin
fin sino inicio
Monto 0 fin fin
fin retornar Montofin
15/04/2023 11
real Empresa CalcMontoIVA(Cliente ↓OCliente)
inicioreal MontoIVAMontoIVA CalcMonto(OCliente)*0,12retornar MontoIVA
fin
15/04/2023 12
Programa de aplicación
principal( ) inicio Cliente Ocliente //Creación del objeto. Empresa OEmpresa //Creación del objeto. InterfazEntrada(OCliente) InterfazSalida(OCliente,OEmpresa) fin
15/04/2023 13
InterfazEntrada(Cliente ↑ OCliente) inicio
alfanumerico tipo entero cantidad //Definición de Variables
escribir “Introduzca el tipo de Combo”leer tipoOCliente.AsignarTipoCombo(tipo)
escribir “Introduzca la cantidad”leer cantidadOCliente.AsignarCantidadCombo(cantidad)
fin
15/04/2023 14
Interfazsalida(Cliente ↓ OCliente, Empresa ↓ OEmpresa)
inicio escribir “Monto: Bs. ”, OEmpresa.CalcMonto(OCliente)
escribir “I.V.A.: Bs. ”, OEmpresa.CalcMontoIVA(OCliente)
fin