1. UNIVERSIDAD TECNOLÓGICA DEL CHOCÓ
FACULTAD DE INGENIERÍA
PROGRAMA DE TELEINFORMÁTICA
ASIGNATURA: Lógica de Programación
Docente
MARTHA IMELDA LUNA LÓPEZ
Ing. De Sistemas U. Eafit
Esp. En Derecho de las Telecomunicaciones
U. Externado de Colombia
2. Unidad N. V
Instrucciones de Decisión
Objetivo:
Proporcionar al estudiante
herramientas que les permitan
definir algoritmos en los que
deba decidir si se debe ejecutar
una acción o no dependiendo
de una situación en particular.
3. INSTRUCCIONES DE DECISIÓN
LOGICA
Las instrucciones de decisión son necesarias cuando en un algoritmo una o
muchas tareas se deben hacer o no, dependiendo de una situación en particular.
Esta situación nos ayudará a decidir si hacemos o no las tareas indicadas.
La estructura decisión lógica o selectiva está formada por una condición de tipo
lógico que puede ser simple o compuesta, de la que salen dos posibles caminos:
un conjunto de acciones o secuencias a ejecutar, si el resultado de la condición
es verdadera; u otro conjunto de acciones o secuencias a realizar, si el resultado
de la condición es falsa.
INSTRUCCIÓN DE DECISIÓN SI y la INSTRUCCIÓN DE DECISIÓN SI NO.
Ejemplo
SI A > B ENTONCES
MOSTRAR (“ EL VALOR DE A ES MAYOR QUE B”)
SINO
MOSTRAR (“ EL VALOR DE B ES MAYOR O IGUAL QUE A”)
FIN_SI
4. INSTRUCCIONES DE DECISIÓN SI
Esta instrucción tiene la siguiente estructura:
Inicio
Instrucción 1
si expresión lógica entonces
Instrucción 11
Instrucción 12
Instrucción 13
fin si
Instrucción n
fin del programa
Se evalúa la expresión lógica si es verdadera se realizan las
instrucciones internas, Si es falsa se salta a la siguiente
instrucción fuera de la estructura en este caso a la instrucción
n.
5. INSTRUCCIONES DE DECISION SI
EJEMPLO 1
ENUNCIADO:
Hacer un algoritmo que lea un numero N si este es par muestra el doble y si
es impar muestra la mitad del numero.
DATOS:
Los datos de entrada son :
N: para guardar el dato a leer ( de tipo real)
otros datos:
DOBLE : para guardar el doble del numero N( de tipo real).
MITAD : para guardar la mitad del numero N( de tipo real).
6. ALGORITMO EJEMPLO 1
EXPLICACION DEL ALGORITMO
•se debe definir las variables a utilizar N, DOBLE, MITAD.
• luego se lee el dato de entrada N.
•se verifica si el numero N es par ( N mod 2 = 0) entonces se calcula el doble y se
muestra.
•se verifica si el numero N es impar ( N mod 2 < > 0) entonces se calcula la mitad y
se muestra.
INICIO
Real: N, MITAD, DOBLE
Leer(N)
SI N mod 2 = 0 entonces
DOBLE= N*2
mostrar (DOBLE)
FIN SI
SI N mod 2 != 0 entonces
MITAD= N/2
mostrar (MITAD)
FIN SI
FIN PROGRAMA
7. EJEMPLO 2
ENUNCIADO:
Hacer un algoritmo que lea un numero N si este es mayor o igual a
100 muestre el triple de N y si es menor que 100 muestre el
cuadrado del numero.
DATOS:
los datos de entrada son :
N: para guardar el dato a leer ( de tipo real)
otros datos:
triple : para guardar el triple del numero N( de tipo real).
cuadrado : para guardar el cuadrado del numero N( de tipo real).
8. ALGORITMO EJEMPLO 2
EXPLICACION DEL ALGORITMO
•Se debe definir las variables a utilizar N, TRIPLE, CUADRADO.
• Luego se lee el dato de entrada N.
• Se verifica si el numero N mayor o igual a cero en este caso se
calcula el triple y se muestra.
•Se verifica si el numero N es menor que cero entonces se calcula el
cuadrado y se muestra.
INICIO
Real: N, TRIPLE, CUADRADO
Leer(N)
SI N >= 100 entonces
TRIPLE= N*3
mostrar (TRIPLE)
FIN SI
SI N < 100 entonces
CUADRADO = N ** 2
mostrar (CUADRADO)
FIN SI
FIN PROGRAMA
9. EJEMPLO 3
ENUNCIADO:
Hacer un algoritmo que lea un número N, si este es par se incrementa en
un 20 % y si N es impar se decrementa en un 5 % . Mostrar el nuevo valor
de N.
DATOS:
Los datos de entrada son :
N: para guardar el dato a leer ( de tipo real)
otros datos:
I : para guardar el incremento de N( de tipo real).
D : para guardar el decremento de N( de tipo real).
10. ALGORITMO EJEMPLO 3
EXPLICACION DEL ALGORITMO
Se debe definir las variables a utilizar N, I ,D.
Luego se lee el dato de entrada N.
Se verifica si el numero N es par ( si N mod 2 == 0). en este caso se
calcula el incremento (I = N * 20 /100). se calcula el nuevo valor de N:
N = N + I y se muestra.
Se verifica si el numero N es impar ( si N mod 2 != 0). en este caso se
calcula el decremento (D = N * 5 /100). Se calcula el nuevo valor de N:
N = N - D y se muestra.
INICIO
Real: N, I, D
Leer(N)
SI N mod 2 = 0 entonces
I = N*20 /100
N= N + I
Mostrar (N)
FIN SI
SI N mod 2 != 0 entonces
D = N * 5 /100
N= N – D
Mostrar (N)
FIN SI
FIN PROGRAMA
11. EJEMPLO 4
ENUNCIADO:
Hacer un algoritmo que lea la base y la altura de un rectángulo. Si la base
es mayor que la altura, mostrar el área del rectángulo. Si la base es menor
o igual a la altura muestre el perímetro del rectángulo .
DATOS:
Los datos de entrada son :
BASE: para guardar la base del rectángulo ( de tipo real)
ALTURA: para guardar la altura del rectángulo ( de tipo real)
Otros datos:
A: para guardar el área del rectángulo( de tipo real). recuerde que el área
del rectángulo es BASE* ALTURA.
P : para guardar el perímetro del rectángulo( de tipo real). recuerde que el
perímetro del rectángulo es 2 *( BASE+ ALTURA).
12. ALGORITMO EJEMPLO 4
EXPLICACION DEL ALGORITMO
Se debe definir las variables a utilizar BASE, ALTURA, A , P.
luego se leen los datos de entrada BASE y ALTURA.
Se verifica si la BASE es mayor que la ALTURA. en este caso se
calcula el área y se muestra.
Se verifica si la BASE es menor o igual que la ALTURA. en este caso
se calcula el perímetro y se muestra.
INICIO
Real: BASE, ALTURA, A , P.
Leer(BASE, ALTURA)
SI BASE > ALTURA entonces
A = BASE * ALTURA
Mostrar (A)
FIN SI
SI BASE <= ALTURA entonces
P = 2* (BASE + ALTURA )
Mostrar (P)
FIN SI
FIN PROGRAMA
13. EJEMPLO 5
ENUNCIADO:
Hacer un algoritmo que lea dos números N1 y N2. Si N1 es mayor que N2
muestre la suma de los dos números. Si N1 es menor o igual que N2
muestre el producto de los dos números.
DATOS:
Los datos de entrada son:
N1: para guardar el primer número ( de tipo real)
N2: para guardar el segundo número ( de tipo real)
Otros datos:
SUMA: para guardar la suma de los dos números( de tipo real).
PRODUCTO: para guardar el producto de los dos números.
14. ALGORITMO EJEMPLO 5
EXPLICACION DEL ALGORITMO
Se debe definir las variables a utilizar N1, N2,SUMA,PRODUCTO.
Luego se leen los datos de entrada N1 y N2.
Se verifica si N1 es mayor que N2. en este caso se calcula la suma
de los dos números y se muestra.
Se verifica si la N1 es menor o igual que la N2. en este caso se
calcula el producto de los dos números y se muestra.
INICIO
Real: N1, N2,SUMA,PRODUCTO.
Leer(N1, N2)
SI N1> N2 entonces
SUMA = N1+N2
Mostrar (SUMA)
FIN SI
SI N1<= N2 entonces
PRODUCTO = N1 * N2
Mostrar (PRODUCTO)
FIN SI
FIN PROGRAMA
15. EJEMPLO 6
ENUNCIADO:
Hacer un algoritmo que lea la cantidad de METROS. Si esta cantidad es
mayor que 100 muestre su equivalente en centímetros. Si la cantidad
en METROS es mayor 50 muestre su equivalente en kilómetros.
DATOS:
Los datos de entrada son:
METROS: para guardar la cantidad de metros (de tipo real)
otros datos:
C : para guardar los centímetros (de tipo real). recordar que un metro tiene
100 centímetros.
K : para guardar los kilómetros (de tipo real) recordar que un kilómetro
tiene 1000 metros.
16. ALGORITMO EJEMPLO 6
EXPLICACION DEL ALGORITMO
Se debe definir las variables a utilizar METROS, C, K.
Luego se lee el dato de entrada METROS.
Se verifica si METROS es mayor que 100. En este caso se calcula el
equivalente en centímetros y se muestra.
Se verifica si METROS es mayor que 50. En este caso se calcula el
equivalente en kilómetros y se muestra.
INICIO
Real: METROS, C, K.
Leer (METROS)
SI METROS > 100 entonces
C= METROS * 100
Mostrar (C)
FIN SI
SI METROS <50 entonces
K = METROS / 1000
Mostrar (K)
FIN SI
FIN PROGRAMA
17. PROBLEMAS PROPUESTOS
1. Realizar un algoritmo que reciba la hora, si es menor a 12 muestre el
siguiente mensaje : quot;hola buenos díasquot;.
2. Hacer un algoritmo que calcule la suma de dos números enteros. Si la
suma es mayor que 100 sacar un mensaje comunicándolo.
3. Realizar un algoritmo que lea el nombre y la edad de una persona y si
es menor de edad (edad menor o igual que 18 años) imprima el
nombre y la cantidad de meses vividos.
4. Hacer un algoritmo que calcule el área de un triángulo y además
informe cual longitud es la mayor: la altura o la base.
5. Hacer un algoritmo que lea un número entero y muestre el cuadrado
del numero si el número es mayor que 10. El doble del numero, si el
numero es mayor que 20, la mitad del número si el numero es mayor
que 50.
6. Hacer un algoritmo que lea el nombre, la cantidad de horas trabajadas
y el valor de la hora. Que muestre el salario y el nombre si el total a
pagar es mayor que 1000.
7. Hacer un algoritmo que lea un número entero N, si N es par y mayor
que 200 muestre el doble de N, si N es par y menor que 200 muestre
la mitad de N.
18. INSTRUCCIONES DE DECISIÓN (si - si no )
Se evalúa la expresión lógica, si es verdadera se realizan las
instrucciones internas al SI; En este caso las instrucciones
(l1,l2,l3,...) y luego se sigue con la instrucción n.
Si la expresión lógica es falsa se realizan las instrucciones
internas al SI NO en este caso las instrucciones (21, 22, 23) y
luego se sigue con la instrucción n.
Este tipo de instrucción es excluyente, o sea que si entra por el
si, no entra por el si no. Y si entra por el si no, no entra por el si.
19. INSTRUCCIONES DE DECISIÓN (si - si no )
La estructura es la siguiente:
Inicio
Instrucción 1
si expresión lógica entonces
.......Instrucción 11
.......Instrucción 12
.......Instrucción 13
si no
.......Instrucción 21
.......Instrucción 22
.......Instrucción 23
fin si
Instrucción n
…
fin del programa
20. INSTRUCCIONES DE DECISION SI - SI NO
EJEMPLO 1
ENUNCIADO:
Hacer un algoritmo que lea un numero N si este es par muestra el
doble y si es impar muestra la mitad del número.
DATOS:
Los datos de entrada son :
N: para guardar el dato a leer ( de tipo real)
Otros datos:
DOBLE: para guardar el doble del numero N( de tipo real).
MITAD: para guardar la mitad del numero N( de tipo real).
21. ALGORITMO EJEMPLO 1
EXPLICACION DEL ALGORITMO
Se debe definir las variables a utilizar N, DOBLE, MITAD.
Luego se lee el dato de entrada N.
Se verifica si el numero N es par ( N mod 2 = 0) entonces se calcula el
doble y se muestra.
Se verifica si el numero N es impar ( N mod 2 < > 0) entonces se calcula la
mitad y se muestra.
INICIO
Real: N, MITAD, DOBLE
Leer(N)
SI N mod 2 = 0 entonces
DOBLE= N*2
mostrar (DOBLE)
SI NO
MITAD= N/2
mostrar (MITAD)
FIN SI
FIN PROGRAMA
22. INSTRUCCIONES DE DECISION SI - SI NO
EJEMPLO 2
ENUNCIADO:
Hacer un algoritmo que lea un número N. Si este es mayor o igual a
100 muestre el triple de N y si es menor que 100 muestre el
cuadrado del número.
DATOS:
Los datos de entrada son :
N: para guardar el dato a leer (de tipo real)
Otros datos:
TRIPLE : para guardar el triple del número N( de tipo real).
CUADRADO: para guardar el cuadrado del número N( de tipo real).
23. ALGORITMO EJEMPLO 2
EXPLICACION DEL ALGORITMO
Se debe definir las variables a utilizar N, TRIPLE, CUADRADO.
Luego se lee el dato de entrada N.
Se verifica si el número N mayor o igual a 100 en este caso se calcula el
triple y se muestra.
Se verifica si el número N es menor que 100 entonces se calcula el
cuadrado y se muestra.
INICIO
Real: N, TRIPLE, CUADRADO.
Leer(N)
SI N >=100 entonces
TRIPLE = N*3
mostrar (TRIPLE)
SI NO
CUADRADO= N * N
mostrar (CUADRADO)
FIN SI
FIN PROGRAMA
24. INSTRUCCIONES DE DECISION SI - SI NO
EJEMPLO 3
ENUNCIADO:
Hacer un algoritmo que lea un número N. Si este es par se
incrementa en un 20 % y si N es impar se decrementa en un 5 %.
Mostrar el nuevo valor de N .
DATOS:
Los datos de entrada son:
N: para guardar el dato a leer (de tipo real)
Otros datos:
I: para guardar el incremento de N (de tipo real).
D: para guardar el decremento de N (de tipo real).
25. ALGORITMO EJEMPLO 3
EXPLICACION DEL ALGORITMO
Se debe definir las variables a utilizar N, I ,D.
Luego se lee el dato de entrada N.
Se verifica si el numero N es par ( si N mod 2 == 0), en este caso se
calcula el incremento (I = N * 20 /100). se calcula el nuevo valor de N( N =
N + I) y se muestra.
Si no, se calcula el decremento (D = N * 5 /100). se calcula el nuevo valor
de N( N = N - D) y se muestra.
INICIO
Real: N, I ,D.
Leer(N)
SI N mod 2 == 0 entonces
I= N* 20 / 100
N= N + I
mostrar (N)
SI NO
D= N * 5/100
N= N + I
mostrar (N)
FIN SI
FIN PROGRAMA
26. PROBLEMAS PROPUESTOS
1. Lea el nombre, la edad y el sexo (1= femenino, 2= masculino) de una persona y si
esta es de sexo masculino y mayor de edad imprima el nombre, de lo contrario
imprima el nombre y edad de la persona.
2. Lea el nombre, la edad, el sexo (1= femenino, 2= masculino) y el estado civil (1=
soltero, 2 = casado, 3 = otro) de una persona e imprima el nombre y la edad de la
persona sólo si esta es mujer menor de edad, de lo contrario indique que estado civil
tiene esa persona.
3. Lea dos números X y Y e imprima ambos números si por lo menos uno de ellos es
positivo.
4. Lea dos números X y Y e imprima ambos números sólo si son de diferente signo y
distintos de cero.
5. Lea dos números, calcule el cociente de dividir el primero por el segundo. Imprima el
cociente. Pero recuerde que antes de hacer la división debe evaluar que el divisor no
sea igual a cero (0). Por que en este caso debe imprimir quot;la división no es posiblequot;.
6. Para un salario bruto hasta de $ 250.500 no hay retención. Para un salario bruto de
$ 250.501 a $ 300.000 el porcentaje de retención es de 5% . para un salario bruto
mayor a $300.000 el porcentaje de retención es del 8%. Imprimir el nombre del
empleado, el salario bruto, el valor de la retención y el salario neto( salario bruto
menos la retención). Se debe leer el nombre, el salario hora y las horas trabajadas.
7. Leer el nombre de un empleado, el salario básico por hora y el número de horas
trabajadas durante una semana. Calcular el salario neto, teniendo en cuenta que si
el número de horas trabajadas durante la semana es mayor a 48, esas horas de mas
se consideran horas extras y tienen un 25% de recargo.
27. RECURSOS
Bibliografía.
OVIEDO, Regino Efrain M, Lógica de Programación. Ecoe
ediciones.
Joyanes Aguilar Luis. Fundamentos de Programación
SITIOS WEB:
http://www.alegsa.com.ar/Notas/70.php
http://www.deguate.com/infocentros/educacion/recursos/computaci
on/origen.htm
http://www.bloginformatico.com/concepto-y-tipos-de-software.php
http://mx.geocities.com/berebl2001/mipag5.html