Monografias | Programación EstructuradaProgramación EstructuradaResumen: La computadora automática debe su derecho a existir, su utilidad, precisamente a su capacidad de efectuar vastos cálculos que no pueden realizar los seres humanos. Deseamos que la computadora efectúe lo que nunca podríamos hacer nosotros, y la potencia de las maquinas actuales es tal, que inclusive los cálculos pequeños, por su tamaño, escapan al poder de nuestra imaginación limitada. INTRODUCCION La computadora automática debe su derecho a existir, su
utilidad, precisamente a su capacidad de efectuar vastos cálculos que no pueden
realizar los seres humanos. Deseamos que la computadora efectúe lo que nunca
podríamos hacer nosotros, y la potencia de las maquinas actuales es tal, que
inclusive los cálculos pequeños, por su tamaño, escapan al poder de nuestra
imaginación limitada. Sin embargo debemos organizar el calculo de manera tal que
nuestros limitados poderes sean suficientes para asegurar que se establecerá el
efecto deseado. Esta organización incluye la composición de los programas. Los avances en la tecnología siempre van parejos con
progresos en los lenguajes de programación y con nuevas ayudas para simplificar
el uso del computador, con lo cual un numero mayor de usuarios se beneficia del.
Pero la necesidad de hacer programas para resolver problemas específicos quizás
nunca desaparecerá. CONCEPTO DE PROGRAMACION ESTRUCTURADA EL creciente empleo de los computadores ha conducido a
buscar un abaratamiento del desarrollo des software, paralelo a la reducción del
costo del hardware obtenido gracias a los avances tecnológicos. Los altos costos
del mantenimiento de las aplicaciones en producción normal también han urgido la
necesidad de mejorar la productividad del personal de programación. En la década del sesenta salieron a la luz publica los
principios de lo que más tarde se llamo Programación Estructurada,
posteriormente se libero el conjunto de las llamadas "Técnicas para mejoramiento
de la productividad en programación" (en ingles Improved Programming
Technologies, abreviado IPTs), siendo la Programación Estructurada una de ellas. Los programas computarizados pueden ser escritos con un alto
grado de estructuración, lo cual les permite ser mas fácilmente comprensibles en
actividades tales como pruebas, mantenimiento y modificación de los mismos.
Mediante la programación Estructurada todas las bifurcaciones de control de un
programa se encuentran estandarizadas, de forma tal que es posible leer la
codificación del mismo desde su inicio hasta su terminación en forma continua,
sin tener que saltar de un lugar a otro del programa siguiendo el rastro de la
lógica establecida por el programador, como es la situación habitual con
codificaciones desarrolladas bajo otras técnicas. EN programación Estructurada los programadores deben
profundizar mas que lo usual al procederá realizar el diseño original del
programa, pero el resultado final es más fácil de leer y comprender, el objetivo
de u programador profesional al escribir programas de una manera estructurada,
es realizarlos utilizando solamente un numero de bifurcaciones de control
estandarizados. EL resultado de aplicar la sistemática y disciplinada manera
de elaboración de programas establecida por la Programación Estructurada es una
programación de alta precisión como nunca antes había sido lograda. Las pruebas
de los programas, desarrollados utilizando este método, se acoplan mas
rápidamente y el resultado final con programas que pueden ser leídos, mantenidos
y modificados por otros programadores con mucho mayor facilidad. DEFINICIONES Programación Estructurada es una técnica en la cual la
estructura de un programa, esto es, la interpelación de sus partes realiza tan
claramente como es posible mediante el uso de tres estructuras lógicas de
control: Estos tres tipos de estructuras lógicas de control pueden ser
combinados para producir programas que manejen cualquier tarea de procesamiento
de información. Un programa estructurado esta compuesto de segmentos, los
cuales puedan estar constituidos por unas pocas instrucciones o por una pagina o
más de codificación. Cada segmento tiene solamente una entrada y una salida,
estos segmentos, asumiendo que no poseen lazos infinitos y no tienen
instrucciones que jamas se ejecuten, se denominan programas propios. Cuando
varios programas propios se combinan utilizando las tres estructuras básicas de
control mencionadas anteriormente, el resultado es también un programa propio. La programación Estructurada esta basada en el Teorema de la
Estructura, el cual establece que cualquier programa propio (un programa con una
entrada y una salida exclusivamente) es equivalente a un programa que contiene
solamente las estructuras lógicas mencionadas anteriormente. Una característica importante en un programa estructurado es
que puede ser leído en secuencia, desde el comienzo hasta el final sin perder la
continuidad de la tarea que cumple el programa, lo contrario de lo que ocurre
con otros estilos de programación. Esto es importante debido a que, es mucho más
fácil comprender completamente el trabajo que realiza una función determinada,
si todas las instrucciones que influyen en su acción están físicamente contiguas
y encerradas por un bloque. La facilidad de lectura, de comienzo a fin, es una
consecuencia de utilizar solamente tres estructuras de control y de eliminar la
instrucción de desvío de flujo de control, excepto en circunstancias muy
especiales tales como la simulación de una estructura lógica de control en un
lenguaje de programación que no la posea. VENTAJAS POTENCIALES Un programa escrito de acuerdo a estos principios no
solamente tendrá una estructura, sino también una excelente presentación. Un programa escrito de esta forma tiende a ser mucho más
fácil de comprender que programas escritos en otros estilos. La facilidad de comprensión del contenido de un programa
puede facilitar el chequeo de la codificación y reducir el tiempo de prueba y
depuración de programas. Esto ultimo es cierto parcialmente, debido a que la
programación estructurada concentra los errores en uno de los factores más
generador de fallas en programación: la lógica. Un programa que es fácil para leer y el cual esta compuesto
de segmentos bien definidos tiende a ser simple, rápido y menos expuesto a
mantenimiento. Estos beneficios derivan en parte del hecho que, aunque el
programa tenga una extensión significativa, en documentación tiende siempre a
estar al día, esto no suele suceder con los métodos convencionales de
programación. La programación estructurada ofrece estos beneficios, pero no
se la debe considerar como una panacea ya que el desarrollo de programas es,
principalmente, una tarea de dedicación, esfuerzo y creatividad. TEOREMA DE LA ESTRUCTURA El teorema de la estructura establece que un programa propio
puede ser escrito utilizando solamente las siguientes estructuras lógicas de
control: secuencia, selección e iteración. Un programa de define como propio si cumple con los dos
requerimientos siguientes: Las tres estructuras lógicas de control básicas, se definen
de la siguiente forma: Secuencia: es simplemente la formalización de la idea de
que las instrucciones de un programa son ejecutadas en el mismo orden en que
ellas aparecen en el programa. En términos de diagrama de flujo la secuencia es
representada por una función después de la otra, como se muestra a continuación. A y B pueden ser instrucciones sencillas hasta módulos
completos, lo importante es que sean programas propios, independientemente de su
tamaño o complejidad interna. Ay B deben ser programas propios en el sentido en
que estos fueron definidos, es decir, que posean solamente una entrada y una
salida; la combinación de A seguida por B es también un programa propio, ya que
esta unión tiene una entrada y una salida exclusivamente, esto se muestra
gráficamente en la figura siguiente: Donde la caja externa sugiere que la combinación de A seguida
de puede ser tratada como una unidad para propósitos de control. Selección: Es la escogencia entre dos acciones tomando la
decisión en base al resultado de evaluar un predicado. Esta estructura de
control es denominada usualmente IFTHENELSE. La representación en forma de
diagrama de flujo de esta estructura lógica de control se muestra a
continuación: F Donde P es predicado y A y B son las dos funciones. Iteración: Esta estructura lógica es utilizada para que
se repita la ejecución de un conjunto de instrucciones mientras se cumpla una
condición o predicado. Generalmente a esta estructura se le conoce como DOWHILE
(hacer mientras) y su representación se muestra a continuación: V F donde P es predicado y A es el modulo controlado. Se debe comprender claramente que un rectángulo, que
representa un modulo en un diagrama, siempre puede ser sustituido por cualquiera
de las tres estructuras de control descritas anteriormente; por ejemplo, veamos
el diagrama siguiente: En él, la línea punteada limita un rectángulo que contiene
una estructura, que a su vez controla dos módulos X y Y. La estructura limitada
por la línea punteada es sustituida por una función quedando de la siguiente
forma: V F es decir, una función sustituye a una estructura lógica de
control o viceversa. OTRAS ESTRUCTURAS LOGICAS DE CONTROL Aunque todos los programas pueden ser escritos utilizando
solamente las tres estructuras de control descritas anteriormente, es algunas
veces, conveniente utilizar algunas estructuras adicionales; a continuación se
hará una descripción de esas formas lógicas de control diferentes a las ya
definidas: El Dountil: La estructuras de iteración básica es el
DOWHILE, pero existe una estructura que es muy parecida a ella y que aveces es
usada, dependiendo del proceso que se este tratando de representar y de las
características apropiadas en el lenguaje con el cual se esta trabajando, esta
forma de control es la que se llama DOUNTIL, cuya representación gráfica en
forma de diagrama de flujo se muestra a continuación: V Donde A es el modulo controlado y P el predicado. La diferencia entre el DOWHILE y el DOUNTIL es que en el
primero el predicado es probado antes de ejecutar la función, si el predicado es
falso la función no es ejecutada; mientras que en el segundo, el predicado es
probado después de ejecutar la función, o sea, que la función siempre será
ejecutada al menos una vez, independientemente si el predicado es cierto o
falso. La estructura CASE: Algunas veces resulta de gran
ayuda, desde el punto de vista de eficiencias y facilidad de lectura de un
programa, tener alguna forma de expresar una desviación del flujo de control
hacia múltiples procesos en función del resultado de la evaluación de un
predicado; usualmente, a la estructura de control que satisface el requerimiento
anterior, se le denomina la estructura CASE. Por ejemplo, si es necesario
ejecutar una de cien rutinas diferentes en función del valor de un código de 2
dígitos, podemos representar este proceso mediante 100 estructuras IF,
sin embargo el sentido común nos induce a pensar que no hay razón para
adherirnos rígidamente a las tres estructuras básicas de control y en lugar de
100 IF usaríamos la estructura CASE. Esta estructura utiliza el valor de una variable para
determinar cual, de varias rutinas, será ejecutada. La representación gráfica de
esta estructura de control se muestra a continuación: En cada lenguaje será necesario establecer cuales son las
instrucciones que, en forma conveniente y eficiente, realizan funciones
establecidas por las diferentes estructuras lógicas de control. ETIQUETAS E INSTRUCCIÓN GOTO: Ocasionalmente se habla de la programación estructurada como
una técnica de programación que no utiliza GOTO(instrucción de desvío del flujo
de control en forma incondicional); si bien es cierto que un programa bien
estructurado tiene, o bien ninguna o muy pocas instrucciones GOTO, asumiendo que
estamos empleando un lenguaje de programación adecuado, la ausencia de
instrucciones GOTO puede ser mal interpretada. Es conveniente que aclaremos este
aspecto en este momento. Un programa bien estructurado gana una parte importante de su
fácil comprensión del hecho que puede ser leído en forma secuencial sin desvíos
en el flujo de control desde una parte del programa a otra. Esta característica
es consecuencia de usar exclusivamente las estructuras lógicas de control
estándar (el GOTO no es una de ellas), esta secuencialidad o lectura TOPDOWN es
beneficiosa debido a que hay un limite definido para muchos detalles que la
mente humana puede abarcar de una vez. Se hace relativamente fácil y rápida la
comprensión de la tarea que realiza una instrucción si su función puede ser
entendida en términos de unas pocas instrucciones mas, físicamente contiguas y
delimitadas. El problema con la instrucción GOTO es que generalmente aleja
al programa realizado de los propósitos descritos y en casos extremos puede
hacer que un programa sea esencialmente incomprensible. No se requieren esfuerzos especiales para eliminar de un
programa los GOTO, los cuales han sido, algunas veces, malentendidos como
enemigos de la programación estructurada, existen buenas y fundadas razones para
no querer usarlos pero no se necesita que se realice un trabajo arduo para
eliminarlo; ellos no aparecerán, en general, cuando se utilicen las estructuras
lógicas de control, descritas anteriormente. Naturalmente, si escogemos para
programar un lenguaje de computación que no posea las estructuras lógicas de
control fundamentales, entonces, tendremos que simularlas y seguramente ello
implicara el uso de la instrucción GOTO; pero este uso puede hacerse en forma
cuidadosamente controlada. Existen situaciones poco comunes en las cuales el uso de GOTO
puede tener ventajas comparado con otras maneras de expresar un proceso; estos
casos son excepcionales y usualmente no ocurren en la programación realizada
diariamente. Se deben analizar cuidadosamente las consecuencias de emplear
el GOTO, antes de su uso. SEGMENTACION Para la comprensión de un programa se haga en forma fácil y
rápida es necesario que, al revisarlo, uno no tenga que hojear una gran cantidad
de paginas para entender cuales el trabajo que realiza. Una regla practica para
lograr estos fines es establecer que cada segmento del programa no exceda, en
longitud, a una pagina de codificación, o sea, alrededor de 50 líneas (el
significado que se asigna al termino segmento, en este trabajo, no tiene ninguna
relación con su significado en relación a las funciones de sistemas operativos o
sistemas maneadores de Bases de Datos). La segmentación no es solamente particionar un programa en
trozos cuya longitud sea de unas 50 líneas; esta técnica debe cumplir con
ciertas características fundamentales: IDENTACION El uso de la identacion es importante debido a que,
cuando se es consistente en su utilización, facilita la lectura del
programa al mostrar en una forma gráfica las relaciones existentes entre
las distintas instrucciones. La identacion puede ser de gran beneficio, tal como
se muestra continuación, donde ambos programas realizan la misma
función, pero el de la derecha es más fácil de comprender, verificar y
corregir. DIRECTRICES PAR IDENTAR Debe comprenderse claramente que las líneas
siguientes solo pretenden presentar unas directrices de identacion, sin
pretender que estas sean las únicas reglas a seguir en este proceso,
cada centro de procesamiento deberá establecer sus propias convenciones,
sin que sea motivo de preocupación la diferencia respecto a las
sugerencias dadas aquí, lo importante es que se establezcan unas normas
y se cumplan de manera consistente. Las siguientes son sugerencias para el desarrollo de
una política de identacion en un centro de procesamiento, la idea
fundamental es ayudar a que el lector de un programa le sea fácil
comprender las relaciones y las funciones existentes en él: VENTAJAS DE LA PROGRAMACION ESTRUCTURADA Con la programación estructurada elaborar programas
de computador sigue siendo un albor que demanda esfuerzo, creatividad,
habilidad y cuidado. Sin embargo, con este nuevo estilo podemos obtener
las siguientes ventajas: CONCLUSIÓN El presente glosario fue desarrollado con el propósito de que
sirviera de apoyo a los estudiantes del área de la computación y de otras áreas
que utilicen la computación e informática como herramienta. BIBLIOGRAFIA SANDERS, Donal H.,¨ Informática presente y futuro ¨ Editorial McGraw Hill, México. LOZANO, Letvin R., ¨ Diagramación y programación ¨ Editorial McGraw Hill, México. NORTON, Peter., ¨ Introducción a la computación ¨ Editorial McGraw Hill, México. FREEDMAN, Alan., ¨ Diccionario de computación ¨ Editorial McGraw Hill, Quinta edición, México. Trabajo enviado por: Publicación enviada por H. Cabrera Contactar mailto:hcabrera@cantv.net Código ISPN de la Publicación EpZVVElFFpQOFjXGsW Publicado Friday 30 de January de 2004 Ultimas Publicaciones en ilustrados.com
ilustrados.com nace con el fin difundir el conocimiento publicando trabajos de investigación, monografias, tesis, presentaciones powerpoint y afines. Publicar trabajos en ilustrados.com ha alcanzado prestigio y reconocimiento internacional siendo cada vez más el número de académicos, empresas, investigadores, científicos que consultan las publicaciones de nuestro portal. | |||||||||