1. Introducción a la Computación
Profesores: Camacaro, Vladimir
Piñero, Erys
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.
30/11/2013
2
4. si (Tipocombo = “Combo 1”)
inicio
Monto CantidadCombo*35
si (CantidadCombo >= 6)
inicio
Monto Monto*0,97
fin
fin
sino
inicio
si (Tipocombo = “Combo 2”)
inicio
Monto CantidadCombo*65,25
fin
sino
inicio
si (Tipocombo = “Combo 3”)
inicio
Monto CantidadCombo*50
si (CantidadCombo = 24)
inicio
Monto Monto*0,98
fin
fin
sino
inicio
Monto 0
fin
fin
fin
MontoIVA Monto*0,12
30/11/2013
4
5. Diseño de las clases
Cliente
Empresa
alfanumerico TipoCombo
entero CantidadCombo
AsignarTipoCombo(alfanumerico ↓ Tipo)
AsignarCantidadCombo(entero ↓ Cantidad)
alfanumerico SacarTipoCombo()
entero SacarCantidadCombo()
30/11/2013
real CalcMonto(Cliente↓ OCliente)
real CalcMontoIva(Cliente↓ OCliente)
5
6. Implementación en pseudolenguaje
// Definición de la estructura de la clase Cliente
clase Cliente
inicio
privado:
alfanumerico TipoCombo
entero CantidadCombo
publico:
AsignarTipoCombo( alfanumerico ↓ tipo)
AsignarCantidadCombo( entero ↓ cantidad)
alfanumerico SacarTipoCombo( )
entero SacarCantidadCombo( )
fin
30/11/2013
6
7. Métodos propios de la clase Cliente
Cliente AsignarTipoCombo( alfanumerico ↓ tipo)
inicio
TipoCombo tipo
fin
Cliente AsignarCantidadCombo( entero ↓ cantidad)
inicio
CantidadCombo cantidad
fin
30/11/2013
7
8. Métodos propios de la clase Cliente
alfanumerico Cliente SacarTipoCombo( )
inicio
retornar TipoCombo
fin
entero Cliente SacarCantidadCombo( )
inicio
retornar CantidadCombo
fin
30/11/2013
8
9. // Definición de la estructura de la clase Empresa
clase Empresa
inicio
privado:
publico:
real CalcMonto(Cliente ↓OCliente)
real CalcMontoIVA(Cliente ↓OCliente)
fin
30/11/2013
9
10. real Empresa CalcMonto(Cliente ↓OCliente)
inicio
real Monto
si (Ocliente.SacarTipocombo( ) = “Combo 1”)
inicio
Monto OCliente.SacarCantidadCombo( )*35
si (OCliente.SacarCantidadCombo( ) >= 6)
inicio
Monto Monto*0,97
fin
fin
sino
inicio
si (Ocliente.SacarTipocombo( ) = “Combo 2”)
inicio
Monto OCliente.SacarCantidadCombo( )*65,25
fin
sino
inicio
si (Ocliente.SacarTipocombo( ) = “Combo 3”)
inicio
Monto OCliente.SacarCantidadCombo( )*50
si (OCliente.SacarCantidadCombo( ) = 24)
inicio
Monto Monto*0,98
fin
fin
sino
inicio
Monto 0
fin
fin
fin
retornar Monto
fin
30/11/2013
10
11. real Empresa CalcMontoIVA(Cliente ↓OCliente)
inicio
real MontoIVA
MontoIVA CalcMonto(OCliente)*0,12
retornar MontoIVA
fin
30/11/2013
11
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
30/11/2013
12
13. InterfazEntrada(Cliente ↑ OCliente)
inicio
alfanumerico tipo
entero cantidad //Definición de Variables
escribir “Introduzca el tipo de Combo”
leer tipo
OCliente.AsignarTipoCombo(tipo)
escribir “Introduzca la cantidad”
leer cantidad
OCliente.AsignarCantidadCombo(cantidad)
fin
30/11/2013
13