lunes, 18 de febrero de 2013

EJEMPLO BASICO




 En la aplicación contaremos con un módulo para realizar operaciones con artículos, como dar de alta y de baja un producto, visualizarlos en pantalla, vender un determinado número de ejemplares o reponer stock de ese producto. La estructura de los datos correspondientes a un producto de dicho comercio sería:

Programación estructurada. Ejemplo práctico 3 (primera parte)


También contaremos con estructuras que agrupen la información relativa a los libros por un lado y a las películas por otro, de forma que pueda consultarse el código de producto por el autor de un libro, el director de una película o por sus nombres, así como dar de alta y de baja los libros y películas. Por ejemplo, las estructuras libro y DVD podrían ser:
Programación estructurada. Ejemplo práctico 3 (primera parte)

Así, la única relación entre la estructura articulo y la descripción del mismo en la estructura libro o DVD es el mismo valor  del campo cod_art. De esta forma, es el programa principal el que se encarga de relacionarlos. La estructura en forma de árbol de las librerías de nuestra aplicación quedaría de la siguiente forma:

Progamación estructurada. Ejemplo práctico 3 (segunda parte)

Se podría haber optado por incluir un campo en la estructura de tipo articulo que se correspondiera con los datos del libro o DVD. Así descargamos al programa principal de la responsabilidad de relacionar ambas estructuras mediante el código del artículo y podríamos mostrar la información sobre el precio y stock junto con los detalles del libro o DVD, o dar de alta/baja simultáneamente a la estructura articulo y al libro/DVD. La estructura articulo resultante sería:


Progamación estructurada. Ejemplo práctico 3 (segunda parte)


Y entonces la jerarquía de las librerías de nuestra aplicación sería completamente diferente:
Progamación estructurada. Ejemplo práctico 3 (tercera parte)



A partir de ahora supondremos que, en este ejemplo, optamos por la primera de las dos asociaciones posibles: artículos y libros/dvd. Empezaremos por definir el archivo de declaración articulo.h con la estructura articulo y la cabecera de las funciones que implementa:


Progamación estructurada. Ejemplo práctico 3 (tercera parte)

Progamación estructurada. Ejemplo práctico 3 (tercera parte)

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.







INTRODICCION



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á.

¿Qué es Programación estructurada?



La idea central de la programación estructurada es que las estructuras de control deben tener un punto de entrada y uno de salida ósea hay un inicio y un fin perfectamente bien definido de acuerdo al diagrama de flujo que se planteó al concebir la idea del programa.

Un programa bien estructurado debería tener algún subprograma que capture cualquier error dentro del programa principal de tal modo que el subprograma que captura los errores genere un registro de datos que describa el error generado para posteriormente corregirlo.

Ventajas de la programación estructurada



Ventajas de la programación estructurada comparada con el modelo anterior (hoy llamado despectivamente código espagueti).
 Los programas son más fáciles de entender, pueden ser leídos de forma secuencial, no hay necesidad de hacer engorrosos seguimientos en saltos de líneas (GOTO) dentro de los bloques de código para intentar entender la lógica.La estructura de los programas es clara, puesto que las instrucciones están más ligadas o relacionadas entre sí.Reducción del esfuerzo en las pruebas y depuración. El seguimiento de los fallos o errores del programa ("debugging") se facilita debido a su estructura más sencilla y comprensible, por lo que los errores se pueden detectar y corregir más fácilmente.Reducción de los costos de mantenimiento. Análogamente a la depuración, durante la fase de mantenimiento, modificar o extender los programas resulta más fácil.Los programas son más sencillos y más rápidos de confeccionar.Se incrementa el rendimiento de los programadores, comparada con la forma anterior que utiliza GOTO.

miércoles, 6 de febrero de 2013

Orígenes de la programación estructurada


A finales de los años 1970 surgió una nueva forma de programar que no solamente daba lugar a programas fiables y eficientes, sino que además estaban escritos de manera que facilitaba su mejor comprensión, no sólo proveyendo ventajas durante la fase de desarrollo, sino también posibilitando una más sencilla modificación posterior.

Fundamentación teórica


El teorema del programa estructurado proporciona la base teórica de la programación estructurada. Señala que tres maneras de combinar programas son suficientes para expresar cualquier función computable: secuencia, selección, e iteracción. Esta observación no se originó con el movimiento de la programación estructurada; Estas estructuras son suficientes para describir el ciclo de instrucción de una unidad central de procesamiento, así como el funcionamiento de una máquina de Turing. Por lo tanto un procesador siempre siempre está ejecutando un "programa estructurado" en este sentido, incluso si las instrucciones que lee de la memoria no son parte de un programa estructurado. Sin embargo, los autores usualmente acreditan el resultado a un documento de 1966 por Böhm y Jacopini, posiblemente porque Dijkstra había citado este escrito. El teorema del programa estructurado no responde a cómo escribir y analizar un programa estructurado de manera útil. Estos temas fueron abordados durante la década de 1960 y principio de los años 1970, con importantes contribuciones de Dijkstra, Robert W. Floyd, Tony Hoarey, y David Gries.