Introducción
• Al ser un algoritmo una secuencia de pasos ordenados, estos deben seguir una trayectoria para su ejecución desde el primer paso hasta el último.
• Esta trayectoria se denomina flujo de control que indica el orden en el cual deben ejecutarse los pasos elementales.
2 Corina Flores V. - UMSS
Introducción
• Para organizar el flujo de control de un algoritmo se utilizan estructuras de control, estas son construcciones algorítmicas lineales, de selección e iteración.
• Las dos últimas alteran el flujo de control lineal del algoritmo.
3 Corina Flores V. - UMSS
Introducción
La forma de tomar decisiones en un algoritmo o programa es a través de las estructuras de control.
4 Corina Flores V. - UMSS
Tipos de estructuras de control
1. Estructura secuencial
2. Estructura de selección
3. Estructura de repetición
5 Corina Flores V. - UMSS
Estructura secuencial
• Está representada por una sucesión de acciones que se ejecutan de arriba hacia abajo sin bifurcaciones, es decir, una acción a continuación de otra
6 Corina Flores V. - UMSS
Estructura selección
• Día a día las personas estamos enfrentados a tomar decisiones, aun sean estas pequeñas, por ejemplo, ¿a qué hora levantarse?, ¿qué desayunar?, ¿qué ropa ponerse?, ¿dónde ir?, etc
7 Corina Flores V. - UMSS
Estructura selección
• Día a día las personas estamos enfrentados a tomar decisiones, aun sean estas pequeñas, por ejemplo, ¿a qué hora levantarse?, ¿qué desayunar?, ¿qué ropa ponerse?, ¿dónde ir?, etc
8 Corina Flores V. - UMSS
Estructura selección
• En un algoritmo representativo de un problema real, es prácticamente imposible que las instrucciones o acciones a realizar sean secuenciales puras. Es necesario tomar decisiones en función de los datos del problema.
9 Corina Flores V. - UMSS
Estructura selección
• Aparece entonces la necesidad de aplicar una estructura de selección, a través de la selección se incorpora, a la especificación del algoritmo, la capacidad de decisión.
• De esta forma será posible seleccionar una de dos alternativas de acción posibles durante la ejecución del algoritmo.
10 Corina Flores V. - UMSS
Estructura selección
• Las estructuras selectivas se clasifican en:
– Selectivas SIMPLES
– Selectivas DOBLES
– Selectivas MULTIPLES
11 Corina Flores V. - UMSS
Estructura selección
• La estructura selectiva si entonces, permite que el flujo de la secuencia siga por un camino específico si se cumple una condición o conjunto de condiciones.
• Si al evaluar la condición (condiciones) el resultado es verdadero, entonces se ejecuta(n) cierta(s) acción(es). Luego se continua con el flujo normal.
12 Corina Flores V. - UMSS
Estructura selección simple
Si (condición)
entonces
acción o acciones a realizar si la condición es
verdadera
FinSi
Representamos la estructura con el siguiente pseudocódigo:
13 Corina Flores V. - UMSS
Estructura selección simple
donde condición es una expresión que al ser evaluada puede tomar solamente uno de los dos valores posibles: verdadero o falso.
14 Corina Flores V. - UMSS
Estructura selección simple
A continuación se presenta gráficamente esta estructura.
CONDICIÓN
Acciones o
instrucciones
true
false
15 Corina Flores V. - UMSS
Estructura selección doble
A continuación se presenta gráficamente esta estructura.
16 Corina Flores V. - UMSS
Estructura selección anidada
A continuación se presenta gráficamente esta estructura.
17 Corina Flores V. - UMSS
Estructura selección
Reglas para la estructura de control si (if) 1. La condicion va entre paréntesis 2. La línea del si (if) y sino (else) no lleva punto y coma 3. El si (if) y el sino (else) se ejecuta para una sola
sentencia, no se precisan de llaves. 4. Si se necesita mas de una sentencia o instrucción se
encierra entre llaves. Esto se llama bloque.
18 Corina Flores V. - UMSS
Estructura selección
Operadores Relacionales Actúan sobre valores enteros, reales y caracteres. Estos operadores retornan un valor booleano:
19 Corina Flores V. - UMSS
Estructura selección anidada
Una forma equivalente de representar una estructura anidada puede ser a través de switch (más información pueden encontrar en el archivo EstructurasControl que ya están publicadas)
22 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad de una persona e indique si es mayor de edad o no
1. Análisis del problema
– Entradas: ??
– Salidas: ??
– Proceso:??
24 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad de una persona e indique si es mayor de edad o no
1. Análisis del problema
– Entradas: edad
– Salidas: ??
– Proceso:??
25 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad de una persona e indique si es mayor de edad o no
1. Análisis del problema
– Entradas: edad
– Salidas: impresión de mensaje de texto (anuncio)
– Proceso:??
26 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad de una persona e indique si es mayor de edad o no
1. Análisis del problema
Proceso? edad impresión de mensaje de texto
27 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad de una persona e indique si es mayor de edad o no
1. Análisis del problema
– Entradas: edad
– Salidas: impresión de mensaje de texto (anuncio)
– Proceso: SI la edad es mayor o igual que 18
28 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad de una persona e indique si es mayor de edad o no
1. Análisis del problema – Entradas: edad
– Salidas: impresión de mensaje de texto (anuncio)
– Proceso: SI la edad es mayor o igual que 18
mostrar el mensaje “Usted es mayor de edad”.
29 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad de una persona e indique si es mayor de edad o no
1. Análisis del problema – Entradas: edad
– Salidas: impresión de mensaje de texto (anuncio)
• Proceso: SI la edad es mayor o igual que 18
mostrar el mensaje “Usted es mayor de edad”.
SI NO
30 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad de una persona e indique si es mayor de edad o no
1. Análisis del problema – Entradas: edad – Salidas: impresión de mensaje de texto (anuncio) – Proceso: SI la edad es mayor o igual que 18
mostrar el mensaje “Usted es mayor de edad”.
SI NO mostrar el mensaje “Usted es menor de
edad”
31 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad de una persona e indique si es mayor de edad o no
1. Análisis del problema
Si edad > = 18 Imprimir usted es mayor de edad Sino Imprimir usted es menor de edad
edad impresión de mensaje de texto
32 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad de una persona e indique si es mayor de edad o no
2. Diseñar el algoritmo y escribirlo en pseudocódigo
Inicio
edad: entero
leer (edad)
???
Fin
33 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad de una persona e indique si es mayor de edad o no
2. Diseñar el algoritmo y escribirlo en pseudocódigo
Inicio
edad: entero
leer (edad)
???
Fin
Como expresar la condición “la edad es mayor que 18” en pseudocódigo??
34 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad de una persona e indique si es mayor de edad o no
2. Diseñar el algoritmo y escribirlo en pseudocódigo
Inicio
edad: entero
leer (edad)
SI edad >= 18
Fin
35 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad
de una persona e indique si es mayor de edad o no
2. Diseñar el algoritmo y escribirlo en pseudocódigo Inicio edad: entero leer (edad) SI edad >= 18 imprimir(“Usted es mayor de edad”) Fin
36 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad de
una persona e indique si es mayor de edad o no
2. Diseñar el algoritmo y escribirlo en pseudocódigo Inicio edad: entero leer (edad) SI edad >= 18 imprimir(“Usted es mayor de edad”) SINO Fin
37 Corina Flores V. - UMSS
Estructura selección
• Problema: Desarrollar un algoritmo que solicite la edad de una
persona e indique si es mayor de edad o no
2. Diseñar el algoritmo y escribirlo en pseudocódigo Inicio edad: entero leer (edad) SI edad >= 18 imprimir(“Usted es mayor de edad”) SINO imprimir(“Usted es menor de edad”) Fin
38 Corina Flores V. - UMSS
Estructura selección - Ejercicios
• Problema1: ingresar un numero y decir si es par o impar
• Problema2: ingresar una calificación y de acuerdo a su valor imprimir el mensaje correspondiente:
• Nota >= 91 “sobresaliente” • Nota >= 80 “muy bueno” • Nota >= 71 “bueno” • Nota >= 51 “aceptable” • Nota < 40 “deficiente”
• Problema3: Ingresar 2 números y calcular cociente y resto entero. Avisar que no es posible cuando el divisor es cero
39 Corina Flores V. - UMSS
Estructura selección - Ejercicios
• Problema4: Ingresar el año de nacimiento de una persona – Mostrar la edad que tendrá a fin de año (o sea que cumplirá
durante el año lectivo) – Decir si es mayor o menor de edad – Decir si falleció o si aun no ha nacido
• Problema5: ingresar una fecha en formato 26/09/2014 – verificar que esté correctamente escrita y en caso de que no lo
sea mostrar un mensaje y terminar En caso de que la fecha esté escrita correctamente,
• devolver en formato 26 de septiembre de 2014 • Indicar si el año es bisiesto • Indicar la estación en la que se encuentra según el mes
40 Corina Flores V. - UMSS
Estructura selección - Ejercicios
• Problema6: Dadas tres longitudes, determina si forman o no un triángulo (considera, que el lado mayor sea menor que la suma de los otros dos lados). – Si forman un triángulo:
• Determinar de qué tipo es: equilátero, isósceles o escaleno
• Problema7: Teniendo como datos el sueldo y la categoría de un trabajador, calcule el aumento del sueldo correspondiente a partir de la siguiente tabla, imprimiendo la categoría del trabajador y el nuevo sueldo según su incremento.
Categoría Aumento 1 15%
2 10%
3 8% 4 5%
41 Corina Flores V. - UMSS
Top Related