You are on page 1of 26

ESTRUCTURA CONDICIONAL

CONTENIDO
Repaso clase anterior.
Ejemplos de repaso.
Pseudocdigo.
Diagramas de flujo.
Equivalencia entre
Pseudocdigo-diagramas
de flujo.
Estructuras de decisin
lgica.
Ejercicios de repaso.
Estructura CASO.

REPASO CLASE ANTERIOR

PROBLEMA

ALGORITMO

REPASO CLASE ANTERIOR


algoritmo (nombre_algoritmo)
variables:
tipo_1: lista_variables_1
tipo_2: lista_variables_2
.
.
.
tipo_N: lista_variables_N
constantes:
lista_identificadores = valor

algoritmo(nombre_algoritmo)
Declaracin de variables
INICIO
instrucciones_programa
FIN_INICIO
fin(nombre_algoritmo)

INICIO
sentencia_1
sentencia_2
.
.
.
sentencia_N
FIN_INICIO
fin(nombre_algoritmo)

REPASO CLASE ANTERIOR


algoritmo (nombre_algoritmo)
variables:
tipo_1: lista_variables_1
tipo_2: lista_variables_2
.
.
.
tipo_N: lista_variables_N
constantes:
lista_identificadores = valor
INICIO
sentencia_1
sentencia_2
.
.
.
sentencia_N
FIN_INICIO
fin(nombre_algoritmo)

variables:
entero: num_estudiantes
real: prom_grupo, estatura, peso
alfanumrica: nombre, identificacin
entero: num_clases = 0
constantes:
PI = 3.14
TAMAO = 46
IVA = 0.16
asterisco = *
mensaje = que hay de nuevo viejo

INICIO
instrucciones de asignacin
instrucciones de entrada (LEA)
instrucciones de salida (ESCRIBA)
Estructuras de control
FIN_INICIO

PSEUDOCODIGO
Pseudocdigo
Es un lenguaje de especificacin
(descripcin) de algoritmos . Se considera
un primer borrador dado que el
pseudocdigo tiene que traducirse
posteriormente a un lenguaje de
programacin.
Ventajas:
Se enfoca en la lgica del programa y
no en las reglas de un lenguaje especifico.
Se puede traducir fcilmente a
lenguajes estructurados (Pascal, C, C++).

algoritmo(nombre_algoritmo)
Declaracin de variables
INICIO
instrucciones_programa
FIN_INICIO
fin(nombre_algoritmo)

DIAGRAMAS DE FLUJO
Diagramas de flujo (flowchart):
Es un diagrama que utiliza unos smbolos
(cajas) estndar representando los pasos
del algoritmo por medio de dichas cajas
unidas por flechas (lneas de flujo), las
cuales indican la secuencia que se debe
ejecutar.

EQUIVALENCIA PSEUDOCODIGO
DIAGRAMAS DE FLUJO (1)

ESTRUCTURAS DE DECISION LOGICA


Estas estructuras se usan para la
toma de decisiones lgicas.
Son usadas para elegir entre
diferentes
alternativas
de
accin.

SI (condicion) ENTONCES
instrucciones_caso_verdadero
SI_NO
instrucciones_caso_falso
FIN_SI

ESTRUCTURAS DE DECISION LOGICA


nota >=3.0
edad < 18
semestre == 1
(a<6)^(a>=0)
estatura < 1.23

c = a*b/(b+1)
m = m + 1
ESCRIBA(Lo que sea)
LEA(a)
c = (b*c)^2 + 1

SI (condicion) ENTONCES
instrucciones_caso_verdadero
SI_NO
instrucciones_caso_falso
FIN_SI

ESTRUCTURAS DE DECISION LOGICA


Las horas superiores a 35 se pagan
Si la nota es menos que 3.5
Palabras claves que impliquen la toma de
decisiones lgicas:
tal cosa mayor que otra
menor que, inferior a
entre tal y tal cosa
sobre tal cosa
Informacin relacionada con rangos de
valores (tablas).

Si la cantidad de costales
comprada excede los 16

Si el numero de mesas
compradas esta entre 30 y
40 el decuento

Si la cantidad de costales comprada excede los


16

ALGUNOS EJEMPLOS
Escribir las sentencias SI apropiadas para cada uno de las siguientes condiciones:
1. Si un ngulo es igual a 90, imprimir el mensaje El ngulo es recto sino imprimir el
mensaje El ngulo no recto.
SI (angulo == 90) ENTONCES
ESCRIBA(El angulo es recto)
SI_NO
ESCRIBA(El angulo no es recto)
FIN_SI

ALGUNOS EJEMPLOS
2. Si la temperatura es superior a 100 C visualizar el mensaje: Por encima del punto de
ebullicin del agua sino visualizar el mensaje Por debajo del punto de ebullicin del
agua.
SI (temp > 100) ENTONCES
ESCRIBA(Por encima del punto de ebullicion del agua)
SI_NO
ESCRIBA(Por debajo del punto de ebullicion del agua)
FIN_INICIO

ALGUNOS EJEMPLOS
3. Si X mayor que Y, y Z menor que 20 leer un valor para P.
SI ((X > Y)AND(Z>20)) ENTONCES
LEA(P)
FIN_SI

4. Si la distancia es mayor que 20 y menos que 35, leer un valor para tiempo.
SI ((distancia > 20)AND(distancia < 35)) ENTONCES
LEA(tiempo)
FIN_SI

TIPOS DE ESTRUCTURAS DE DECISION


LOGICA
Alternativa simple

Alternativas en los
problemas de
decisin lgica

Alternativa doble

Alternativa mltiple

ALTERNATIVA SIMPLE
En los problemas de este tipo la implementacin de la condicin falsa no se realiza.

SI (condicin) ENTONCES
instrucciones_caso_verdadero
FIN_INICIO

Ejemplos:
1. Las boleta de entrada a un circo vale $10000 por persona; sin embargo, si la edad de la
persona es menor de 10 aos se le da un descuento del 25% en el valor de la boleta.
Realizar un algoritmo que despliegue el precio de la boleta segn la edad.
2. En una empresa le dan a los empleados un subsidio de transporte si el sueldo base de
estos es menor que el salario mnimo, este subsidio es el 30% del sueldo base. Hacer un
algoritmo que calcule el salario neto de un empleado (sueldo base mas prestaciones si el
empleado tiene derecho a estas). Los datos de entrada son la cedula y el sueldo base.

ALTERNATIVA DOBLE
En los problemas de este tipo la implementacin de la condicin falsa se realiza.

SI (condicion) ENTONCES
instrucciones_caso_verdadero
SI_NO
instrucciones_caso_falso
FIN_INICIO

Ejemplos:
1. Hacer un algoritmo que diga si una persona es mayor de edad o no.
2. Hacer un algoritmo que diga si una persona es hombre o mujer.

ALTERNATIVA MULTIPLE
Alternativa mltiple (las condiciones pueden tomar mas de dos valores (rango) de
modo que para la implementacin de una condicin se hace necesario anidar
estructuras de decisin lgica).
SI (condicion_1) ENTONCES
instrucciones_1
SI_NO
SI (condicion_2) ENTONCES
instrucciones_2
SI_NO
. . .
SI (condicion_N) ENTONCES
instrucciones_N
SI_NO
. . .
FIN_SI
. . .
FIN_SI
FIN_SI

ALTERNATIVA MULTIPLE
Ejemplos:
1. Se tiene la siguiente tabla en la cual se muestra el equivalente entre nmeros
y letras para la calificacin en notas en una guardera. Realizar un algoritmo
que entregue la letra equivalente cuando su ingresa una nota numrica.

Rango

Nota

nota >= 4.5

4.0 <= nota < 4.5

B+

3.5 <= nota < 4.0

3.0 <= nota < 3.5

B-

nota < 3

ALTERNATIVA MULTIPLE
2. En la oficina del SISBEN estn asegurando a la
poblacin mas desamparada. Para evitar fraudes tienen
un sistema de encuesta el cual solicita los siguientes
datos: Cedula, sexo, estrato socio-econmico y numero
de integrantes del grupo familiar. En dicha encuesta, el
sistema valida el sexo y el estrato socio-econmico de
tal manera que si el estrato es mayor o igual que 3 se
rechaza la peticin de afiliacin notificando al
encuestado dicho rechazo a la afiliacin. Si el estrato es
menor que 3, permite la afiliacin del encuestado y de
un numero de miembros que depende del sexo de este
de tal forma que si es mujer es posible la afiliacin de 5
miembros mas y si es hombre solo permite la afiliacin
de 4 miembros, esto siempre y cuando el numero de
integrantes del grupo familiar sea mayor que esta cifra.
En caso de aceptacin el algoritmo debe imprimir la
cedula del beneficiado y el numero total de cupos
(incluyendo el suyo) a los cuales tiene derecho.

ESTRUCTURA CASO
Esta es una estructura adicional para problemas que impliquen toma de decisiones.
til en la implementacin de soluciones a problemas de alternativas mltiples
(solucin a problemas de anidamiento).
En este tipo de estructura permite evaluar una expresin (selector) la cual puede
tomar n valores distintos (1, 2, 3, 4, , n). A cada uno de los posibles valores que
puede tomar el selector se asocian un conjunto de operaciones, de las cuales se
ejecutaran las asociadas a el valor elegido para dicho selector.
valor_1

valor_2
instrucciones_1

instrucciones_2

otros

selector

valor_3
instrucciones_3

valor_n
...

instrucciones_n

instruc_otros

ESTRUCTURA CASO
Pseudocdigo
CASOS DE selector
CASO valor_1:
instrucciones_1
CASO valor_2:
instrucciones_2
CASO valor_3:
instrucciones_3
. . .
CASO valor_n:
instrucciones_n
OTROS_CASOS:
instrucciones_otros
FIN_CASOS

SEGN_SEA selector HACER


CASO valor_1:
instrucciones_1
CASO valor_2:
instrucciones_2
CASO valor_3:
instrucciones_3
. . .
CASO valor_n:
instrucciones_n
OTROS:
instrucciones_otros
FIN_CASOS

ESTRUCTURA CASO
Software empleado

ESTRUCTURA CASO
Ejemplos:
1. Se desea disear un algoritmo que escriba los nombres de los das de la
semana en funcin del valor de una variable da introducida por teclado.

CASOS DE selector
CASO valor_1:
instrucciones_1
CASO valor_2:
instrucciones_2
CASO valor_3:
instrucciones_3
. . .
CASO valor_n:
instrucciones_n
OTROS_CASOS:
instrucciones_otros
FIN_CASOS

algoritmo (dias)
variables:
entero: dia
INICIO
ESCRIBA(Meta el dia)
LEA(dia)
CASOS DE dia
CASO 1: ESCRIBA(Lunes)
CASO 2: ESCRIBA(Martes)
CASO 3: ESCRIBA(Mircoles)
CASO 4: ESCRIBA(Jueves)
CASO 5: ESCRIBA(Viernes)
CASO 6: ESCRIBA(Sbado)
CASO 7: ESCRIBA(Domingo)
OTROS CASOS :
ESCRIBA(ERROR !!!)
FIN_CASOS
FIN_INICIO
fin(dias)

ESTRUCTURA CASO
Ejemplos:
2. Se desea convertir las calificaciones alfabticas A,B, C y D a calificaciones
numricas 4, 5, 6 y 7 respectivamente.

CASOS DE selector
CASO valor_1:
instrucciones_1
CASO valor_2:
instrucciones_2
CASO valor_3:
instrucciones_3
. . .
CASO valor_n:
instrucciones_n
OTROS_CASOS:
instrucciones_otros
FIN_CASOS

algoritmo (calificaciones)
variables:
entero: nota
alfanumerico: letra
INICIO
ESCRIBA(Meta la letra)
LEA(letra)
CASOS DE letra
CASO A: nota = 4
ESCRIBA(Su nota es, nota)
CASO B: nota = 5
ESCRIBA(Su nota es, nota)
CASO C: nota = 6
ESCRIBA(Su nota es, nota)
CASO D: nota = 7
ESCRIBA(Su nota es, nota)
OTROS CASOS : ESCRIBA(ERROR !!!)
FIN_CASOS
FIN_INICIO
fin(calificaciones)

ESTRUCTURA CASO
3. Estn haciendo recoleccin de bachilleres para pagar servicio militar para lo
cual una vez termina el bachillerato un bachiller se tiene que presentar al
sorteo y sacar una balota, hay tres posibles balotas, estas son:
Roja: Le toca pagar servicio inmediatamente.
Amarilla: Servicio militar aplazado.
Verde: Se salva.
Hacer un algoritmo que simule esta situacin.
1. Una empresa tiene cuatro escalas de salario numeradas consecutivamente
del 1 al 4, adems, tiene un programa de incentivos de acuerdo a la categora
y si el numero de unidades producidas es mayor que 50. Si esta en la
categora 1 se le da un incremento de sueldo equivalente al 5% de su salario,
si esta en la 2 al 7%, si esta en la 3 al 10% y en la 4 al 15%; esto por cada
empleado.
Se tiene la siguiente informacin: Nombres, salario mensual, categora y
numero de unidades producidas.
Hacer una algoritmo que determine el total devengado por cada empleado.

You might also like