Está en la página 1de 48

Estructuras de

Control
Selección o
Decisión
Corina Flores Villarroel
UMSS - FCyT

Corina Flores V. - UMSS-FCyT 1


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.

Corina Flores V. - UMSS-FCyT 2


Introducción

• Esta trayectoria se denomina


flujo de control que indica el
orden en el cual deben
ejecutarse los pasos
elementales.
LINEAL

Corina Flores V. - UMSS-FCyT 3


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

Corina Flores V. - UMSS-FCyT 4


Introducción
• Sin embargo, hay problemas que no pueden
ser resueltos siguiendo esta forma o flujo
lineal, de ahí por la necesidad, surgen otro
tipo de estructuras denominadas de selección
e iteración.

Corina Flores V. - UMSS-FCyT 5


Tipos de estructuras de control

1. Estructura secuencial
2. Estructura de selección Estas dos,
alteran el flujo
3. Estructura de repetición de control lineal
del algoritmo.

Corina Flores V. - UMSS-FCyT 6


Introducción

Por ahora comenzaremos estudiando la


Estructura de Control Selectiva, también
conocida como Condicional o de Decisión.

Corina Flores V. - UMSS-FCyT 7


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

Corina Flores V. - UMSS-FCyT 8


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.

Corina Flores V. - UMSS-FCyT 9


Estructura selección
• Representar estas decisiones o simularla mediante
un algoritmo o programa es prácticamente
imposible de la forma como estábamos
trabajando, pues necesitamos tomar decisiones en
función de la situación que se presente, o lo que es
lo mismo, en función de ciertas condiciones que
se dan en el problema.

Corina Flores V. - UMSS-FCyT 10


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 o programa, la capacidad de
decisión.

Corina Flores V. - UMSS-FCyT 11


Estructura selección

¿Cuándo utilizar una


estructura de selección ?

Corina Flores V. - UMSS-FCyT 12


Estructura selección

Cuando estamos frente a problemas donde se


deben tomar decisiones

Corina Flores V. - UMSS-FCyT 13


Estructura selección
A continuación se presenta gráficamente esta
estructura.

Verdad
CONDICIÓN o True Bloque de
Acciones o
Booleana instrucciones

Falso o
false

Corina Flores V. - UMSS-FCyT 14


Estructura selección
En la herramienta DFD, lo encontraran representado
como:

CONDICIÓN
Expresión

Las expresiones dispuestas como por ej. 10 > 4


condición a ser evaluada son del tipo a == c
relacionales y lógicas. cantidad != 100
Corina Flores V. - UMSS-FCyT 15
Estructura selección
• Entonces este tipo de estructuras se van a
usar cuando necesitamos elegir un camino
dependiendo del resultado de evaluar
expresiones que den como resultado
Verdadero (True) o Falso (False).

Corina Flores V. - UMSS-FCyT 16


Estructura selección simple
Se presentan dos situaciones:
1. Cuando el resultado de la condición
es Verdad, se ejecuta todas las
instrucciones que siguen esa ruta.

Verdad
CONDICIÓN o True Bloque de
Acciones o
Booleana instrucciones

Falso o
false

Corina Flores V. - UMSS-FCyT 17


Estructura selección simple
Se presentan dos situaciones:

Verdad
CONDICIÓN o True Bloque de
Acciones o
Booleana instrucciones

Falso o
false
2. Cuando la condición evaluada da Falso,
entonces el flujo continuara su ejecución
según la ruta marcada.

Corina Flores V. - UMSS-FCyT 18


Estructura selección simple
Se presentan dos situaciones:

Verdad
CONDICIÓN o True Bloque de
Acciones o
Booleana instrucciones

Falso o
false

En cualquiera de los dos casos (T o F), se prosigue con el flujo normal.

Corina Flores V. - UMSS-FCyT 19


Estructura selección
• Las estructuras selectivas se clasifican en:

– Selectivas SIMPLES
– Selectivas DOBLES
– Selectivas MULTIPLES

Corina Flores V. - UMSS-FCyT 20


Estructura selección simple
Representamos la estructura con el siguiente
pseudocódigo:

Si (condición)
entonces
acción o acciones a realizar si la condición es
verdadera
escribir (‘nota de Maria’+ notaMaria)

FinSi

Corina Flores V. - UMSS-FCyT 21


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.

Corina Flores V. - UMSS-FCyT 22


Estructura selección doble
A continuación se presenta gráficamente esta
estructura.

Observamos que, a la evaluación de la condición por cualquiera de los dos


casos (T o F), se ejecutan las acciones que siguen..
Corina Flores V. - UMSS-FCyT 23
Estructura selección anidada
A continuación se presenta gráficamente esta
estructura.

Esta estructura se comienza a complicar, dado que a partir de una


condición, pueden generarse otras sea por la rama de T o F.
Corina Flores V. - UMSS-FCyT 24
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.

Corina Flores V. - UMSS-FCyT 25


Estructura selección
Operadores Relacionales
Actúan sobre valores enteros, reales y caracteres, nos indican
la relación de orden entre dos expresiones . Estos
operadores retornan un valor booleano, (T o F):

Para la
Para la comparación ==
asignación =

Corina Flores V. - UMSS-FCyT 26


Estructura selección
Operadores Relacionales

Corina Flores V. - UMSS-FCyT 27


Estructura selección
Operadores Lógicos
Siempre operan sobre valores booleanos y
devuelven como resultado otro valor booleano

Corina Flores V. - UMSS-FCyT 28


Estructura selección
Tablas de verdad
A B A && B A || B !A
V V V V F
V F F V F
F V F V V
F F F F V

Corina Flores V. - UMSS-FCyT 29


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)

Corina Flores V. - UMSS-FCyT 30


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:??

Corina Flores V. - UMSS-FCyT 31


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:??

Corina Flores V. - UMSS-FCyT 32


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:??

Corina Flores V. - UMSS-FCyT 33


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

impresión de
edad Proceso? mensaje de
texto

Corina Flores V. - UMSS-FCyT 34


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

Corina Flores V. - UMSS-FCyT 35


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”.
Corina Flores V. - UMSS-FCyT 36
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

Corina Flores V. - UMSS-FCyT 37


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”

Corina Flores V. - UMSS-FCyT 38


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
impresión de
edad Imprimir usted es
mayor de edad mensaje de
Sino texto
Imprimir usted es
menor de edad

Corina Flores V. - UMSS-FCyT 39


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
Corina Flores V. - UMSS-FCyT 40
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
Como expresar la condición “la
leer (edad) edad es mayor que 18” en
??? pseudocódigo??

Fin
Corina Flores V. - UMSS-FCyT 41
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
Corina Flores V. - UMSS-FCyT 42
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
Corina Flores V. - UMSS-FCyT 43
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
Corina Flores V. - UMSS-FCyT 44
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

Corina Flores V. - UMSS-FCyT 45


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

Corina Flores V. - UMSS-FCyT 46


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 28/05/2020


– 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

Corina Flores V. - UMSS-FCyT 47


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%

Corina Flores V. - UMSS-FCyT 48

También podría gustarte