Page 1

República Bolivariana De Venezuela Ministerio Del Poder Popular Para La Defensa Universidad Nacional Experimental Politécnica De La Fuerza Armada Núcleo Yaracuy _ Extensión Nirgua

Facilitador:

Emprendedor:

Ing. Luis Sequera

Alirio Terán Ing. De Sistemas VIII Semestre Nirgua, Abril de 2014

Alirio Terán


Dos conceptos que se mencionan mucho al hablar de programación son:

 programación estructurada.  programación orientada a objetos. La programación estructurada: Consiste en dotar al programa de un cierto orden, dividiéndolo en bloques independientes unos de otros, que se encargan de cada una de las tareas necesarias. Esto hace un programa más fácil de leer y modificar. La programación orientada a objetos: Se tratará más adelante, cuando ya se tenga una buena base de programación "convencional". Como simple comentario, para que vayan sonando las cosas a conocidas, diré que "Objects Pascal" es el nombre que se suele dar a un lenguaje Pascal que permita programación orientada a objetos (como es el caso de Turbo Pascal), y que "C++" es una ampliación del lenguaje C, que también soporta P.O.O.

Programación Modular

La programación estructurada es una técnica de diseño de programas que comenzó a ponerse en práctica a principios de los años 70. Su utilización tiene como objetivo paliar algunas deficiencias: Los programas que están constituidos por un único bloque, más o menos grande, de código, dependiendo de la complejidad y tamaño de la aplicación, por ejemplo 5000 ó 6000 líneas de código sin comentar, sin documentar y sin estructurar, esto es, sin hacer uso de un sólo submódulo, son programas pocos legibles, difíciles de depurar y modificar y poco reutilizables. Un problema complejo no puede solucionarse de una sola vez y con un único algoritmo; además, existen operaciones que se repiten una y otra

Alirio Terán


vez a lo largo del programa, de tal manera que es necesario el mismo bloque de código pero con diferentes datos. Con el fin de dar solución a los puntos anteriores se introdujo la programación estructurada. Su objetivo primordial es resolver un problema, más o menos complejo, dividiéndolo en otros más sencillos, que ligados convenientemente, nos den la solución del problema original. Cada subproblema se representará mediante uno o varios módulos según su complejidad. La idea es que estos módulos sean independientes, es decir, que se puedan modificar o reemplazar sin afectar al resto del programa o que puedan ser reutilizados en otros programas. Supongamos el siguiente ejemplo. “Un profesor quiere crear un programa para gestionar la notas de sus alumnos. Quiere que dicho programa le permita realizar tareas tales como asignar notas, cambiar notas, ver las notas según las distintas calificaciones, etc.” Un posible división del problema en módulos sería: Esta subdivisión nos permitiría, fácilmente, cambiar la forma de visualizar a los alumnos, reutilizar el módulo “Visualizar” en otro programa y sobre todo es mucho más fácil de comprobar su funcionamiento. Por tanto, las ventajas del diseño modular se traducen, principalmente, en que los programas son más fáciles de escribir y probar (los módulos pueden escribirse y probarse separadamente), más fáciles de mantener y documentar.

Programación Estructurada.

Se refiere a un conjunto de técnicas que han ido evolucionando. Estas técnicas aumentan considerablemente la productividad del programa reduciendo el tiempo requerido para escribir, verificar, depurar y mantener los programas. La programación estructurada utiliza un número limitado de estructuras de control que minimizan la complejidad de los problemas y que

Alirio Terán


reducen los errores. Ésta incorpora entre otros elementos: el diseño descendente, recursos abstractos y estructuras básicas. La programación estructurada es una forma de escribir programación de ordenador de forma clara, para ello utiliza únicamente tres estructuras: secuencial, selectiva e iterativa; siendo innecesario y no permitiéndose el uso de la instrucción o instrucciones de transferencia incondicional ( GOTO ).

¿QUÉ ES UNA INTERFAZ GRAFICA DE USUARIO?

En el contexto del proceso de interacción persona-ordenador, la interfaz gráfica de usuario (IGU), es el artefacto tecnológico de un sistema interactivo que posibilita, a través del uso y la representación del lenguaje visual, una interacción amigable con un sistema informático. La interfaz gráfica de usuario: (en inglés Graphical User Interface, GUI) es un tipo de interfaz de usuario que utiliza un conjunto de imágenes y objetos gráficos (iconos, ventanas, tipografía) para representar la información y acciones disponibles en la interfaz. Habitualmente las acciones se realizan mediante manipulación directa para facilitar la interacción del usuario con la computadora. Surge como evolución de la línea de comandos de los primeros sistemas operativos y es pieza fundamental en un entorno gráfico. Como ejemplo de interfaz GUI podemos citar el escritorio o desktop del sistema operativo Windows y el entorno X-Window de Linux. La programación estructurada es una teoría de programación que consiste en construir programas de fácil comprensión. La programación estructurada es especialmente útil, cuando se necesitan realizar correcciones o modificaciones después de haber concluido un programa o aplicación. Al haberse utilizado la programación estructurada, es mucho más sencillo entender la codificación del programa, que se habrá hecho en diferentes secciones. La programación estructurada se basa en una

Alirio Terán


metodología de desarrollo de programas llamada refinamiento sucesivo: Se plantea una operación como un todo y se divide en segmentos más sencillos o de menor complejidad. Una vez terminado todos los segmentos del programa, se procede a unificar las aplicaciones realizadas por el pool de programadores. Si se ha utilizado adecuadamente la programación estructurada, esta integración debe ser sencilla y no presentar problemas al integrar la misma, y de presentar algún problema, será rápidamente detectable para su corrección. La representación grafica de la programación estructurada se realiza a través de diagramas de flujo o flow chart, el cual representa el programa con sus entradas, procesos y salidas. La programación estructurada propone segregar los procesos en estructuras lo más simple posibles, las cuales se conocen como secuencia, selección e interacción. Ellas están disponibles en todos los lenguajes modernos de programación imperativa en forma de sentencias. Combinando esquemas sencillos se pueden llegar a construir sistemas amplios y complejos pero de fácil entendimiento. La programación estructurada es la técnica de desarrollo de programas de la forma más clara posible haciendo uso de tres estructuras de control: la secuencia, la selección y la interacción. Estas estructuras pueden combinarse para crear programas que manejen cualquier necesidad de procesamiento de datos.

Conceptos fundamentales en torno a la programación estructurada:

 Estructuras de control  Segmentación  Identación

Alirio Terán


Composición: La programación estructurada está compuesta por segmentos de código que pueden incluir desde una instrucción hasta varias páginas de estas.

Cada uno de los segmentos de un programa, debe cumplir con dos procesos básicos: la entrada y la salida de datos.

A diferencia de otros estilos de programación, los programas estructurados pueden ser leídos secuencialmente, desde el inicio hasta el final, sin perder la continuidad.

Características de la programación estructurada

Los programas escritos con estos principios tienen no solo una estructura fácil de leer, sino que además tienen una excelente presentación, que permite comprender el código con mayor facilidad. La estructuración del contenido facilita la revisión de la codificación y reduce el tiempo de prueba y depuración de programas.

Alirio Terán


Estructuras de control Son estructuras que permiten controlar el orden de ejecución de las instrucciones contenidas dentro de ellas dependiendo de condiciones previamente establecidas.

Todos los programas pueden desarrollarse utilizando únicamente con las tres estructuras de control características de la programación estructurada. Secuencia: Se refiere al orden en la que las instrucciones de un programa son ejecutadas, tal y como se tienen en el programa.

Los elementos 1, 2 y 3 pueden ser instrucciones o bloques que indican que independientemente de su complejidad o tamaño, su ejecución es realizada en el orden indicado. La estructura secuencial: Está definida por el flujo de control automático de un programa. De manera natural, a menos que otra cosa se indique, la computadora ejecuta las líneas de código en el orden en que

Alirio Terán


fueron escritas. El control del programa fluye de la línea anterior a la línea siguiente. Selección: Es la posibilidad de elegir entre dos instrucciones, donde la decisión se toma en base a la evaluación de una expresión a la que llamamos condición.

La imagen indica que si se cumple la condición 1, se avanza al punto 2 y se llega al punto 4, en caso de no cumplirse la condición 1 entonces se avanza al punto 3 y así se llega al punto 4. Las estructuras de selección: Se basan en una declaración condicional. Si es verdadera, ciertas líneas de código son ejecutadas. Si tal declaración es falsa, esas líneas no serán ejecutadas. Las dos estructuras de selección más comunes son: Si-Entonces (If-Then) y Si-Entonces-de lo contrario (If-Then-Else). Iteración: Es una estructura que se utiliza para repetir alguna instrucción o grupo de instrucciones siempre que se cumpla una condición.

Si se cumple la condición 1, se avanza al punto 2 y se llega al punto 3 donde se encuentra una nueva condición 3 que si se cumple se regresa a la condición 1 y si no se cumple, se continúa al punto 4. Las estructuras de repetición (o de ciclos): Su construcción también hace uso de declaraciones condicionales. Si la condición evaluada

Alirio Terán


es verdadera, un bloque de una o más instrucciones se repetirá, hasta que la condición sea falsa. La computadora prueba la condición una primera vez, si es verdadera, ejecuta el bloque de comandos. Entonces, finalizada la primera repetición, comprueba de nuevo la condición y si es verdadera se repite el bloque nuevamente, y así sucesivamente hasta que la condición sea falsa. Ya que este funcionamiento es cíclico, cada una de estas repeticiones es llamada también ciclo. Tres estructuras de este tipo son: Repita para (For-Next), Repita Mientras (While) y Repita Hasta (Do-While). Segmentación Para favorecer la comprensión del código de los programas desarrollados, es conveniente establecer segmentos del programa para que estos no excedan una página de codificación (50 líneas en promedio). No se trata únicamente de dividir un programa en trozos donde la longitud sea de 50 líneas; la segmentación debe cumplir con las siguientes características básicas:  Las partes se deben relacionar entre sí de forma jerárquica, formando una estructura de árbol.  Debe mostrar claramente las relaciones existentes entre las funciones para permitir comprender lo que debe hacer el programa de forma fácil.  La comunicación entre los segmentos se debe realizar cuidadosamente y de forma controlada. La comunicación entre los segmentos se debe realizar a través de una lista de parámetros, lo cual reduce la oportunidad de se relacionen entre ellos de forma indeseada o inentendible. Identación Es el espacio o sangría que se asigna a una línea de código y dependiendo de su longitud, esta indica si una instrucción o grupo de instrucciones pertenecen a determinado bloque.

Alirio Terán


Este espacio es importante ya que facilita la lectura del programa respecto a las relaciones existentes entre las instrucciones y los segmentos.

Lenguajes de programación estructurada

Es posible hacer la programación estructurada en cualquier lenguaje de programación, aunque es preferible usar algo como un lenguaje de programación procedimental. Algunos de los lenguajes utilizados inicialmente para programación estructurada incluyen: ALGOL, Pascal, PL/I y Ada, pero la mayoría de los nuevos lenguajes de programación procedimentales desde entonces han incluido características para fomentar la programación estructurada y a veces deliberadamente omiten características4 en un esfuerzo para hacer más difícil la programación no estructurada. Hay distintos lenguajes que nos permiten dar instrucciones a un ordenador (un programa de ordenador es básicamente eso: un conjunto de órdenes para un ordenador). El lenguaje más directo es el propio del ordenador, llamado "lenguaje de máquina" o "código máquina", formado por secuencias de ceros y unos. Este lenguaje es muy poco intuitivo para nosotros, y difícil de usar. Por ello se recurre a otros lenguajes más avanzados, más cercanos al propio lenguaje humano (lenguajes de alto nivel), y es entonces el mismo ordenador el que se encarga de convertirlo a algo que pueda manejar directamente. Se puede distinguir dos tipos de lenguajes, según se realice esta conversión:

Alirio Terán


En los intérpretes, cada instrucción que contiene el programa se va convirtiendo a código máquina antes de ejecutarla, lo que hace que sean más lentos (a cambio, los intérpretes suelen ser más fáciles de crear, lo que permite que sean baratos y que puedan funcionar en ordenadores con menor potencia). En los compiladores, se convierte todo el programa en bloque a código máquina y después se ejecuta. Así, hay que esperar más que en un intérprete para comenzar a ver trabajar el programa, pero después éste funciona mucho más rápido (a cambio, los compiladores son más caros y suelen requerir ordenadores más potentes). Hay lenguajes para los que sólo hay disponibles intérpretes, otros para los que sólo existen compiladores, y otros en los que se puede elegir entre ambos. La mayoría de los lenguajes actuales son compilados, y el entorno de desarrollo suele incluir:  Un editor para escribir o revisar los programas.  El compilador propiamente dicho, que los convierte a código máquina.  Otros módulos auxiliares, como enlazadores (linkers) para unir distintos subprogramas, y depuradores (debuggers) para ayudar a descubrir errores. Es cada vez más frecuente que todos estos pasos se puedan dar desde un único "entorno integrado". Por ejemplo, el entorno de Turbo Pascal tiene la siguiente apariencia:

Alirio Terán


Ventajas de la programación estructurada

Las ventajas de la programación estructurada más resaltantes en comparación con el modelo anterior (hoy llamado despectivamente código espagueti) son las siguientes:  Los programas son más fáciles de entender, pueden ser leídos de forma secuencial y 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, comparado con la forma anterior que utiliza GOTO.

Algunos de los lenguajes más difundidos son:

BASIC, que durante mucho tiempo se ha considerado un buen lenguaje para comenzar a aprender, por su sencillez, aunque se podía tender a crear programas poco legibles. A pesar de esta "sencillez" hay versiones muy potentes, incluso para programar en entornos gráficos como Windows. COBOL, que fue muy utilizado para negocios (para crear software de gestión, que tuviese que manipular grandes cantidades de datos), aunque últimamente está bastante en desuso.

Alirio Terán


FORTRAN, concebido para ingeniería, operaciones matemáticas, etc. También va quedando desplazado. Ensamblador, muy cercano al código máquina (es un lenguaje de "bajo nivel"), pero sustituye las secuencias de ceros y unos (bits) por palabras más fáciles de recordar, como MOV, ADD, CALL o JMP. C, uno de los mejor considerados actualmente (junto con C++ y Java, que mencionaremos a continuación), porque no es demasiado difícil de aprender y permite un grado de control del ordenador muy alto, combinando características de lenguajes de alto y bajo nivel. Además, es muy transportable: existe un estándar, el ANSI C, lo que asegura que se pueden convertir programas en C de un ordenador a otro o de un sistema operativo a otro con bastante menos esfuerzo que en otros lenguajes. C++, un lenguaje desarrollado a partir de C, que permite Programación Orientada a Objetos, por lo que resulta más adecuada para proyectos de una cierta envergadura. Java, desarrollado a su vez a partir de C++, que elimina algunos de sus inconvenientes, y ha alcanzado una gran difusión gracias a su empleo en Internet. PASCAL, el lenguaje estructurado por excelencia (ya se irá viendo qué es esto más adelante), y que en algunas versiones tiene una potencia comparable a la del lenguaje C, como es el caso de Turbo Pascal en programación para DOS y de Delphi en la programación para Windows. Frente al C tiene el inconveniente de que es menos portable, y la ventaja de que en el caso concreto de la programación para DOS, Turbo Pascal no tiene nada que envidiar la mayoría de versiones del lenguaje C en cuanto a potencia, y además resulta más fácil de aprender, es muy rápido, crea ficheros EXE más pequeños, etc., mientras que en la programación para Windows, Delphi es una muy buena herramienta para crear aplicaciones de calidad en un tiempo razonablemente breve.

Alirio Terán

Alirio teran primer trabajo programacion 2  
Advertisement