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 entrada: Hay 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
Publicar un comentario