You are on page 1of 41

Estructuras de Control

Seleccin o Decisin
Corina Flores Villarroel
UMSS

Corina Flores V. - UMSS 1


Introduccin
Al ser un algoritmo una secuencia de pasos
ordenados, estos deben seguir una trayectoria
para su ejecucin 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.

Corina Flores V. - UMSS 2


Introduccin
Para organizar el flujo de control de un
algoritmo se utilizan estructuras de control,
estas son construcciones algortmicas lineales,
de seleccin e iteracin.

Las dos ltimas alteran el flujo de control


lineal del algoritmo.

Corina Flores V. - UMSS 3


Introduccin

La forma de tomar decisiones en un


algoritmo o programa es a travs de las
estructuras de control.

Corina Flores V. - UMSS 4


Tipos de estructuras de control

1. Estructura secuencial
2. Estructura de seleccin
3. Estructura de repeticin

Corina Flores V. - UMSS 5


Estructura secuencial
Est representada por una
sucesin de acciones que se
ejecutan de arriba hacia abajo
sin bifurcaciones, es decir, una
accin a continuacin de otra

Corina Flores V. - UMSS 6


Estructura seleccin
Da a da las personas estamos
enfrentados a tomar decisiones, aun
sean estas pequeas, por ejemplo, a
qu hora levantarse?, qu desayunar?,
qu ropa ponerse?, dnde ir?, etc

Corina Flores V. - UMSS 7


Estructura seleccin
Da a da las personas estamos
enfrentados a tomar decisiones, aun sean
estas pequeas, por ejemplo, a qu hora
levantarse?, qu desayunar?, qu ropa
ponerse?, dnde ir?, etc

Corina Flores V. - UMSS 8


Estructura seleccin
En un algoritmo representativo de un
problema real, es prcticamente imposible
que las instrucciones o acciones a realizar
sean secuenciales puras. Es necesario tomar
decisiones en funcin de los datos del
problema.

Corina Flores V. - UMSS 9


Estructura seleccin
Aparece entonces la necesidad de aplicar
una estructura de seleccin, a travs de la
seleccin se incorpora, a la especificacin
del algoritmo, la capacidad de decisin.

De esta forma ser posible seleccionar una


de dos alternativas de accin posibles
durante la ejecucin del algoritmo.

Corina Flores V. - UMSS 10


Estructura seleccin
Las estructuras selectivas se clasifican en:

Selectivas SIMPLES
Selectivas DOBLES
Selectivas MULTIPLES

Corina Flores V. - UMSS 11


Estructura seleccin
La estructura selectiva si entonces, permite que el
flujo de la secuencia siga por un camino especfico si
se cumple una condicin o conjunto de condiciones.

Si al evaluar la condicin (condiciones) el resultado


es verdadero, entonces se ejecuta(n) cierta(s)
accin(es). Luego se continua con el flujo normal.

Corina Flores V. - UMSS 12


Estructura seleccin simple
Representamos la estructura con el siguiente
pseudocdigo:

Si (condicin)
entonces
accin o acciones a realizar si la condicin es
verdadera
FinSi

Corina Flores V. - UMSS 13


Estructura seleccin simple
donde condicin es una expresin que al ser
evaluada puede tomar solamente uno de los
dos valores posibles: verdadero o falso.

Corina Flores V. - UMSS 14


Estructura seleccin simple
A continuacin se presenta grficamente esta
estructura.

true Acciones o
CONDICIN instrucciones

false

Corina Flores V. - UMSS 15


Estructura seleccin doble
A continuacin se presenta grficamente esta
estructura.

Corina Flores V. - UMSS 16


Estructura seleccin anidada
A continuacin se presenta grficamente esta
estructura.

Corina Flores V. - UMSS 17


Estructura seleccin
Reglas para la estructura de control si (if)

1. La condicion va entre parntesis


2. La lnea 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 instruccin se
encierra entre llaves. Esto se llama bloque.

Corina Flores V. - UMSS 18


Estructura seleccin
Operadores Relacionales
Actan sobre valores enteros, reales y
caracteres. Estos operadores retornan un
valor booleano:

Corina Flores V. - UMSS 19


Estructura seleccin
Operadores Relacionales

Corina Flores V. - UMSS 20


Estructura seleccin
Operadores Lgicos

Corina Flores V. - UMSS 21


Estructura seleccin anidada
Una forma equivalente de representar una
estructura anidada puede ser a travs de switch
(ms informacin pueden encontrar en el archivo
EstructurasControl que ya estn publicadas)

Corina Flores V. - UMSS 22


Estructura seleccin anidada
Estructura de switch()

Corina Flores V. - UMSS 23


Estructura seleccin
Problema: Desarrollar un algoritmo que
solicite la edad de una persona e indique si es
mayor de edad o no

1. Anlisis del problema


Entradas: ??
Salidas: ??
Proceso:??

Corina Flores V. - UMSS 24


Estructura seleccin
Problema: Desarrollar un algoritmo que
solicite la edad de una persona e indique si es
mayor de edad o no

1. Anlisis del problema


Entradas: edad
Salidas: ??
Proceso:??

Corina Flores V. - UMSS 25


Estructura seleccin
Problema: Desarrollar un algoritmo que
solicite la edad de una persona e indique si es
mayor de edad o no

1. Anlisis del problema


Entradas: edad
Salidas: impresin de mensaje de texto (anuncio)
Proceso:??

Corina Flores V. - UMSS 26


Estructura seleccin
Problema: Desarrollar un algoritmo que
solicite la edad de una persona e indique si es
mayor de edad o no

1. Anlisis del problema

impresin de
edad Proceso? mensaje de
texto

Corina Flores V. - UMSS 27


Estructura seleccin
Problema: Desarrollar un algoritmo que
solicite la edad de una persona e indique si es
mayor de edad o no
1. Anlisis del problema
Entradas: edad
Salidas: impresin de mensaje de texto (anuncio)
Proceso: SI la edad es mayor o igual que 18

Corina Flores V. - UMSS 28


Estructura seleccin
Problema: Desarrollar un algoritmo que solicite la
edad de una persona e indique si es mayor de
edad o no

1. Anlisis del problema


Entradas: edad
Salidas: impresin 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 29
Estructura seleccin
Problema: Desarrollar un algoritmo que solicite la edad
de una persona e indique si es mayor de edad o no

1. Anlisis del problema


Entradas: edad
Salidas: impresin 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 30


Estructura seleccin
Problema: Desarrollar un algoritmo que solicite la edad
de una persona e indique si es mayor de edad o no

1. Anlisis del problema


Entradas: edad
Salidas: impresin 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 31


Estructura seleccin
Problema: Desarrollar un algoritmo que
solicite la edad de una persona e indique si es
mayor de edad o no

1. Anlisis del problema


Si edad > = 18
impresin de
edad Imprimir usted es
mayor de edad mensaje de
Sino texto
Imprimir usted es
menor de edad

Corina Flores V. - UMSS 32


Estructura seleccin

Problema: Desarrollar un algoritmo que solicite la edad


de una persona e indique si es mayor de edad o no

2. Disear el algoritmo y escribirlo en pseudocdigo


Inicio
edad: entero
leer (edad)
???
Fin
Corina Flores V. - UMSS 33
Estructura seleccin

Problema: Desarrollar un algoritmo que solicite la edad


de una persona e indique si es mayor de edad o no

2. Disear el algoritmo y escribirlo en pseudocdigo


Inicio
edad: entero
Como expresar la condicin la
leer (edad) edad es mayor que 18 en
??? pseudocdigo??

Fin
Corina Flores V. - UMSS 34
Estructura seleccin

Problema: Desarrollar un algoritmo que solicite la edad


de una persona e indique si es mayor de edad o no

2. Disear el algoritmo y escribirlo en pseudocdigo


Inicio
edad: entero
leer (edad)
SI edad >= 18
Fin
Corina Flores V. - UMSS 35
Estructura seleccin

Problema: Desarrollar un algoritmo que solicite la edad


de una persona e indique si es mayor de edad o no

2. Disear el algoritmo y escribirlo en pseudocdigo


Inicio
edad: entero
leer (edad)
SI edad >= 18
imprimir(Usted es mayor de edad)
Fin
Corina Flores V. - UMSS 36
Estructura seleccin

Problema: Desarrollar un algoritmo que solicite la edad de


una persona e indique si es mayor de edad o no

2. Disear el algoritmo y escribirlo en pseudocdigo


Inicio
edad: entero
leer (edad)
SI edad >= 18
imprimir(Usted es mayor de edad)
SINO
Fin
Corina Flores V. - UMSS 37
Estructura seleccin

Problema: Desarrollar un algoritmo que solicite la edad de una


persona e indique si es mayor de edad o no

2. Disear el algoritmo y escribirlo en pseudocdigo


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 38


Estructura seleccin - Ejercicios
Problema1: ingresar un numero y decir si es par o impar

Problema2: ingresar una calificacin 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 nmeros y calcular cociente y resto


entero. Avisar que no es posible cuando el divisor es cero

Corina Flores V. - UMSS 39


Estructura seleccin - Ejercicios
Problema4: Ingresar el ao de nacimiento de una persona
Mostrar la edad que tendr a fin de ao (o sea que cumplir
durante el ao 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 ao es bisiesto
Indicar la estacin en la que se encuentra segn el mes

Corina Flores V. - UMSS 40


Estructura seleccin - Ejercicios
Problema6: Dadas tres longitudes, determina si forman o no un
tringulo (considera, que el lado mayor sea menor que la suma de
los otros dos lados).
Si forman un tringulo:
Determinar de qu tipo es: equiltero, issceles o escaleno

Problema7: Teniendo como datos el sueldo y la categora de un


trabajador, calcule el aumento del sueldo correspondiente a partir
de la siguiente tabla, imprimiendo la categora del trabajador y el
nuevo sueldo segn su incremento.
Categora Aumento
1 15%
2 10%
3 8%
4 5%

Corina Flores V. - UMSS 41

You might also like