You are on page 1of 16

Introducción a la computación

Ejercicios utilizando estructuras selectivas

Lapso 2012_I
17/05/2012 9:55 Profs: Vladimir Camacaro y Erys Piñero 1

Ejercicio 1
Una academia de idiomas ofrece a los estudiantes cursos de inglés, francés e italiano por niveles. El primer nivel de inglés cuesta 700Bs, el primer nivel de francés cuesta 600Bs y el de italiano 550Bs. El costo del segundo nivel de italiano es del 20% mas que el primer nivel, el segundo nivel de francés es de 25% mas, mientras que el costo del segundo nivel de inglés es de un 30% mas por el material de apoyo utilizado. Si se tiene como dato de entrada la cantidad de estudiantes, el idioma y el número que corresponde al nivel y el nombre de la academia. Calcule el monto de los ingresos y calcule el monto del IVA correspondiente.

17/05/2012 9:55

Profs: Vladimir Camacaro y Erys Piñero

2

Análisis del problema
Lista Clasificación Academia ------------- Clase Nombre ------------ Atributo/Academia CalcIngresos --------- Método/Academia CalcIVA -------------- Método/Academia Lista Clasificación Estudiante -------------- Clase Idioma ------------- Atributo/Estudiante NroNivel -------------- Atributo/Estudiante NroEstudiantes-------- Atributo/Estudiante

17/05/2012 9:55

Profs: Vladimir Camacaro y Erys Piñero

3

Análisis del problema
si (Idioma=“inglés”) inicio si ( Nronivel=1) TotIngresos ← NroEstudiantes*700 sino TotIngresos ← NroEstudiantes*(700*1,30) fin sino inicio si (Idioma=“francés”) inicio si ( Nronivel=1) TotIngresos ← NroEstudiantes*600 sino TotIngresos ← NroEstudiantes*(600*1,25) fin sino inicio si (Idioma=“italiano”) inicio si (Nronivel=1) TotIngresos ← NroEstudiantes*550 sino TotIngresos ← NroEstudiantes*(550*1,2) fin sino TotIngresos ← 0 fin fin MontoIVA ← TotIngresos*0,12 17/05/2012 9:55 Profs: Vladimir Camacaro y Erys Piñero 4

Diseño de la estructura de las clases Academia y Estudiantes

17/05/2012 9:55

Profs: Vladimir Camacaro y Erys Piñero

5

Diseño de las clases
Estudiante
alfanumerico Idioma entero NroNivel entero NroEstudiantes AsignarIdioma(alfanumerico ↓ TI ) AsignarNroNivel(entero ↓ Nn) AsignarNroEstudiante(entero ↓ Ne) alfanumerico SacarIdioma() real SacarNroNivel() real SacarNroEstudiante()

Academia

alfanumérico Nombre AsignarNombre(alfanuméricol ↓ Nomb) alfanumerico SacarNombre() real CalcIngresos(Estudiante↓ OEstud) real CalcMontoIva(Estudiante↓ OEstud)

17/05/2012

Introducción a la Computación.

6

// Definición de la estructura de la clase Estudiante clase Estudiante inicio privado: alfanumérico Idioma entero NroNivel entero NroEstudiantes publico: AsignarIdioma(alfanumerico↓TI) AsignarNroNivel(entero↓ Nn) AsignarNroEstudiante(entero ↓Ne) alfanumerico SacarIdioma( ) entero SacarNroNivel( ) entero SacarNroEstudiante( ) fin

17/05/2012 9:55

Profs: Vladimir Camacaro y Erys Piñero

7

//Métodos propios de la clase Estudiante Estudiante AsignarIdioma(alfanumerico ↓ TI) inicio Idioma TI fin Estudiante AsignarNroNivel(entero↓ Nn) inicio NroNivel  Nn fin Estudiante AsignarNroEstudiante(entero ↓Ne) inicio NroEstudiantes  Ne fin alfanumerico Estudiante SacarIdioma( ) inicio retornar Idioma fin

17/05/2012 9:55

Profs: Vladimir Camacaro y Erys Piñero

8

entero Estudiante SacarNroNivel( ) inicio retornar NroNivel fin entero Estudiante SacarNroEstudiante( ) inicio retonar NroEstudiantes fin

17/05/2012 9:55

Profs: Vladimir Camacaro y Erys Piñero

9

// Definición de la estructura de la clase Academia clase academia inicio privado: alfanumerico Nombre publico: AsignarNombre( alfanumerico ↓ Nomb) alfanumerico SacarNombre( ) real CalcIngresos(Estudiante ↓OEstud) real CalcMontoIva(Estudiante ↓OEstud) fin

17/05/2012 9:55

Profs: Vladimir Camacaro y Erys Piñero

10

//Métodos propios de la clase Academia Academia AsignarNombre( alfanumerico ↓ Nomb) inicio Nombre Nomb fin alfanumerico Academia SacarNombre( ) inicio retornar Nombre fin

17/05/2012 9:55

Profs: Vladimir Camacaro y Erys Piñero

11

real Academia CalcIngresos(Estudiante ↓OEstud) inicio real Totingresos si (OEstud.SacarIdioma( ) = “ingles”) inicio si (OEstud.SacarNroNivel( ) = 1) TotIngresos OEstud.SacarNroEstudiante( )*700 sino TotIngresos OEstud.SacarNroEstudiante( )*(700*1,30) fin sino inicio si (OEstud.SacarIdioma( ) = “francés”) inicio si (OEstud.SacarNroNivel( ) = 1) TotIngresos OEstud.SacarNroEstudiante( )*600 sino TotIngresos OEstud.SacarNroEstudiante( )*(600*1,25) fin sino inicio si (OEstud.SacarIdioma( ) = “italiano”) inicio si (OEstud.SacarNroNivel( ) = 1) TotIngresos OEstud.SacarNroEstudiante( )*550 sino TotIngresos OEstud.SacarNroEstudiante( )*(550*1,2) fin sino TotIngresos  0 retornar Totingresos fin

Declaración de la variable: Totalingresos

fin

Retornar la variable: Totalingresos

17/05/2012 9:55

Profs: Vladimir Camacaro y Erys Piñero

12

real Academia CalcMontoIva(Estudiante ↓OEstud) inicio retornar CalcIngresos(OEstud) *0,12 fin Otra forma de hacer Otra forma: el método
real Academia CalcMontoIva(Estudiante ↓OEstud) inicio real MontoIVA MontoIVA ← CalcIngresos(OEstud) *0,12 retornar MontoIVA fin

17/05/2012 9:55

Profs: Vladimir Camacaro y Erys Piñero

13

// Programa de aplicación principal( ) inicio Estudiante OEstud //Creación del objeto. Academia OAcademia //Creación del objeto. InterfazEntrada(OEstud,OAcademia) InterfazSalida(OEstud,OAcademia) fin

17/05/2012 9:55

Profs: Vladimir Camacaro y Erys Piñero

14

InterfazEntrada(Estudiante ↑ OEstud, Academia ↑ OAcademia) inicio entero Ne entero Nn alfanumerico nomb alfanumerico TI //Definición de Variables escribir “Introduzca el nombre de la Academia” leer nomb OAcademia.AsignarNombre(nomb) escribir “Introduzca la cantidad de estudiantes” leer Ne OEstudiante.AsignarNroEstudiante(Ne) escribir “Introduzca el idioma en curso” leer TI OEstudiante.AsignarIdioma(TI) Escribir “Introduzca el nivel del curso” leer Nn OEstudiante.AsignarNroNivel(Nn) fin

17/05/2012 9:55

Profs: Vladimir Camacaro y Erys Piñero

15

Interfazsalida(Estudiante ↓ OEstud, Academia ↓ OAcademia) inicio escribir “Total de ingresos es:”, OAcademia.CalcIngresos(OEstud) escribir “Monto por IVA es:”, OAcademia.CalcMontoIva(OEstud) fin

17/05/2012 9:55

Profs: Vladimir Camacaro y Erys Piñero

16