La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez.

Presentaciones similares


Presentación del tema: "ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez."— Transcripción de la presentación:

1 ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez

2 FLUJO DE CONTROL  En las estructuras selectivas se evalúa una condición y en función del resultado de la misma se realiza una instrucción u otra.  Las estructuras selectivas o alternativas pueden ser: -Simples -Dobles -Múltiples Elaborado por; Ing. Alberto Pérez

3 ALTERNATIVA SIMPLE  La estructura alternativa simple si- entonces ejecuta una determinada acción cuando se cumple determinada condición.  Si la condición es verdadera entonces ejecuta la acción S1 (o acciones en caso de ser S1 una acción compuesta y constar de varias acciones).  Si la condición es falsa entonces no hace nada. Elaborado por; Ing. Alberto Pérez

4 EJEMPLO:  Si entonces fin_si  // S1 acción compuesta si entonces fin_si Elaborado por; Ing. Alberto Pérez

5 ALTERNATIVA SIMPLE  Obsérvese que las palabras del pseudocódigo si y fin_si se alinean verticalmente identando la o bloque de acciones.  Sintaxis en lenguaje de programación C/C++ if (condición ) { sentencias } Elaborado por; Ing. Alberto Pérez

6 ALTERNATIVA DOBLE  La estructura anterior es muy limitada y normalmente se necesitara una estructura que permita elegir entre dos opciones o alternativas posibles, en función del cumplimiento o no de una determinada condición. Elaborado por; Ing. Alberto Pérez

7 ALTERNATIVA DOBLE  Ejemplo: Resolución de una ecuación de primer grado.  Si la ecuación es ax + b = 0, a y b son los datos, y las posibles soluciones son:  a != 0x = -b/a  a = 0 b !=0 entonces ‘solución imposible’  A = 0 b = 0entonces ‘solución indeterminada’ Elaborado por; Ing. Alberto Pérez

8 EJEMPLO  Pseudocódigo si entonces si_no fin_si Elaborado por; Ing. Alberto Pérez

9 PRÁCTICA  Se desea obtener la nómina semanal del salario neto de lo empleados de una empresa cuyo trabajo se paga por horas y del modo siguiente: -Las horas inferiores o iguales a 35 horas (normales) se pagan a una tarifa determinada que se debe introducir por teclado al igual que el numero de horas y nombre del trabajador.  Las horas superiores a 35 se pagaran como extras a un precio de 1.5 horas normales. Elaborado por; Ing. Alberto Pérez

10 PRÁCTICA  Los impuestos a deducir a los trabajadores varían en función a su sueldo mensual.  Sueldo < = 20000, libre de impuestos.  Los siguientes 15000 al 20% y el resto al 30%. Elaborado por; Ing. Alberto Pérez

11 ALTERNATIVA MÚLTIPLE  Con frecuencia en la práctica es necesario que existan mas de dos elecciones.  Este problema, como se vera mas adelante, se podría resolver por estructuras simples o dobles, anidadas o en cascada; sin embargo, si el numero de alternativas es grande puede plantear serios problemas de escritura del algoritmo y naturalmente de legibilidad. Elaborado por; Ing. Alberto Pérez

12 ALTERNATIVA MÚLTIPLE  La estructura de decisión múltiple evaluara una expresión que podrá tomar n valores distintos.  Según el valor elegido se realizara una de las n acciones, o lo que es igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles. Elaborado por; Ing. Alberto Pérez

13 ALTERNATIVA MÚLTIPLE según_sea expresión (E) hacer e1: acción S11 acción S12 e2: acción S1a acción S21 acción S22 acción S2b en: acción S31 acción S32 si_no acción Sx fin_según Elaborado por; Ing. Alberto Pérez

14 EJEMPLO  Se desea diseñar un algoritmo que escriba los nombres de los días de la semana en función del valor de una variable DIA introducida por el teclado.  Los días de la semana son 7; por consiguiente el rango de valores de DIA será 1.. 7 y en caso de que DIA tome un valor fuera de este rango se deberá producir un mensaje de error advirtiendo la situación anómala. Elaborado por; Ing. Alberto Pérez

15 PRÁCTICA  Se desea convertir la calificaciones alfabéticas A, B, C, D y E a calificaciones numéricas 4, 5, 6, 7 y 8 respectivamente.  Introducir un número del 1 al 10 y visualizar si el número es par o impar. Elaborado por; Ing. Alberto Pérez

16 ESTRUCTURA DE DECISION ANIDADAS  Es posible utilizar la instrucción si para enseñar estructuras de selección que contengan mas de 3 alternativas.  Una estructura si-entonces puede contener otra estructura si-entonces, y esta estructura puede contener otra y así sucesivamente cualquier número de veces. Elaborado por; Ing. Alberto Pérez

17 ESTRUCTURA DE DECISION ANIDADAS si entonces fin_si Elaborado por; Ing. Alberto Pérez

18 ESTRUCTURA DE DECISION ANIDADAS  Una estructura selectiva múltiple constara de una serie de estructuras si, unas interiores a otras.  Como las estructuras si pueden volverse bastante complejas para que el algoritmo sea claro, será preciso utilizar identación.  Deberá existir una correspondencia entre las palabras reservadas si y fin_si, por un lado, y entonces y si_no. Elaborado por; Ing. Alberto Pérez

19 PRÁCTICAS  Calcular la hora dentro de un segundo, el usuario introducirá HH, MM, SS.  Leer dos números y determinar si están en orden creciente o decreciente. Elaborado por; Ing. Alberto Pérez

20 FLUJO DE CONTROL ESTRUCTURAS REPETITIVAS Elaborado por; Ing. Alberto Pérez

21 ESTRUCTURAS REPETITIVAS  Un tipo muy importante de estructura es el algoritmo necesario para repetir una o varias acciones un numero determinado de veces.  Las estructuras que repiten una secuencia de instrucciones un numero determinado de veces se denominan ciclos. Elaborado por; Ing. Alberto Pérez

22 ESTRUCTURAS REPETITIVAS  Se denomina iteración al hecho de repetir la ejecución de una secuencia de acciones.  Las dos principales preguntas a realizarse en el diseño de un bucle son:  ¿Qué contiene el ciclo?  ¿Cuántas veces se tiene que repetir? Elaborado por; Ing. Alberto Pérez

23 ESTRUCTURAS REPETITIVAS  Para detener la ejecución de los ciclos se utiliza una condición de parada.  El pseudocódigo de una estructura repetitiva tendrá este formato: Elaborado por; Ing. Alberto Pérez

24 ESTRUCTURAS REPETITIVAS inicio //iniciación de variables repetir acciones S1, S2 … salir según condición acciones Sn, Sn + 1, … fin_repetir Elaborado por; Ing. Alberto Pérez

25 ESTRUCTURAS REPETITIVAS  Los enunciados a utilizar serán: Iterar (loop) mientras (while) hacer-mientras (do-while) repetir (repeat) desde (for) Elaborado por; Ing. Alberto Pérez

26 ESTRUCTURAS REPETITIVAS algoritmo SUMA 1 inicio K = 0 S = 0 leer (n) mientras K < n hacer K = K+ 1 S = S +K fin_mientras escribir (S) fin Elaborado por; Ing. Alberto Pérez

27 ESTRUCTURAS REPETITIVAS  MIENTRAS  La estructura repetitiva mientras es aquella en que el cuerpo del ciclo se repite mientras se cumple determinada condición.  Cuando se ejecuta la instrucción mientras, la primera cosa que sucede es que se evalúa la condición. Elaborado por; Ing. Alberto Pérez

28 ESTRUCTURAS REPETITIVAS  Si se evalúa falsa no se toma ninguna acción y el programa prosigue en la siguiente instrucción después del ciclo.  Si la expresión booleana es verdadera, entonces se ejecuta el cuerpo del ciclo, después de lo cual se evalúa de nuevo la expresión booleana. Elaborado por; Ing. Alberto Pérez

29 ESTRUCTURAS REPETITIVAS mientras condición hacer acción S1 acción S2 acción Sn fin_mientras Elaborado por; Ing. Alberto Pérez

30 ESTRUCTURAS REPETITIVAS  Hacer-mientras (do-while)  Este ciclo se denomina ciclo post-test o ciclos controlados por la salida.  Las sentencias de este ciclo se ejecutan al menos una vez, incluso aunque la expresión booleana sea falsa Elaborado por; Ing. Alberto Pérez

31 ESTRUCTURAS REPETITIVAS  La elección entre un ciclo mientras y un ciclo hacer- mientras depende del problema computo a resolver.  En la mayoría de los casos el ciclo mientras será el indicado Elaborado por; Ing. Alberto Pérez

32 ESTRUCTURAS REPETITIVAS hacer mientras ( ) Elaborado por; Ing. Alberto Pérez

33 ESTRUCTURAS REPETITIVAS  Estructura desde/para (for)  En muchas ocasiones se conoce de antemano el número de veces que se desean ejecutar las acciones de un ciclo.  En estos casos se debe usar la estructura desde.  Ejecuta las acciones del cuerpo un número especificado de veces y de modo automático controla el número de iteraciones. Elaborado por; Ing. Alberto Pérez

34 ESTRUCTURAS REPETITIVAS desde v = vi hasta vf [incremento incr] hacer fin_desde  Si se omite el incremento el default es que aumente en 1 Elaborado por; Ing. Alberto Pérez

35 ESTRUCTURAS REPETITIVAS desde i = 20 hasta 10 hacer fin_desde  desde i = 20 hasta 10 decremento 1 hacer fin_desde Elaborado por; Ing. Alberto Pérez

36 ESTRUCTURAS REPETITIVAS  ESTRUCTURAS ANIDADAS  De igual forma que se pueden anidar estructuras de selección, es posible insertar un ciclo dentro de otro.  Las variables índices o de control toman valores de modo tal que por cada valor de la variable índice del ciclo externo se debe ejecutar totalmente el ciclo interno. Elaborado por; Ing. Alberto Pérez

37 PRÁCTICAS - CICLOS  PRÁCTICA 18  Algoritmo para obtener la tabla de multiplicar completa de un número dado (ciclo anidado)  PRÁCTICA 19  Buscar y escribir la primera vocal leída del teclado  PRÁCTICA 20  Escribir un algoritmo que permita escribir en una pantalla la frase ¿Desea continuar? S / N hasta que la respuesta sea S o N Elaborado por; Ing. Alberto Pérez


Descargar ppt "ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez."

Presentaciones similares


Anuncios Google