Beruflich Dokumente
Kultur Dokumente
DECISION LOGICA
PROBLEMA
ALGORITMO
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)
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:
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 cantidad de
costales comprada
excede los 16
Si el numero de
mesas compradas
esta entre 30 y 40 el
decuento
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
TIPOS DE ESTRUCTURAS DE
DECISION LOGICA
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
Not
a
B+
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
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
asociadasvalor_1
a el valor elegido para dicho selector.
otros
selector
valor_2
instrucciones_1
instrucciones_2
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
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.
4. 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.
BIBLIOGRAFIA
BIBLIOGRAFIA
Titulo: Lgica de Programacin.
Autor: Efran M. Oviedo.
Editorial: ECOE Ediciones.
Fecha de publicacin: 11/20/2008
ISBN:9586483088.
OLC:
http://ingenieria.udea.edu.co/~eoviedo/
Titulo:
Fundamentos
de
Programacin.
Autor: Luis Joyanes Aguilar.
Editorial: Mac Graw Hill.
Fecha de publicacin: 27/05/2008
ISBN:8448161114
OLC: http://www.mhe.es/joyanes