Sei sulla pagina 1di 5

Tcnicas de programacin Las tcnicas de programacin constituyen una parte fundamental en el proceso de desa rrollo e ingeniera del software

dentro del mbito informtico. Cada tcnica tiene sus propias caractersticas, y distintos mtodos de resolucin de pro blemas, as como la implementacin de estndares de ciertas compaas o instituciones, y e s de gran importancia aprender a implementarlas a la hora de adentrarse en la ev olucin de cualquier proyecto de desarrollo de software. En este tema, nos adentraremos en varias tcnicas de programacin que son aplicadas con frecuencia para segmentar un proyecto a mediana, pequea o gran escala, en pro blemas ms simples que un grupo de trabajo o incluso un slo programador, puede reso lver. Tcnicas de programacin a estudiar * * * * Programacin Programacin Programacin Programacin modular. estructurada. orientada a objetos. basada en modelos matemticos.

Programacin modular La programacin modular es un paradigma de programacin que consiste en dividir un p rograma en mdulos o subprogramas con el fin de hacerlo ms legible y manejable. Se presenta histricamente como una evolucin de la programacin estructurada para sol ucionar problemas de programacin ms grandes y complejos de lo que sta puede resolve r. Al aplicar la programacin modular, un problema complejo debe ser dividido en vari os subproblemas ms simples, y estos a su vez en otros subproblemas ms simples. Est o debe hacerse hasta obtener subproblemas lo suficientemente simples como para p oder ser resueltos fcilmente con algn lenguaje de programacin. sta tcnica se llama re finamiento sucesivo, divide y vencers anlisis descendente (Top-Down). Un mdulo es cada una de las partes de un programa que resuelve uno de los subprob lemas en que se divide el problema complejo original. Cada uno de estos mdulos ti ene una tarea bien definida y algunos necesitan de otros para poder operar. En c aso de que un mdulo necesite de otro, puede comunicarse con ste mediante una inter faz de comunicacin que tambin debe estar bien definida. Si bien un mdulo puede entenderse como una parte de un programa en cualquiera de sus formas y variados contextos, en la prctica es comn representarlos con procedim ientos y funciones. Adicionalmente, tambin pueden considerarse mdulos las libreras que pueden incluirse en un programa o, en programacin orientada a objetos, la imp lementacin de un tipo de dato abstracto. La programacin estructurada Es una forma de escribir programas de ordenador (programacin de computadora) de m anera clara. Para ello utiliza nicamente tres estructuras: secuencia, seleccin e i teracin; siendo innecesario el uso de la instruccin o instrucciones de transferenc ia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o mltiples RETURN). Hoy en da las aplicaciones informticas son mucho ms ambiciosas que las necesidades de programacin existentes en los aos 1960, principalmente debido a las aplicacione s grficas, por lo que las tcnicas de programacin estructurada no son suficientes. E llo ha llevado al desarrollo de nuevas tcnicas, tales como la programacin orientad

a a objetos y el desarrollo de entornos de programacin que facilitan la programac in de grandes aplicaciones.

Orgenes de la programacin estructurada A finales de los aos 1960 surgi una nueva forma de programar que no solamente daba lugar a programas fiables y eficientes, sino que adems estaban escritos de maner a que facilitaba su comprensin posterior. El teorema del programa estructurado, demostrado por Bhm-Jacopini, demuestra que todo programa puede escribirse utilizando nicamente las tres instrucciones de con trol siguientes: * Secuencia * Instruccin condicional. * Iteracin (bucle de instrucciones) con condicin al principio. Solamente con estas tres estructuras se pueden escribir todos los programas y ap licaciones posibles. Si bien los lenguajes de programacin tienen un mayor reperto rio de estructuras de control, stas pueden ser construidas mediante las tres bsica s. Estructura secuencial Una estructura de programa es secuencial si se ejecutan una tras otra a modo de secuencia, es decir que una instruccin no se ejecuta hasta que finaliza la anteri or. Ejemplo: INPUT x INPUT y auxiliar= x x= y y= auxiliar PRINT x PRINT y Esta secuencia de instrucciones permuta los valores de x e y, con ayuda de una v ariable auxiliar, intermedia. * 1 Se guarda una copia del valor de x en auxiliar. * 2 Se guarda el valor de y en x, perdiendo su valor anterior, pero se mantie ne una copia del contenido en auxiliar. * 3 Se copia a y el valor de auxiliar, que es el valor inicial de x. * El resultado es el intercambio de los valores entre x e y, en tres operaci ones secuenciales. Estructura selectiva o de seleccin La estructura selectiva permite que la ejecucin del programa se bifurque a una in struccin u otra segn un criterio o condicin lgica, solo una de estas instrucciones s e ejecutar. Ejemplo:

IF a > b THEN PRINT a ; " es mayor que " ; b ELSE PRINT a ; " no es mayor que " ; b END IF La instruccin selectiva anterior puede presentar uno de dos mensajes: a es mayor que b o a no es mayor que b, segn el resultado de la comparacin entre a y b; si el resultado de a > b es verdadero, se presenta el primer mensaje, si es falso se exterioriza el segundo. Las palabras clave IF, THEN, ELSE, y END IF; constituyen la propia estructura de la instruccin condicional (palabra reservadas), proporci onada por el lenguaje, el usuario no debe utilizar sus nombres salvo para este f in. El caso ejemplo se ha codificado en BASIC. * IF seala el comienzo de la instruccin condicional, y se espera que despus sig a la condicin de control de la instruccin. * THEN seala el fin de la condicin, y despus estar la instruccin a ejecutar si la condicin es verdadera. * ELSE es opcional, le sigue la instruccin que se ejecutar si la condicin es fa lsa. * END IF indica el final de la estructura, seguidamente el programa seguir su curso. Ampliemos un poco el ejemplo anterior con estructuras anidadas: IF a > b PRINT ELSEIF a PRINT ELSE PRINT END IF THEN a ; " es mayor que " ; b < b THEN a ; " es menor que " ; b a ; " es igual que " ; b

Este ejemplo permite considerar situaciones en las que se tiene ms de dos alterna tivas. En este caso se ha considerado tres, pero hay situaciones en las que debe n considerarse ms casos y para ellos se puede repetir las veces que sea necesario la opcional ELSEIF. Estructura iterativa Un bucle iterativo o iteracin de una secuencia de instrucciones, hace que se repi tan mientras se cumpla una condicin, en un principio el nmero de iteraciones no ti ene porque estar determinado. Ejemplo: a= 0 b= 7 WHILE b > a DO PRINT a a= a + 1 WEND Esta instruccin tiene tres palabras reservadas WHILE, DO y WEND. * WHILE: seala el comienzo del bucle y despus de esta palabra se espera la con dicin de repeticin, si la condicin es cierta se pasa al cuerpo del bucle, si no al final de la instruccin mientras. * DO: seala el final de la condicin, lo que est despus ser el cuerpo del bucle.

* WEND: seala el final del cuerpo del bucle y de la instruccin WHILE. El bucle mientras, se repite mientras la condicin sea cierta, esta condicin se com prueba al principio por lo que el cuerpo del bucle puede que no se ejecute nunca , cuando la condicin es falsa en un principio, o que se repita tantas veces como sea necesario, mientras la condicin sea cierta. En el ejemplo tenemos dos variables a y b que al iniciarse el bucle tienen los v alores a=0 y b=7. La condicin del bucle es b > a. Cuando a=0 y b=7. la condicin es cierta, en el cuerpo del bucle se escribe el valor de a en pantalla y se incrementa a en una unidad. Entonces a=1 y b=7. ... ... Cuando a=6 y b=7. la condicin es cierta, se escribe el valor de a en pantalla y se incrementa en una unidad. Resultando que a=7 y b=7. Entonces la condicin es falsa y la instruccin WHILE finaliza. La salida por pantalla de este ejemplo seria 0 1 2 3 4 5 6 Anidamiento El cuerpo de cualquier estructura puede ser una instruccin simple u otra estructu ra, que a su vez puede anidar a otra. Ejemplo: IF a > b THEN auxiliar= a a= b b= auxiliar ELSE REM nada END IF PRINT a ; b Ventajas de la programacin estructurada 1. Los programas son ms fciles de entender, ya que pueden ser ledos de forma secuen cial, sin necesidad de hacer seguimiento a saltos de lnea (GOTO) dentro de los bl oques de cdigo para entender la lgica. 2. La estructura del programa es clara, puesto que las instrucciones estn ms ligad as o relacionadas entre s. 3. Reduccin del esfuerzo en las pruebas. El seguimiento de los fallos o errores d el programa ("debugging") se facilita debido a la estructura ms visible, por lo q ue los errores se pueden detectar y corregir ms fcilmente. 4. Reduccin de los costos de mantenimiento de los programas. 5. Programas ms sencillos y ms rpidos (ya que es ms fcil su optimizacin). 6. Los bloques de cdigo son auto explicativos, lo que facilita la documentacin. 7. Los GOTO se reservan para construir las instrucciones bsicas. Aunque no se usa n de forma directa, por estar prohibida su utilizacin, estn incluidas implcitamente en las instrucciones de seleccin e iteracin.

8. Un programa escrito de acuerdo a estos principios no solamente tendr una mejor estructura sino tambin una excelente presentacin. La programacin estructurada ofrece estos beneficios, pero no se la debe considera r como una panacea ya que el desarrollo de programas es, principalmente, una tar ea de dedicacin, esfuerzo y creatividad. Inconvenientes de la programacin estructurada El principal inconveniente de este mtodo de programacin es que se obtiene un nico b loque de programa, que cuando se hace demasiado grande puede resultar problemtico su manejo; esto se resuelve empleando la programacin modular, definiendo mdulos i nterdependientes programados y compilados por separado (en realidad esto no es n ecesario, pero es recomendable para su mantenimiento y funcionalidad). En realidad, cuando se programa hoy en da (inicios del siglo XXI) se suelen utili zar, tanto las tcnicas de programacin estructurada como las de programacin modular, de forma conjunta y por lo tanto es posible que cuando uno haga referencia a la programacin estructurada est considerando tambin las tcnicas de modularizacin. Un mtodo un poco ms sofisticado es la programacin por capas, en la que los mdulos ti enen una estructura jerrquica en la que se pueden definir funciones dentro de fun ciones o de procedimientos. Bibliografa 1. Garca-Bermejo Giner, Jos Rafael (2 de 2008) (en espaol). Programacin estructur ada en C (1 edicin). Pearson Prentice Hall. ISBN 978-84-8322-423-6. 2. Valls Ferrn, Jos Mara; Camacho Fernndez, David (9 de 2004) (en espaol). Program acin estructurada y algoritmos en Pascal (1 edicin). Pearson Alhambra. ISBN 978-84 -205-4246-1. 3. (en espaol) Programacin estructurada II (1 ed. 4 imp. edicin). Enseanza Tcnica y Sistemas, S.A.. 6 de 2000. ISBN 978-84-85838-90-5. 4. (en espaol) Pseudocdigos y programacin estructurada (1 edicin). Centro Tcnico E uropeo de Enseanzas Profesionales. 2 de 1997. ISBN 978-84-8199-065-2. 5. Snchez Andrs, Mara ngeles (5 de 1996) (en espaol). Programacin estructurada y fu ndamentos de programacin (1 edicin). McGraw-Hill / Interamericana de Espaa, S.A.. I SBN 978-84-481-0557-0. La programacin orientada a objetos Es un paradigma de programacin que usa objetos y sus interacciones, para disear a plicaciones y programas informticos. Est basado en varias tcnicas, incluyendo heren cia, abstraccin, polimorfismo y encapsulamiento. Su uso se populariz a principios de la dcada de los aos 1990. En la actualidad, existe variedad de lenguajes de pro gramacin que soportan la orientacin a objetos.

Potrebbero piacerti anche