
9 minute read
ESTRUCTURA DE CONTROL DEL ALGORITMO
Las Estructura de Control de Algoritmo, son las estructuras que contienen las instrucciones que permiten romper la secuencialidad de la ejecución de un programa; esto significa que una estructura de control permite que se realicen unas instrucciones y omitir otras, de acuerdo a la evaluación de una condición.
Todas las estructuras de control tienen un único punto de entrada. Las estructuras de control se pueden clasificar en: secuenciales, iterativas y de control avanzadas. Esta es una de las cosas que permiten que la programación se rija por los principios de la programación estructurada.
Advertisement
Los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis; cada lenguaje tiene una sintaxis propia para expresar la estructura.
Las denominadas estructuras de control poseen las siguientes características:
Una estructura de control tiene un único punto de entrada y un único punto de salida.
Una estructura de control se compone de sentencias o de otras estructuras de control.
Tales características permiten desarrollar de forma muy flexible todo tipo de algoritmos aún cuando sólo existen tres tipos fundamentales de estructuras de control ques son denominadas Selectiva, Secuencial y Interactiva.
A lo largo de esta revista se presentarán las distintas estructuras de control, la forma de representarlas para poder utilizarlas en nuestros programas.
ESTRUCTURA EN UN DIAGRAMA DE FLUJO ESTRUCTURAS DE CONTROL:

ESTRUCTURA EN PSEUDOCÓDIGO:

ESTRUCTURA DE CONTROL: SELECTIVA
Las Estructuras Selectivas también conocidas como Estructuras Condicionales, es una estructura de control de flujo que permite que desarrollemos lo que se conoce como lógica de programación. Por decir de otra manera son aquellas que dirigen la ejecución de un programa hacia un grupo de sentencias del resultado de la condición.
Esta permite bifurcar el “flujo ” del programa en función de una expresión lógica, es decir, que permiten escoger entre dos o más acciones, estás evalúan una condición y ejecutan una sentencia, pero no se ejecutan todas al mismo tiempo.
Según el control que se realice, las estructuras selectivas pueden clasificarse como:
Selectiva Simple. Selectiva Doble. Selectiva Anidadas. Selectiva Múltiple.
Estructura Selectiva Simple
La estructura selectiva simple es aquella que evalua la condición, por verdadera ejecuta una instrucción y si es falsa no ejecuta ninguna instrucción.
Este tipo alternativa es la más simple de todas, permite evaluar una expresión lógica y en función de dicha evaluación ejecutar una acción, composición de acciones o no ejecutarla; también se la suele denominar SI-ENTONCES.
Representación de una Selectiva Simple
En la sección de abajo se encuentran un ejemplo de comó representar una Selectiva Simple usando el diagrama de flujo y pseudocódigo.




Estructura Selectiva Doble
La estructura Selectiva doble es similar a la anterior con la salvedad de que en este tipo de estructura se indican acciones no sólo para la rama “ verdadera ” sino también para la “falsa ” ; es decir, en caso de la expresión lógica evaluada sea cierta se ejecutan una acción o grupo de acciones y en caso de que sea falsa se ejecuta un grupo diferente.
Se creó debido a que la Estructura Selectiva Simple es muy limitada. Esta estructura acepta dos opciones, de esta forma siempre va a ocurrir algo porque se va a evaluar una condición, si es verdadera, entonces ejecuta una sentencia, si es falsa, se ejecuta otra.
Se le denomina Selectiva Doble pues existen dos caminos, a estos se le suele denominar también bifurcación pues el control del flujo se dirige hacia una rama de dos posibles.
Representación de una Selectiva Doble
En la sección de abajo se encuentran un ejemplo de cómo representar una Selectiva Doble usando el diagrama de flujo y pseudocódigo.
Estructura Selectiva Anidadas
Tal como se ha planteado, la Estructura Selectiva permite tomar decisiones sobre el control de flujo. Si se desea tomar la decisión de ejecutar o no un conjunto de instrucciones, se puede usar una Selectiva Simple. Además, si se desea decidir la ejecución de entre dos conjunto de instrucciones, podemos usar una Selectiva Doble. Pero, si se quiere tomar decisiones sobre más de dos conjuntos de instrucciones se debe usar la Estructura Selectiva Anidada también denominada Estructura Selectiva Compuesta.
En el diseño algorítmico, la anidación no es más que la inclusión de una o más estructuras de determinado tipo en otra estructura del mismo tipo. En nuestro caso, la Estructura Selectiva Anidada no es más que usar una Estructura Selectiva dentro de otra Estructura Selectiva.
Representación de una Selectiva Anidada
En la sección de abajo se encuentran un ejemplo de cómo representar una Selectiva Anidada usando el diagrama de flujo y pseudocódigo.




Estructura Selectiva Múltiple
Como vemos, siempre habrá un punto en donde tengamos múltiples opciones, para resolver este problema utilizamos una estructura de alternativas múltiples ya que en ocasiones puede ser más cómodo de utilizar, luego veremos que también lo podemos hacer con Selectivas Dobles Anidadas. La Selectiva Múltiple (según-hacer-caso) va a evaluar una condición que podrá tomar distintos valores, según sea el resultado de esta condición, se va a ejecutar una acción específica.
La Estructura Selectiva Múltiple permite al algoritmo tomar la decisión de ejecutar un conjunto de instrucciones de entre varios disponibles. En esencia, tiene la misma finalidad que la Estructura Selectiva Anidada, pero para poder usarla, hay que tener en consideración lo siguiente:
Cada conjunto de instrucciones tiene asociado uno o más valores, cuando el selector tome el valor asociado con este conjunto, sus instrucciones se ejecutarán. En la Selectiva Múltiple no existen condiciones, sino una variable, denominada muchas veces selector, a través de la cuál el algoritmo comparará su valor. En las implementaciones de la Estructura Selectiva Múltiple en los lenguajes de programación, esta variable selector debe ser de tipo ordinal (como los enteros, los caracteres y los enumerados).
La Estructura Selectiva Múltiple es un caso particular de la Estructura Selectiva Anidada. Se da cuando la variable usada en el condición es ordinal y además la condición es una simple operación relacional de comparación. Por esto su uso es muy reducido a cierto tipo de situaciones como los menú de opciones por ejemplo.
Representación de una Selectiva Múltiple
En la sección de abajo se encuentran un ejemplo de cómo representar una Selectiva Múltiple usando el diagrama de flujo y pseudocódigo.


ESTRUCTURA DE CONTROL: SECUENCIAL
La Estructura Secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.
La Estructura Secuencial es la más sencilla de todas, simplemente indica al procesador que debe ejecutar de forma consecutiva una lista de acciones, que pueden ser, a su vez, otras estructuras de control; para construir una secuencia de acciones basta con escribir cada acción en una linea diferente.
La Estructura Secuencial tiene
La Asignación: Consiste en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La Lectura: Consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor.
Escritura: Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje.
Representación de una Estructura Secuencial
En la sección de abajo se encuentran un ejemplo de cómo representar una Estructura Interactiva usando el diagrama de flujo y pseudocódigo.



ESTRUCTURA DE CONTROL: INTERACTIVA
Una Estructura Iterativa es una secuencia de instrucciones destinada a ejecutarse varias veces, a esta estructura se les denomina ciclo, lazo o bucle..
El objetivo de un bucle es repetir un bloque de instrucciones varias veces. Según el tipo de bucle, este bloque se va a repetir un número fijo de veces (n veces) o según un determinado número de criterios (una prueba de una o varias condiciones), que ahora conoce muy bien
También es conocida como Estructura Repetitiva porque permite repetir una acción o grupo de acciones; dicha repetición puede llevarse a cabo un número prefijado de veces o depender de la evaluación de una expresión lógica.
La opción al uso de esta Estructura Iterativa es el uso de la recursividad en funciones. Estas implican una escritura más sencilla (corta), tanto para su implementación como para su entendimiento, pero en contraparte, utilizan mucho más recursos de sistema que una iteración debido a que necesitan, además del uso del procesador, la pila del sistema para " apilar " los diversos ámbitos de cada función.
Representación de una Estructura Interactiva
En la sección de abajo se encuentran un ejemplo de cómo representar una Estructura interactiva usando el diagrama de flujo y pseudocódigo.



ALGORITMO DE BÚSQUEDA: SECUENCIAL Y BINARIO
Un algoritmo de búsqueda en Internet es un conjunto de instrucciones que describen el procedimiento a seguir para lograr encontrar un resultado determinado y concreto en la red, dentro de una estructura de datos de mayor envergadura.
Está diseñado para localizar un elemento concreto dentro de una estructura de datos. Además de solucionar un problema de existencia o no de un elemento determinado en un conjunto finito de elementos, es decir, si el elemento en cuestión pertenece o no a dicho conjunto, localizandolo dentro de éste.
Búsqueda secuencial
Consiste en ir comparando el elemento a buscar con cada elemento del vector hasta encontrarlo o hasta que se llegue al final, esto hace que la búsqueda sea secuencialmente (de ahí su nombre). La existencia se puede asegurar cuando el elemento es localizado, pero no podemos asegurar la no existencia hasta no haber analizado todos los elementos del vector. Se utiliza sin importar si el vector está previamente ordenado o no.
Búsqueda binaria (dicotómica)
Se utiliza cuando el vector en el que queremos determinar la existencia de un elemento está previamente ordenado. Este algoritmo reduce el tiempo de búsqueda considerablemente, ya que disminuye exponencialmente el número de iteraciones necesarias.
Eficiente para encontrar un elemento en una lista ordenada de elementos. Funciona al dividir repetidamente a la mitad la porción de la lista que podría contener al elemento, hasta reducir las ubicaciones posibles a solo una.


BÚSQUEDA BINARIA.
