ejercicio combos dos clases

14
Introducción a la Computación Profesores: Camacaro, Vladimir Piñero, Erys

Upload: erysintroduccion

Post on 26-Jul-2015

407 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Ejercicio combos dos clases

Introducción a la Computación

Profesores: Camacaro, Vladimir Piñero, Erys

Page 2: Ejercicio combos dos clases

14/04/2023 2

Ejercicio Un puesto de comida rápida ofrece 3 tipos de combos, con los siguientes precios:Combo Nro. 1, 235 BsF.Combo Nro. 2, 165,25 BsF.Combo Nro. 3, 250 BsF.

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.

Page 3: Ejercicio combos dos clases

14/04/2023 3

Análisis del problema

Lista ClasificaciónCliente claseTipoCombo atributo/ClienteCantidadCombo atributo/Cliente Empresa claseCalcMonto método/EmpresaCalcMontoIVA método/Empresa

Page 4: Ejercicio combos dos clases

14/04/2023 4

si (Tipocombo = “Combo 1”) inicio

Monto CantidadCombo*235si (CantidadCombo >= 6)inicioMonto Monto*0,97fin

finsino // puede ser combo 2 o combo 3

iniciosi (Tipocombo = “Combo 2”) inicioMonto CantidadCombo*165,25 finsino inicio // puede ser combo 3

si (Tipocombo = “Combo 3”) inicio Monto CantidadCombo*250 si (CantidadCombo = 24) inicio Monto Monto*0,98 fin finsino // no es ningún combo

inicio Monto 0 fin fin

fin

MontoIVA Monto*0,12

Page 5: Ejercicio combos dos clases

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()  

          

14/04/2023 5

Cliente Empresa

Page 6: Ejercicio combos dos clases

14/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

Page 7: Ejercicio combos dos clases

14/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

Page 8: Ejercicio combos dos clases

14/04/2023 8

Métodos propios de la clase Cliente

alfanumerico Cliente SacarTipoCombo( ) inicio

retornar TipoCombo finentero Cliente SacarCantidadCombo( ) inicio

retornar CantidadCombo fin

Page 9: Ejercicio combos dos clases

14/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

Page 10: Ejercicio combos dos clases

14/04/2023 10

real Empresa CalcMonto(Cliente ↓OCliente)inicioreal Montosi (Ocliente.SacarTipocombo( ) = “Combo 1”) inicio

Monto OCliente.SacarCantidadCombo( )*235si (OCliente.SacarCantidadCombo( ) >= 6)inicio Monto Monto*0,97fin

finsino inicio

si (Ocliente.SacarTipocombo( ) = “Combo 2”) inicio Monto OCliente.SacarCantidadCombo( )*165,25 finsino inicio si (Ocliente.SacarTipocombo( ) = “Combo 3”) inicio

Monto OCliente.SacarCantidadCombo( )*250si (OCliente.SacarCantidadCombo( ) = 24) inicio Monto Monto*0,98 fin

fin sino inicio

Monto 0 fin fin

fin retornar Montofin

Page 11: Ejercicio combos dos clases

14/04/2023 11

real Empresa CalcMontoIVA(Cliente ↓OCliente)

inicioreal MontoIVAMontoIVA CalcMonto(OCliente)*0,12retornar MontoIVA

fin

Page 12: Ejercicio combos dos clases

14/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

Page 13: Ejercicio combos dos clases

14/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

Page 14: Ejercicio combos dos clases

14/04/2023 14

Interfazsalida(Cliente ↓ OCliente, Empresa ↓ OEmpresa)

inicio escribir “Monto: Bs. ”, OEmpresa.CalcMonto(OCliente)

escribir “I.V.A.: Bs. ”, OEmpresa.CalcMontoIVA(OCliente)

fin