Unidad V Instrucciones De Decision

27
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

Transcript of Unidad V Instrucciones De Decision

Page 1: Unidad V  Instrucciones De Decision

UNIVERSIDAD TECNOLÓGICA DEL CHOCÓFACULTAD DE INGENIERÍA

PROGRAMA DE TELEINFORMÁTICA

ASIGNATURA: Lógica de Programación

DocenteMARTHA IMELDA LUNA LÓPEZ

Ing. De Sistemas U. EafitEsp. En Derecho de las Telecomunicaciones

U. Externado de Colombia

Page 2: Unidad V  Instrucciones De Decision

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.

Page 3: Unidad V  Instrucciones De Decision

Las instrucciones de decisión son necesarias cuando en un algoritmo una omuchas 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 tipoló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ónes verdadera; u otro conjunto de acciones o secuencias a realizar, si el resultado

INSTRUCCIONES DE DECISIÓN LOGICA

es verdadera; u otro conjunto de acciones o secuencias a realizar, si el resultadode la condición es falsa.

INSTRUCCIÓN DE DECISIÓN SI y la INSTRUCCIÓN DE DECISIÓN SI NO.

Ejemplo

SI A > B ENTONCESMOSTRAR (“ EL VALOR DE A ES MAYOR QUE B”)SINOMOSTRAR (“ EL VALOR DE B ES MAYOR O IGUAL QUE A”)

FIN_SI

Page 4: Unidad V  Instrucciones De Decision

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 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 lasinstrucciones internas, Si es falsa se salta a la siguienteinstrucción fuera de la estructura en este caso a la instrucciónn.

Page 5: Unidad V  Instrucciones De Decision

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).

Page 6: Unidad V  Instrucciones De Decision

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.

INICIOINICIOReal: N, MITAD, DOBLELeer(N)SI N mod 2 = 0 entonces

DOBLE= N*2mostrar (DOBLE)

FIN SISI N mod 2 != 0 entonces

MITAD= N/2mostrar (MITAD)

FIN SIFIN PROGRAMA

Page 7: Unidad V  Instrucciones De Decision

EJEMPLO 2

ENUNCIADO:Hacer un algoritmo que lea un numero N si este es mayor o igual a100 muestre el triple de N y si es menor que 100 muestre elcuadrado del numero.

DATOS:

los datos de entrada son :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).

Page 8: Unidad V  Instrucciones De Decision

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.INICIOINICIO

Real: N, TRIPLE, CUADRADOLeer(N)SI N >= 100 entonces

TRIPLE= N*3mostrar (TRIPLE)

FIN SISI N < 100 entonces

CUADRADO = N ** 2mostrar (CUADRADO)

FIN SIFIN PROGRAMA

Page 9: Unidad V  Instrucciones De Decision

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 :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).

Page 10: Unidad V  Instrucciones De Decision

ALGORITMO EJEMPLO 3

EXPLICACION DEL ALGORITMOSe 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: calcula el decremento (D = N * 5 /100). Se calcula el nuevo valor de N: N = N - D y se muestra.

INICIOReal: N, I, DLeer(N)SI N mod 2 = 0 entonces

I = N*20 /100N= N + IMostrar (N)

FIN SISI N mod 2 != 0 entonces

D = N * 5 /100N= N – DMostrar (N)

FIN SIFIN PROGRAMA

Page 11: Unidad V  Instrucciones De Decision

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)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).

Page 12: Unidad V  Instrucciones De Decision

ALGORITMO EJEMPLO 4

EXPLICACION DEL ALGORITMOSe 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 secalcula el área y se muestra.Se verifica si la BASE es menor o igual que la ALTURA. en este casose calcula el perímetro y se muestra.

INICIOINICIOReal: BASE, ALTURA, A , P. Leer(BASE, ALTURA)SI BASE > ALTURA entonces

A = BASE * ALTURAMostrar (A)

FIN SISI BASE <= ALTURA entonces

P = 2* (BASE + ALTURA )Mostrar (P)

FIN SIFIN PROGRAMA

Page 13: Unidad V  Instrucciones De Decision

EJEMPLO 5

ENUNCIADO:Hacer un algoritmo que lea dos números N1 y N2. Si N1 es mayor que N2muestre la suma de los dos números. Si N1 es menor o igual que N2muestre el producto de los dos números.

DATOS:

Los datos de entrada son: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.

Page 14: Unidad V  Instrucciones De Decision

ALGORITMO EJEMPLO 5

EXPLICACION DEL ALGORITMOSe 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 sumade los dos números y se muestra.Se verifica si la N1 es menor o igual que la N2. en este caso secalcula el producto de los dos números y se muestra.

INICIOReal: N1, N2,SUMA,PRODUCTO. Leer(N1, N2)SI N1> N2 entonces

SUMA = N1+N2 Mostrar (SUMA)

FIN SISI N1<= N2 entonces

PRODUCTO = N1 * N2Mostrar (PRODUCTO)

FIN SIFIN PROGRAMA

Page 15: Unidad V  Instrucciones De Decision

EJEMPLO 6

ENUNCIADO:Hacer un algoritmo que lea la cantidad de METROS. Si esta cantidad esmayor que 100 muestre su equivalente en centímetros. Si la cantidaden METROS es mayor 50 muestre su equivalente en kilómetros.

DATOS:

Los datos de entrada son: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 tiene100 centímetros.

K : para guardar los kilómetros (de tipo real) recordar que un kilómetrotiene 1000 metros.

Page 16: Unidad V  Instrucciones De Decision

ALGORITMO EJEMPLO 6

EXPLICACION DEL ALGORITMOSe 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.

INICIOReal: METROS, C, K.Leer (METROS)SI METROS > 100 entonces

C= METROS * 100Mostrar (C)

FIN SISI METROS <50 entonces

K = METROS / 1000 Mostrar (K)

FIN SIFIN PROGRAMA

Page 17: Unidad V  Instrucciones De Decision

PROBLEMAS PROPUESTOS

1. Realizar un algoritmo que reciba la hora, si es menor a 12 muestre el

siguiente mensaje : "hola buenos días".

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ás4. 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.

Page 18: Unidad V  Instrucciones De Decision

INSTRUCCIONES DE DECISIÓN (si - si no )

Se evalúa la expresión lógica, si es verdadera se realizan lasinstrucciones 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 instruccionesinternas al SI NO en este caso las instrucciones (21, 22, 23) yluego se sigue con la instrucción n.

Este tipo de instrucción es excluyente, o sea que si entra por elsi, no entra por el si no. Y si entra por el si no, no entra por el si.

Page 19: Unidad V  Instrucciones De Decision

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 .......Instrucción 13 si no .......Instrucción 21 .......Instrucción 22 .......Instrucción 23 fin si Instrucción n …

fin del programa

Page 20: Unidad V  Instrucciones De Decision

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).

Page 21: Unidad V  Instrucciones De Decision

ALGORITMO EJEMPLO 1

EXPLICACION DEL ALGORITMOSe 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. INICIOINICIO

Real: N, MITAD, DOBLELeer(N)SI N mod 2 = 0 entonces

DOBLE= N*2mostrar (DOBLE)

SI NOMITAD= N/2mostrar (MITAD)

FIN SIFIN PROGRAMA

Page 22: Unidad V  Instrucciones De Decision

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: 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).

Page 23: Unidad V  Instrucciones De Decision

ALGORITMO EJEMPLO 2

EXPLICACION DEL ALGORITMOSe 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. INICIOINICIO

Real: N, TRIPLE, CUADRADO. Leer(N)SI N >=100 entonces

TRIPLE = N*3mostrar (TRIPLE)

SI NOCUADRADO= N * N mostrar (CUADRADO)

FIN SIFIN PROGRAMA

Page 24: Unidad V  Instrucciones De Decision

INSTRUCCIONES DE DECISION SI - SI NO

EJEMPLO 3

ENUNCIADO:Hacer un algoritmo que lea un número N. Si este es par seincrementa en un 20 % y si N es impar se decrementa en un 5 %.Mostrar el nuevo valor de N .

DATOS: 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).

Page 25: Unidad V  Instrucciones De Decision

ALGORITMO EJEMPLO 3

EXPLICACION DEL ALGORITMOSe 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. 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 + Imostrar (N)

SI NOD= N * 5/100 N= N + Imostrar (N)

FIN SIFIN PROGRAMA

Page 26: Unidad V  Instrucciones De Decision

PROBLEMAS PROPUESTOS

1. Lea el nombre, la edad y el sexo (1= femenino, 2= masculino) de una persona y siesta es de sexo masculino y mayor de edad imprima el nombre, de lo contrarioimprima 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 lapersona sólo si esta es mujer menor de edad, de lo contrario indique que estado civiltiene esa persona.

3. Lea dos números X y Y e imprima ambos números si por lo menos uno de ellos espositivo.

4. Lea dos números X y Y e imprima ambos números sólo si son de diferente signo ydistintos de cero.distintos de cero.

5. Lea dos números, calcule el cociente de dividir el primero por el segundo. Imprima elcociente. Pero recuerde que antes de hacer la división debe evaluar que el divisor nosea igual a cero (0). Por que en este caso debe imprimir "la división no es posible".

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 brutomayor a $300.000 el porcentaje de retención es del 8%. Imprimir el nombre delempleado, el salario bruto, el valor de la retención y el salario neto( salario brutomenos 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 horastrabajadas durante una semana. Calcular el salario neto, teniendo en cuenta que siel número de horas trabajadas durante la semana es mayor a 48, esas horas de masse consideran horas extras y tienen un 25% de recargo.

Page 27: Unidad V  Instrucciones De Decision

RECURSOS

Bibliografía.

OVIEDO, Regino Efrain M, Lógica de Programación. Ecoeediciones.

Joyanes Aguilar Luis. Fundamentos de ProgramaciónJoyanes Aguilar Luis. Fundamentos de Programación

SITIOS WEB:

http://www.alegsa.com.ar/Notas/70.phphttp://www.deguate.com/infocentros/educacion/recursos/computacion/origen.htmhttp://www.bloginformatico.com/concepto-y-tipos-de-software.phphttp://mx.geocities.com/berebl2001/mipag5.html