La Estructura de Control de Algoritmo


La Estructura de Control del 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.

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 aun cuando sólo existen tres tipos fundamentales de estructuras de control que son denominadas Selectiva, Secuencial e 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.

 

 

Los pasos para solucionar problemas de software

No importa qué tipo de aplicación esté implementando, configurando o actualizando, llegará un momento en que…algo no funciona como esperabas. Utilizando sus habilidades para la resolución de problemas, debe llevar a cabo los pasos de resolución de problemas del software que reproducirán el problema, para que luego pueda determinar su causa y las posibles soluciones.

Para seguir de manera efectiva y eficiente los pasos correctos de solución de problemas de software, aquí hay algunos consejos clave que debe considerar.

Análisis del problema

El primer paso, análisis del problema, requiere un estudio a fondo del problema y de todo lo que hace falta para poder abordarlo.

El propósito del análisis de un problema es ayudar al programador (Analista) para llegar a una cierta comprensión de la naturaleza del problema. Una buena definición del problema, junto con una descripción detallada de las especificaciones de entrada/salida, son los requisitos más importantes para llegar a una solución eficaz.

Para realizar el análisis del problema realizamos varios pasos:

 


Definición del problema: Tenemos que entender y comprender la naturaleza del problema, tenemos que dominar los conceptos con los que estamos trabajando y conocer que operaciones hay que realizar para solucionar el problema y obtener la información de salida.

Especificación de los datos de entradaHay que determinar qué datos de entrada necesitamos para resolver el problema.

Especificación de los datos de salida: También hay que determinar los datos de salida que van a ofrecer la

solución del problema.

 


Codificación de un programa

Una vez que los algoritmos de una aplicación han sido diseñados, ya se puede iniciar la fase de codificación. En esta etapa se tienen que traducir dichos algoritmos a un lenguaje de programación específico, en nuestro caso C; es decir, las acciones definidas en los algoritmos las vamos a convertir en instrucciones, también llamadas sentencias, del lenguaje C.

Ejemplo: Al codificar en C el algoritmo del programa Sumar, visto en el apartado anterior (Diseño), se escribirá algo parecido a:

Para codificar un algoritmo hay que conocer la sintaxis del lenguaje al que se va a traducir. Sin embargo, independientemente del lenguaje de programación en que esté escrito un programa, será su algoritmo el que determine su lógica. La lógica de un programa establece cuáles son sus acciones y en qué orden se deben ejecutar. Por tanto, es conveniente que todo programador aprenda a diseñar algoritmos antes de pasar a la fase de codificación.

Ejecución

Se denomina tiempo de ejecución al intervalo de tiempo en el que un programa de computadora se ejecuta en un sistema operativo. Este tiempo se inicia con la puesta en memoria principal del programa, por lo que el sistema operativo comienza a ejecutar sus instrucciones. El intervalo finaliza en el momento en que este envía al sistema operativo la señal de terminación, sea esta una terminación normal, en que el programa tuvo la posibilidad de concluir sus instrucciones satisfactoriamente, o una terminación anormal, en el que el programa produjo algún error y el sistema debió forzar su finalización.

·         El botón Comenzar del panel sirve para iniciar la ejecución automática. Cuando lo utilice, el algoritmo comenzará a ejecutarse automáticamente, avanzando de una instrucción a intervalos de tiempo regulares. Cada instrucción que se vaya ejecutando según el flujo del programa se irá seleccionando en el código de dicho algoritmo indicando además la línea con una flecha verde o amarilla sobre el margen izquierdo del pseudocódigo. La velocidad con que avanza la ejecución del algoritmo puede ajustarse desplazando el control rotulado como Velocidad en el panel.

·         Otra forma de comenzar la ejecución paso a paso es utilizar el botón Primer Paso del mismo panel. Este botón iniciará la ejecución, pero a diferencia de Comenzar no avanzará de forma automática, sino que se parará sobre la primera línea del programa y esperará a que el usuario avance manualmente cada paso con el mismo botón (que pasará a denominarse Avanzar un Paso).

·         Cuando el intérprete llega a una instrucción que involucra una llamada a un subproceso, puede avanzar directamente a la siguiente línea (ejecutando todo el subproceso como una única unidad a modo de caja negra, sin reflejar cómo es el flujo de ejecución dentro del mismo), o puede avanzar línea por línea dentro del subproceso. Esto depende del estado del cuadro Entrar en subprocesos.

·         El botón Pausar/Continuar sirve para detener momentáneamente la ejecución automática del algoritmo y reanudarla nuevamente después. Detener el algoritmo puede servir para analizar el código fuente, o para verificar qué valor tiene asignado una variable o cuanto valdría una determinada expresión en ese punto.

·         Para determinar el valor de una variable o expresión, una vez pausada la ejecución paso a paso, utilice el botón Evaluar.... Aparecerá una ventana donde podrá introducir cualquier nombre de variable o expresión arbitraria (incluyendo funciones y operadores), para luego observar su valor. Una forma rápida de observar el valor de una variable consiste en hacer clicks con el botón derecho del ratón sobre la misma en el panel de variables (ubicado en el margen izquierdo de la ventana).

·         Si desea analizar cómo evolucionan uno o más variables a lo largo de la ejecución del algoritmo, puede activar la Prueba de escritorio. Esta opción genera una tabla donde las columnas representan variables o expresiones, y las filas los distintos estados ordenados por los que pasa el programa a medida que se va ejecutando. Para añadir variables, antes de empezar la ejecución paso a paso, pulsamos el botón Agregar....

Recorrido de la prueba de escritorio

Una prueba de escritorio es la comprobación lógica, de un algoritmo de resolución. Para desarrollar la prueba de escritorio, se utilizará el siguiente procedimiento:

·         Con datos de prueba, se seguirán cada uno de los pasos propuestos en el algoritmo de resolución.

·         Si la prueba de escritorio genera resultados óptimos, quiere decir que el algoritmo posee una lógica adecuada, en caso contrario el algoritmo tendrá que ser corregido.



Comentarios

Entradas populares de este blog

DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO