Sei sulla pagina 1di 37

ESTRUCTURAS

SELECTIVAS

Elaborado por; Ing. Alberto Prez

FLUJO DE CONTROL
En las estructuras selectivas se evala una
condicin y en funcin del resultado de la
misma se realiza una instruccin u otra.
Las estructuras selectivas o alternativas
pueden ser:
-Simples
-Dobles
-Mltiples

Elaborado por; Ing. Alberto Prez

ALTERNATIVA SIMPLE
La
estructura
alternativa
simple si- entonces ejecuta
una
determinada
accin
cuando
se
cumple
determinada condicin .
Si la condicin es verdadera
entonces ejecuta la accin
S1 (o acciones en caso de
ser S1 una accin compuesta
y
constar
de
varias
acciones).

Elaborado por; Ing. Alberto Prez

EJEMPLO:
Si <condicin> entonces
<accin S1>
fin_si
// S1 accin compuesta
si <condicin> entonces
<accin S1>
<accin S2>
<accin Sn>
fin_si
Elaborado por; Ing. Alberto Prez

ALTERNATIVA SIMPLE
Obsrvese que las palabras del pseudocdigo
si y fin_si se alinean verticalmente identando
la <accin> o bloque de acciones.
Sintaxis en lenguaje de programacin C/C++
if (condicin )
{
sentencias
}
Elaborado por; Ing. Alberto Prez

ALTERNATIVA DOBLE
La estructura anterior es
muy
limitada
y
normalmente
se
necesitara
una
estructura que permita
elegir entre dos opciones
o alternativas posibles,
en
funcin
del
cumplimiento o no de
una
determinada
condicin .
Elaborado por; Ing. Alberto Prez

ALTERNATIVA DOBLE
Ejemplo:
Resolucin de una ecuacin de primer
grado.
Si la ecuacin es ax + b = 0 , a y b son los
datos, y las posibles soluciones son:
a != 0 x = -b/a
a = 0 b !=0 entonces solucin
imposible
A = 0 b = 0 entonces solucin
indeterminada
Elaborado por; Ing. Alberto Prez

EJEMPLO
Pseudocdigo
si <condicin>entonces
<accin S1>
si_no
<accin S2>
fin_si

Elaborado por; Ing. Alberto Prez

PRCTICA
Se desea obtener la nmina 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 Prez

PRCTICA
Los impuestos a deducir a los trabajadores
varan en funcin a su sueldo mensual.
Sueldo < = 20000, libre de impuestos.
Los siguientes 15000 al 20% y el resto al
30% .

Elaborado por; Ing. Alberto Prez

ALTERNATIVA MLTIPLE
Con frecuencia en la prctica es necesario que
existan mas de dos elecciones.
Este problema, como se vera mas adelante, se
podra 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 Prez

ALTERNATIVA MLTIPLE
La
estructura
de
decisin
mltiple
evaluara una expresin
que podr tomar n
valores distintos.
Segn 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 Prez

ALTERNATIVA MLTIPLE
segn_sea expresin (E) hacer
e1: accin S11
accin S12
e2: accin S1a
accin S21
accin S22
accin S2b
en: accin S31
accin S32
si_no
accin Sx
fin_segn
Elaborado por; Ing. Alberto Prez

EJEMPLO
Se desea disear un algoritmo que escriba los
nombres de los das de la semana en funcin
del valor de una variable DIA introducida por el
teclado.
Los das 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 situacin anmala.

Elaborado por; Ing. Alberto Prez

PRCTICA
Se desea convertir la calificaciones alfabticas
A, B, C, D y E a calificaciones numricas 4, 5,
6, 7 y 8 respectivamente.
Introducir un nmero del 1 al 10 y visualizar si
el nmero es par o impar.

Elaborado por; Ing. Alberto Prez

ESTRUCTURA DE DECISION
ANIDADAS
Es
posible
utilizar
la
instruccin si para ensear
estructuras de seleccin 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
nmero de veces.

Elaborado por; Ing. Alberto Prez

ESTRUCTURA DE DECISION
ANIDADAS
si < condicion1> entonces
si <condicin> entonces
<acciones>
fin_si
fin_si

Elaborado por; Ing. Alberto Prez

ESTRUCTURA DE DECISION
ANIDADAS
Una estructura selectiva mltiple 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 identacin.
Deber existir una correspondencia entre las
palabras reservadas si y fin_si, por un lado, y
entonces y si_no.

Elaborado por; Ing. Alberto Prez

PRCTICAS
Calcular la hora dentro de un segundo, el
usuario introducir HH, MM, SS.
Leer dos nmeros y determinar si estn en
orden creciente o decreciente.

Elaborado por; Ing. Alberto Prez

ESTRUCTURAS REPETITIVAS

FLUJO DE CONTROL
Elaborado por; Ing. Alberto Prez

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

Elaborado por; Ing. Alberto Prez

ESTRUCTURAS REPETITIVAS
Se denomina iteracin al
hecho de repetir la
ejecucin
de
una
secuencia de acciones.
Las
dos
principales
preguntas a realizarse
en el diseo de un bucle
son:
Qu contiene el ciclo?
Cuntas veces se tiene
que repetir?

Elaborado por; Ing. Alberto Prez

ESTRUCTURAS REPETITIVAS
Para
detener
la
ejecucin de los ciclos
se
utiliza
una
condicin de parada.
El pseudocdigo de
una
estructura
repetitiva tendr este
formato:

Elaborado por; Ing. Alberto Prez

ESTRUCTURAS REPETITIVAS
inicio
//iniciacin de variables
repetir
acciones S1, S2
salir segn condicin
acciones Sn, Sn + 1,
fin_repetir

Elaborado por; Ing. Alberto Prez

ESTRUCTURAS REPETITIVAS
Los
enunciados
a
utilizar sern:
Iterar
(loop)
mientras (while)
hacer-mientras
(do-while)
repetir
(repeat)
desde
(for)

Elaborado por; Ing. Alberto Prez

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 Prez

ESTRUCTURAS REPETITIVAS
MIENTRAS
La
estructura
repetitiva
mientras es aquella en
que el cuerpo del ciclo se
repite mientras se cumple
determinada condicin.
Cuando
se
ejecuta
la
instruccin mientras, la
primera cosa que sucede es
que se evala la condicin.
Elaborado por; Ing. Alberto Prez

ESTRUCTURAS REPETITIVAS
Si se evala falsa no se toma ninguna accin y
el programa prosigue en la siguiente
instruccin despus del ciclo.
Si la expresin booleana es verdadera,
entonces se ejecuta el cuerpo del ciclo,
despus de lo cual se evala de nuevo la
expresin booleana.
Elaborado por; Ing. Alberto Prez

ESTRUCTURAS REPETITIVAS
mientras condicin hacer
accin S1
accin S2
accin Sn
fin_mientras

Elaborado por; Ing. Alberto Prez

ESTRUCTURAS REPETITIVAS
Hacer-mientras
(dowhile)
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
expresin
booleana sea falsa

Elaborado por; Ing. Alberto Prez

ESTRUCTURAS REPETITIVAS
La eleccin entre un
ciclo mientras y un
ciclo hacer-mientras
depende
del
problema computo a
resolver.
En la mayora de los
casos
el
ciclo
mientras
ser
el
indicado
Elaborado por; Ing. Alberto Prez

ESTRUCTURAS REPETITIVAS
hacer
<acciones>
mientras (<expresin>)

Elaborado por; Ing. Alberto Prez

ESTRUCTURAS REPETITIVAS
Estructura desde/para (for)
En muchas ocasiones se conoce de antemano
el nmero 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 nmero
especificado de veces y de modo automtico
controla el nmero de iteraciones.
Elaborado por; Ing. Alberto Prez

ESTRUCTURAS REPETITIVAS
desde v = vi hasta vf [incremento incr] hacer
<acciones>
fin_desde
Si se omite el incremento el default es que
aumente en 1

Elaborado por; Ing. Alberto Prez

ESTRUCTURAS REPETITIVAS
desde i = 20 hasta 10 hacer
<acciones>
fin_desde
desde i = 20 hasta 10 decremento 1 hacer
<acciones>
fin_desde

Elaborado por; Ing. Alberto Prez

ESTRUCTURAS REPETITIVAS
ESTRUCTURAS ANIDADAS
De igual forma que se pueden anidar
estructuras de seleccin, 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 Prez

PRCTICAS - CICLOS
PRCTICA 18
Algoritmo para obtener la tabla de multiplicar
completa de un nmero dado (ciclo anidado)
PRCTICA 19
Buscar y escribir la primera vocal leda del teclado
PRCTICA 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 Prez

Potrebbero piacerti anche