Logica condicionales

13
Estructuras Condicionales Grupo 248 Docente: Ma. Eugenia Morales M. Institución Universitaria de Envigado Facultad de Ingenierías Representación Funcionamiento Estructuras Simples Estructuras Dobles Estructuras Anidadas Selección Múltiple

Transcript of Logica condicionales

Page 1: Logica condicionales

Estructuras Condicionales

Grupo 248Docente: Ma. Eugenia Morales M.

Institución Universitaria de EnvigadoFacultad de Ingenierías

Representación

Funcionamiento Estructuras SimplesEstructuras Dobles

Estructuras AnidadasSelección Múltiple

Page 2: Logica condicionales

Estructura de Decisión Lógica

Permite hacer preguntas, realizar comparaciones y tomar una decisiones, de manera flexible, teniendo en cuenta las posibles alternativas que se puedan presentar en un momento dado.

Page 3: Logica condicionales

Representación de estructuras de Decisión (condicionales):

Las estructuras de decisión pueden ser:

◦ Simples

◦ Dobles o compuestas

◦ Anidadas y/o en Cascada

◦ Múltiples (Selección múltiple)

Page 4: Logica condicionales

Condicionales

Es necesario tener en cuenta que:

◦ La condición debe cumplir con las normas de uso de los operadores (operando OPERADOR operando) por ejemplo: (a > b)

((a <> b) && (a <> c))

(x <= 10)

((x + y) < N)

((z == y) || (y == x))

◦ Las instrucciones deben ir indentadas (con sangría izquierda).

◦ Siempre se debe cerrar el condicional.

Page 5: Logica condicionales

Condicional simple

Se evalúa una condición y sólo se tiene en cuenta la respuesta afirmativa:

Si (condición) Ent

Instrucciones;

Fin_si

Page 6: Logica condicionales

Ejemplo con condicional simple:

Realizar una función que permita obtener el valor absoluto de un número.

//Declaración de la función:Int f_absoluto (int);

//Programa Principal e Invocación:Main ()Inicio

Int num = 0;Esc “Ingrese número: “;Lea num;Esc “El valor absoluto de: “, num, “ es: “,

f_absoluto (num);//Definición de la Función absoluto:Int f_absoluto ()Inicio

Si (num < 0) Entnum = num (-1);

Fin_siRetorne (num );

Fin

Page 7: Logica condicionales

Condicional doble o compuesto

Se evalúa una condición la cual tiene dos opciones de respuesta (positiva y negativa):

Si (condición) Ent

Instrucciones;

Sino

Instrucciones;

Fin_si◦ Siempre se cierra el condicional después delSino.

Page 8: Logica condicionales

Ejemplo con condicional doble:

Leer la edad de una persona e imprima si puede votar o no.

//Declaración de subprogramas:char Sub_voto (int);

//Programa Principal e Invocación:Main ()Inicio

int ed = 0;char rpta = „ „;rpta = Sub_voto (ed);Si ((rpta == „s‟) || (rpta == „S‟)) EntEsc “Puede votar”;

Fin

//Definición de los subprogramas:

char Sub_voto (int ed)Inicio

char res = „ „;Si (ed < 18) Ent

res = „n‟;Sino

res = „s‟;Fin_siRetorne (res);

Fin

Page 9: Logica condicionales

Condicional anidado y/o en cascada:

En este caso, se evalúan n condiciones dentro deun mismo esquema, cada respuesta puede tener asu vez un condicional simple, uno doble u otroanidado:

Si (condición) Ent

Si (condición) Ent

Instrucciones;

Sino

Instrucciones;

Fin_si

Fin_si

Si (condición) EntSi (condición) Ent

Instrucciones;Sino

Si (condición) EntInstrucciones;

SinoInstrucciones;

Fin_siFin_si

SinoInstrucciones;

Fin_si

Page 10: Logica condicionales

Ejemplo con condicionales anidados:

Deducir si un número leído desde elteclado es positivo, negativo o igual a 0.

//Declaración de subprogramas:Int Sub_num ( );

//Programa Principal e Invocación:main ()Inicio

Int op = 0;op = Sub_num ();Si ((op == 1) Ent

Esc “el número es positivo”;sino

Si (op == 2) EntEsc “el número es cero”;sino

Esc “El número es negativo”;Fin-si

Fin-siFin

//Definición de los subprogramas:Int Sub_num ()Inicio

int x, y = 0;

Si (x > 0) Enty = 1;Sino

Si (x == 0) Enty = 2;sino

Si (x < 0) Enty = 3;

fin-sifin-si

fin-siRetorne (y);Fin

Page 11: Logica condicionales

Condicional múltiple

En este caso, se evalúa una expresión que podrátomar n valores distintos, según la elección serealizarán las instrucciones correspondientes;cuando una opción es elegida las demás sondescartadas:

En caso (condición):

Caso 1: Instrucciones;

Caso 2: Instrucciones;

Caso n: Instrucciones;

En otro caso: Instrucciones;

Fin_caso

Page 12: Logica condicionales

Ejemplo con Condicional múltiple

De acuerdo a un número entre 1 y 7, mostrar eldía de la semana al cual corresponde:

//Declaración de subprogramas:void Sub_sna (int );

//Programa Principal e Invocación:main ()Inicio

Int dia = 0;Esc “Ingrese un número del 1 al 7: “;Lea dia;Llamar Sub_sna (dia);

Fin

//Definición de los subprogramas:void Sub_sna (int dia)Inicio

En caso (día):Caso 1: Esc “Domingo”;Caso 2: Esc “Lunes”;Caso 3: Esc “Martes”;Caso 4: Esc “Miércoles;Caso 5: Esc “Jueves”;Caso 6: Esc “Viernes”;Caso 7: Esc “Sábado”;En otro caso:

Esc “Error”;Fin_caso

Fin

Page 13: Logica condicionales

Taller

1. Leer un número y mostrar si es par o impar.

2. Leer un número y mostrar si es par o impar y en ambos casos múltiplo de 5 de locontrario muestre un mensaje "No cumple condición".

3. Leer un carácter e indicar si es alfabético o numérico.

4. Se tiene la nota de un estudiante imprimir si ganó o perdió el examen.

5. Se tiene la nota promedio de un estudiante en la asignatura, mostrar si gana, pierdeo habilita (nota > 2.6)

6. Leer tres números cualquiera e imprimir cuál es el mayor.

7. Elaborar un programa que lea código, nombre y salario básico (SB) de un empleado.Sí, el empleado gana el SMLV darle subsidio de transporte y un subsidio dealimentación del 20% de su SB. Sí gana más del mínimo darle un subsidio del 10%de su SB. Imprimir el código, el nombre y el salario Neto.

8. Se tiene las notas del examen parcial, final y el seguimiento de un estudiante.Calcular la nota definitiva, teniendo en cuenta que el seguimiento 60% y cadaexamen un 20%. Mostrar si ganó, perdió o habilita (nota >2.6 y nota < 3.0)

9. Leer el SB y NHT de un empleado. Averiguar si tiene derecho al subsidio detransporte (SB <= $566.700) y calcularle el Salario Neto.

10. Se tiene el nombre de un vendedor, el valor de la venta y el código del producto. Lacomisión de este vendedor se le liquida de acuerdo al código del producto quevende: si el código del producto es 1 la comisión es del 10% sobre el valor de susventas; si el código del producto es 2 la comisión es del 15% sobre el valor de susventas; si el código del producto es 3 la comisión es del 20% sobre el valor de susventas. Imprima el nombre del vendedor y su comisión.