Sunteți pe pagina 1din 21

Introduccin a la computacin

Estructuras selectivas



Lapso 2014_1
20/10/2014 12:54 1 Profs: Erys Piero y Vladimir Camacaro
Tipos de estructuras selectivas
Simples

Dobles

Mltiples
20/10/2014 12:54 2 Profs: Erys Piero y Vladimir Camacaro
Estructura selectiva simple
El formato general de la instruccin
para decidir si una determinada
sentencia debe ejecutarse o no
(alternativa simple) es el siguiente:

si (condicin)
instruccin

20/10/2014 12:54 3 Profs: Erys Piero y Vladimir Camacaro
La instruccin si puede escribirse tambin ms
general para controlar la ejecucin de un grupo
de sentencias, de la siguiente forma:
si (condicin)
inicio
instruccin1
instruccion2
:
instruccin
fin

20/10/2014 12:54 4 Profs: Erys Piero y Vladimir Camacaro
Estructura selectiva doble
Existe una forma ms general (alternativa
doble), que ofrece dos alternativas de
ejecucin, en funcin de si la condicin es
verdadera o falsa.

si (condicin)
instruccin1
sino instruccion2
20/10/2014 12:54 5 Profs: Erys Piero y Vladimir Camacaro
Para un grupo de instrucciones
si (condicin)
inicio
instruccin11
instruccion12
:
Instruccion1n
fin
sino
inicio
instruccion21
instruccion22
:
Instruccion2n
fin
20/10/2014 12:54 6 Profs: Erys Piero y Vladimir Camacaro
Estructura selectivas mltiples
Por ltimo existe una forma mas general
(alternativa mltiple), son tomas de
decisin especializada que permiten
comparar una variable contra distintos
posibles resultados, ejecutando para cada
caso una serie de instrucciones
especificas

20/10/2014 12:54 7 Profs: Erys Piero y Vladimir Camacaro
si (condicin1)
inicio
si (condicion2)
instruccion1
sino
instruccion2
fin
sino
inicio
si (condicion3)
instruccion3
sino
instruccion4
fin

20/10/2014 12:54 8 Profs: Erys Piero y Vladimir Camacaro


EJERCICIOS
20/10/2014 12:54 9 Profs: Erys Piero y Vladimir Camacaro
Ejercicio

Un restaurant de la ciudad, ofrece desayunos a
15,00BsF. almuerzos 35,00 BsF. y cenas 20.00 BsF.
Estos montos no contienen IVA.
Por la venta se requiere: Monto total vendido.
Como datos de entrada se tiene:
Tipo de comida (Desayuno, Almuerzo, Cena), nmero
de comidas, nmero de nios y cantidad de personas de
la tercera edad.
Se tiene como poltica del establecimiento:
A los nios se les hace un descuento del 5% en el
almuerzo y el 10% en la cena y a las personas de la
tercera edad un descuento del 12% en el desayuno.
20/10/2014 12:54 10 Profs: Erys Piero y Vladimir Camacaro
Anlisis del problema

Lista Clasificacin
Venta ---------------- Clase
TipoComida------------ Atributo/Venta
NroComida------------- Atributo/Venta
NroNios ----------- Atributo/Venta
Nro3eraEdad---------- Atributo/Venta
CalcMontoVendido- Mtodo/Venta

20/10/2014 12:54 11 Profs: Erys Piero y Vladimir Camacaro
Anlisis del problema


La forma de calcular el monto vendido es:

si( Tipocomida=Desayuno)
MontVendido NroComidas*15 Nro3eraEdad*15*12/100
sino
si(Tipocomida=Almuerzo)
MontVendido NroComidas*35 NroNios*35*5/100
sino
si(Tipocomida=Cena)
MontVendido NroComidas*20 NroNios*20*10/100
sino
Montvendido 0

Para calcular monto mas el IVA:

MontVendido MontVendido+MontVendido*12/100



20/10/2014 12:54 12 Profs: Erys Piero y Vladimir Camacaro
Diseo de la estructura de la
clase Venta
20/10/2014 12:54 13 Profs: Erys Piero y Vladimir Camacaro
Venta
alfanumrico TipoComida
entero NroComida
entero NroNios
entero Nro3raEdad
AsignarTipoComida(alfanumricoTC)
AsignarNroComida(enteroNC)
AsignarNroNios(enteroNN)
AsignarNro3raEdad(enteroN3E)
alfanumrico SacarTipoComida()
entero SacarNroComida()
entero SacarNroNios()
entero SacarNro3raEdad()
real CalcMontoVendido()
20/10/2014 12:54 14 Profs: Erys Piero y Vladimir Camacaro
Implementacin en pseudolenguaje
20/10/2014 12:54 15 Profs: Erys Piero y Vladimir Camacaro
// Definicin de la estructura de la clase
clase Venta
inicio
privado:
alfanumrico TipoComida
entero NroComidas, NroNios, Nro3raEdad
publico:
//Mtodos para asignar o meter datos
AsignarTipoComida(alfanumerico TC)
AsignarNroComidas(entero NC)
AsignarNroNios(entero NN)
AsignarNro3raEdad(entero NC3E)
//Mtodos para sacar datos
alfanumrico SacarTipoComida()
entero SacarNroComidas()
entero SacarNroNios()
entero SacarNro3raEdad()
// Otros mtodos propios del objeto
real CalcMontoVendido()
fin // Venta
20/10/2014 12:54 16 Profs: Erys Piero y Vladimir Camacaro
//Mtodos propios de la clase
Venta AsignarTipoComida(alfanumerico TC)
inicio
TipoComida TC
fin
Venta AsignarNroComida( entero NC)
inicio
NroComida NC
fin
Venta AsignarNroNios(entero NN)
inicio
NroNios NN
fin
Venta AsignarNro3raEdad(entero N3E)
inicio
Nro3raEdad N3E
fin

20/10/2014 12:54 17 Profs: Erys Piero y Vladimir Camacaro
alfanumrico Venta SacarTipoComida()
inicio
retornar TipoComida
fin
entero Venta SacarNroComida()
inicio
retornar NroComida
fin
entero Venta SacarNroNios()
inicio
retornar NroNios
fin
entero Venta SacarNro3raEdad()
inicio
retornar Nro3raEdad
fin
20/10/2014 12:54 18
Profs: Erys Piero y Vladimir
Camacaro
real Venta CalcMontoVendido()
inicio
real MontVendido
si( Tipocomida=Desayuno)
MontVendido NroComidas*15 Nro3eraEdad*15*12/100
sino
si(Tipocomida=Almuerzo)
MontVendido NroComidas*35 NroNios*35*5/100
sino
si(Tipocomida=Cena)
MontVendido NroComidas*20 NroNios*20*10/100
sino
Montvendido 0
MontVendido MontVendido+MontVendido*12/100
retornar MontVendido
fin

20/10/2014 12:54 19
Profs: Erys Piero y Vladimir
Camacaro
// Programa de aplicacin
principal( )
inicio
Venta ObjVenta // Creacin del objeto
InterfazEntrada(ObjVenta)
InterfazSalida(ObjVenta)
fin
20/10/2014 12:54 20 Profs: Erys Piero y Vladimir Camacaro
InterfazEntrada(Venta ObjVenta )
inicio
entero NC,NN,N3E // Definicin de variables
alfanumrico TC
escribir Escriba el tipo de comida
leer TC
ObjVenta.AsignarTipoComida(TC)
escribir Escriba el numero de comida
leer NC
ObjVenta.AsignarNroComida(NC)
escribir Escriba el numero de nios
leer NN
ObjVenta.AsignarNroNios(NN)
escribir Escriba el numero de tercera edad
leer N3E
ObjVenta.AsignarNro3raEdad(N3E)
fin

InterfazSalida (Venta ObjVenta)
inicio
escribir El monto vendido es: ,ObjVenta.CalcMontoVendido()
fin
20/10/2014 12:54 Profs: Erys Piero y Vladimir Camacaro 21

S-ar putea să vă placă și