Está en la página 1de 8

3 — Descripción de las estructuras selectivas y repetitivas

Estas máquinas no tienen sentido común; todavía no han aprendido a pensar, sólo hacen
exactamente lo que se les ordena, ni más ni menos. Este hecho es el concepto más difícil de
entender la primera vez que se utiliza un ordenador.
Donald Knuth
El flujo de ejecución de las líneas de un algoritmo está determinado por la complejidad de la tarea
que resuelve. Un algoritmo rara vez sigue una secuencia lineal, en general evalúa una o más
situaciones y responde de manera apropiada a cada una de ellas. Las estructuras de control
selectivas y las repetitivas constituyen la herramienta a usar en estos casos. Para el aprendizaje de
su funcionamiento se requiere un proceso gradual de adaptación a la abstracción que
representan, además de la experiencia que se vaya adquiriendo en el contexto de un lenguaje de
programación en particular. este capítulo se hace una breve referencia al concepto, utilidad y
sintaxis de las estructuras de control mencionadas. En el caso de la selectiva se desarrolla la
explicación en grado de complejidad, es decir, cuando se define un bloque de instrucciones al
cumplirse una condición, cuando se definen dos bloques de instrucciones y cuando se definen “n”
número de bloques para “n” posibles opciones. En el caso de la repetitiva se revisaron los
diferentes tipos de ciclos que están enfocados principalmente a ciclos de tamaño relativamente
fijos y ciclos que están más dependientes de variables, esto es de manera estructural porque
finalmente son muy similares los diferentes tipos de ciclos.

3.1 Estructuras selectivas


Las estructuras de decisión permiten controlar el flujo de secuencia de una solución en un
programa, de tal manera que, en función de una condición o el valor de una variable, se puede
desviar la secuencia entre diferentes alternativas. A las Estructuras de control de Decisión también
se les conoce como Estructuras de Selección.

3.1.1 Estructura de control de Selección Simple SI


Una estructura de decisión simple “SI... FINSI”, permite alterar el flujo de secuencia de un
algoritmo ejecutando un conjunto de instrucciones adicionales si el resultado de una condición es
verdadero.
El formato para diseñar un algoritmo es el siguiente:
SI (Condición)
ENTONCES
instrucciones
FINSI
Explicación:
Si la condición resulta verdadera, se ejecutarán todas las instrucciones que se encuentran entre el
ENTONCES y FINSI. Si la condición resulta falsa, no se ejecutan las instrucciones entre el ENTONCES
y FINSI.
Diagrama de Flujo:

3.1.2 Estructura de control de Selección


Doble SI...SINO
Una estructura de decisión doble “SI... SINO... FINSI” permite alterar el flujo de secuencia de un
algoritmo ejecutando un conjunto de instrucciones adicionales dependiendo del resultado de una
condición. Si la condición es verdadera, se ejecutan una serie de instrucciones, y si resulta falsa, se
ejecutan otra serie de instrucciones diferentes. En esta estructura no se pueden ejecutar ambos
casos a la vez, es decir, son excluyentes.
Esta estructura de decisión es de utilidad cuando la situación que se va a solucionar requiere
evaluar cuál de dos posibles soluciones se va a aplicar.
El formato para diseñar un algoritmo es el siguiente:
SI (Condición)

3.1 Estructuras selectivas


ENTONCES
Instrucciones
SINO
Instrucciones
FINSI
Explicación:
Si la condición resulta verdadera, se ejecutan todas las instrucciones que se encuentran entre el
ENTONCES y SINO.
Si la condición resulta falsa, se ejecutan las instrucciones entre el SINO y FINSI.
Diagrama de Flujo:

3.1.3 Estructura de control de Selección Múltiple


Hasta ahora hemos revisado la estructura de selección que evalúa una condición y realizan una
acción en caso que se cumpla la condición; la estructura de selección que, dependiendo de la
condición, hace una acción si es verdadera y otra acción cuando es falsa.
Pero como vamos a dar una solución a una tarea cuando una condición puede tener múltiples
opciones, es decir, que la condición que se evalúa no sea booleana (verdadero o falso). sino que es
una variable que puede tener múltiples valores.
Para evaluar condiciones que pueden tener más de dos opciones se tiene la estructura de
selección de decisión múltiple “CUANDO... FINCUANDO” que permite alterar la secuencia de un
flujo en un algoritmo ejecutando un bloque de instrucciones que dependen del valor de una
variable. Para esta estructura, generalmente para cada valor posible que pueda adquirir la variable
se define un bloque de instrucciones a ser ejecutadas. Además, se recomienda definir un bloque
de instrucciones a ejecutar para el caso de que ninguno de los valores de la variable tenga
asociado un bloque de instrucciones.
Esta estructura de selección es de utilidad cuando se requiere escoger entre más de dos posibles
soluciones.
El formato para diseñar un algoritmo es el siguiente:
CUANDO (Variable) SEA
CASO (valor 1):
Instrucciones
CASO (valor 2): Instrucciones
CASO (valor n):
Instrucciones
OTROS
Instrucciones
FINCUANDO
Explicación:
Si el valor de la variable es igual a uno de los valores que aparecen en algún CASO, se ejecutan las
instrucciones que están dentro del mismo.
Si el valor de la variable no es igual a ninguno de los valores en algún CASO, se ejecutan las
instrucciones que están dentro delo bloque OTROS.
Nota: El bloque OTROS es opcionales, es decir, puede aparecer o no.
Diagrama de Flujo:

3.2 Estructuras repetitivas


Las estructuras de repetición son bloques que permiten a un algoritmo repetir determinado
segmento de código, de tal forma que, en función de una condición lógica o el valor de una
variable, pueda ser repetido un determinado número de veces.
A las estructuras de control de repetición también se les conoce como estructuras de iteración o
bucles, (loop).

3.2.1 Estructura DESDE


La estructura para repetir “DESDE” es una estructura de control que permite repetir la ejecución
de una instrucción o un bloque de instrucciones un determinado número de veces.
Para lograr tal efecto de repeticiones se usan variables numéricas: Un valor de inicio de
repeticiones que normalmente es uno, ejemplo i=1.
Un valor final de repeticiones definida como una condición, ejemplo i<=10, en este caso el
operador es <= para que la repetición se efectué desde que es 1 hasta que sea 10.
Una variable que definirá el incremento en que se efectuara la iteración, si el valor inicial es 1 y el
valor final es 10 y la variable de incremento es 1, entonces, se harán 10 iteraciones, en caso de que
el incremento sea de 2, entonces, se harán 5 iteraciones.
Cada uno de los parámetros valor inicial, valor final y valor de incremento son definidos y
modificados según la necesidad de las tareas.
El formato para diseñar un algoritmo es el siguiente:
DESDE 1=valor Inicial HASTA valor Final INCREMENTA valor
Instrucción 1;
.
.
Instrucción n;
FINDESDE
La inicialización indica una variable (variable de control) que condiciona la repetición del bucle.
Repaso a las partes de la estructura DESDE:
Esta estructura tiene tres partes:
1. Inicialización: DESDE valor Inicial
Esta parte se ejecuta una sola vez al momento de iniciar la ejecución de la estructura lógica de
repetición DESDE y permite asignar un valor inicial a una variable (ejemplo i=1). Esta variable
funciona como un índice que permite mantener el control sobre el número de veces que se
repiten las instrucciones dentro del bucle DESDE.
2. valor Final
Aquí se evalúa si la variable índice (valor Inicial) es igual a valor Final, es decir, si ya llegó hasta
valor Final. Si la variable índice no es igual a valor Final, se volverá a ejecutar las instrucciones o
bloques de instrucciones. En el caso de que la variable índice sea igual a valor Final, se finalizara la
ejecución del bucle DESDE.
3. Incrementa (decrementa) valor
Cada vez que finaliza la ejecución de las instrucciones o bloque de instrucciones, se ejecuta esta
parte y se incrementa (aumenta) el valor de la variable índice según el valor indicado. También
existe la posibilidad de reducir el valor de la variable utilizando la regla Decrementa.
Diagrama de Flujo:

3.2.2 Estructura MIENTRAS


La estructura “MIENTRAS” permite repetir una instrucción o un bloque de instrucciones mientras
que una condición se cumpla o esta sea verdad, es decir, que él MIENTRAS se utiliza cuando
realmente no sabemos el número de repeticiones que se van a realizar en el bucle, sin embargo, si
sabemos que mientras se cumpla una determinada condición debemos realizar el bucle. cuando
esa condición ya no se cumpla entonces el bucle finalizará.
El formato para diseñar un algoritmo es el siguiente:
MIENTRAS (condición)
Instrucción 1;
.
.
Instrucción n;
FINMIENTRAS
Cuando se ejecuta la estructura MIENTRAS... FINMIENTRAS lo primero que se realiza es la
evaluación de la condición lógica ubicada junto a la regla MIENTRAS.
Una vez que se evalúa la condición lógica, se pueden obtener dos posibles resultados: Si el
resultado es verdadero, se procede a ejecutar las instrucciones que están dentro de la estructura
MIENTRAS... FINMIENTRAS y se vuelve a evaluar la condición lógica. Si el resultado es falso, no se
ejecutan las instrucciones dentro de la estructura MIENTRAS... FINMIENTRAS y se continúa con la
ejecución del algoritmo.
Esto significa que mientras que la evaluación de la condición lógica sea verdadera, se ejecutará la
estructura y que sólo finalizará cuando la evaluación de la condición resulte falsa.
Diagrama de Flujo:

3.2.3 Estructura HACER-MIENTRAS


La estructura “HACER-MIENTRAS” es similar a la estructura MIENTRAS, pero en el MIENTRAS la
condicional lógica de repetición se evalúa al principio del bucle, y en el HACERMIENTRAS la
condición lógica de repetición se realiza al final.
Esta estructura es útil cuando se necesita repetir una instrucción o bloque de instrucciones un
número de veces no determinado, siendo necesario ejecutar la instrucción o bloque de
instrucciones por lo menos una vez.
El formato para diseñar un algoritmo es el siguiente:
HACER
Instrucción 1;
.
.
Instrucción n;
MIENTRAS (condición)
Cuando se ejecuta la estructura HACER-MIENTRAS se ejecutan las instrucciones que están dentro
de la misma. Al final, se realiza la evaluación de la condición lógica ubicada junto a la regla
MIENTRAS.
Una vez evaluada la condición lógica se pueden obtener dos posibles resultados.
Si el resultado es verdadero, se ejecutan nuevamente el bloque de instrucciones que están dentro
de la estructura HACER-MIENTRAS y se evalúa nuevamente la condición lógica.
Si el resultado es falso, se continúa con la ejecución del algoritmo.
Esto significa que la estructura HACER-MIENTRAS se ejecuta por lo menos una vez antes de ser
evaluada la condición lógica. Si la evaluación de la condición lógica resulta verdadera, se vuelve a
ejecutar la estructura, si no, finaliza la ejecución.
Diagrama de Flujo:

También podría gustarte