1 / 7

Programacion en C

Introducciu00f3n de Programaciu00f3n en C

ibarratnt
Download Presentation

Programacion en C

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introducción a la Programación 1. INTRODUCCIÓN Se suele decir que una persona no entiende algo de verdad hasta que puede explicárselo a otro. En realidad, no lo entiende de verdad hasta que puede explicárselo a un computador1 Si tuviéramos que resumir el propósito de la programación en una frase, ésta debería ser: “Que el computador haga el trabajo por nosotros”. Los computadores son buenos para hacer tareas rutinarias. Idealmente, cualquier problema tedioso y repetitivo debería ser resuelto por un computador, y los seres humanos sólo deberíamos encargarnos de los problemas realmente interesantes: los que requieren creatividad, pensamiento crítico y subjetividad. La programación es el proceso de transformar un método para resolver problemas en uno que pueda ser entendido por el computador. La informática se trata de computadores tanto como la astronomía se trata de telescopios.2 Al diseñar un programa, el desafío principal es crear y describir un procedimiento que esté completamente bien definido, que no tenga ambigüedades, y que efectivamente resuelva el problema. Así es como la programación no es tanto sobre computadores, sino sobre resolver problemas de manera estructurada. El objeto de estudio de la programación no son los programas, sino los algoritmos. Un algoritmo es un procedimiento bien definido para resolver un problema. 1Donald Knuth, 2005 2Edsger Dijkstra 2002 i

  2. Introducción a la Programación 2. OBJETIVOS 2.1 General o Conocer sobre los diferentes tipos o lenguajes de programación, sus características y ventas o desventajas a la hora de programar. 2.2 Específicos o Identificar las características de la programación estructura, sus ventajas y desventajas. o Identificar las características de la programación orientada a objetos, sus ventajas y desventaja. o Identificar las características de la programación para telefonía móvil, sus ventajas y desventaja. ii

  3. Introducción a la Programación 3. Programación Estructurada 3.1 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. El teorema del programa estructurado, propuesto por Böhm-Jacopini, demuestra que todo programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes: •Secuencia •Instrucción condicional. •Iteración (bucle de instrucciones) con condición al principio. Solamente con estas tres estructuras se pueden escribir todos los programas y aplicaciones posibles. Si bien los lenguajes de programación tienen un mayor repertorio de estructuras de control, éstas pueden ser construidas mediante las tres básicas citadas. 3.1.1 Que es la Programación Estructurada Es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando únicamente subrutinas y tres estructuras: secuencia, selección (if y switch) e iteración (bucles for y while), considerando innecesario y contraproducente el uso de la instrucción de transferencia incondicional (GOTO), que podría conducir a "código espagueti", que es mucho más difícil de seguir y de mantener, y era la causa de muchos errores de programación. 3

  4. Introducción a la Programación 3.2 Estructuras 3.2.1 Estructura Secuencial Una estructura de programa es secuencial si las instrucciones se ejecutan una tras otra, a modo de secuencia lineal; es decir, que una instrucción no se ejecuta hasta que finaliza la anterior, no se bifurca ni se repite el flujo del programa. Ejemplo en QBASIC ' introduzco los datos x y y INPUT x INPUT y ' intercambio los valores x y y auxiliar = x ' guardo una copia del valor de x en auxiliar x = y ' guardo el valor de y en x, perdiendo su valor anterior, pero manteniendo una copia en auxiliar. y = auxiliar ' copio a y el valor de auxiliar, que es el valor inicial de x. ' imprimo las variables (que ahora tienen los valores intercambiados) PRINT x PRINT y 3.2.2 Estructura selectiva o de selección La estructura selectiva permite que la ejecución del programa se bifurque a una instrucción (o conjunto de ellas). Según un criterio o condición lógica sólo uno de los caminos en la bifurcación será el tomado para ejecutarse. Ejemplo en QBASIC IF a > b THEN ' si a es mayor que b PRINT a ; " es mayor que " ; b ' imprime "a es mayor que b" ELSE ' de lo contrario PRINT a ; " no es mayor que " ; b ' imprime "a no es mayor que b" ENDIF Las palabras clave IF, THEN, ELSE y END IF constituyen la estructura de la instrucción condicional 4

  5. Introducción a la Programación 3.2.3 Estructura iterativa Un bucle iterativo o iteración de una secuencia de instrucciones, hace que se repita su ejecución mientras se cumpla una condición. El número de iteraciones normalmente está determinado por un cambio en la condición dentro del mismo bucle, aunque puede ser forzado o explícito por otra condición. Ejemplo en QBASIC: a = 0 b = 7 DOWHILE b > a ' mientras b sea mayor que a PRINT a ' imprime el valor de a a = a + 1 ' incrementa 'a' en 1 LOOP Esta instrucción tiene tres palabras reservadas: DO, WHILE y LOOP, que conforman un bucle WHILE. 3.2.4 Anidamiento El cuerpo de cualquier estructura puede tener instrucciones simples u otras estructuras, que a su vez pueden contener a otras. Ejemplo en QBASIC: CLS INPUT "Valor entero para a:"; a INPUT "Valor entero para b:"; b IF a > b THEN REM hacer intercambio de variables auxiliar = a a = b b = auxiliar REM imprimir diferencia en escala de uno en uno DOWHILE auxiliar > a auxiliar = auxiliar - 1 PRINT auxiliar LOOP ENDIF PRINT PRINT a; b En el ejemplo anterior hay una estructura WHILE anidada dentro de una estructura IF.--> 5

  6. Introducción a la Programación 3.3 Ventajas y Desventajas de la Programación Estructurada 3.3.1 Ventajas ✓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. 3.3.2 Desventajas o No permite modelar directamente los conceptos del dominio del problema, por lo que el nivel de abstracción que se puede lograr es menor que en la programación orientada a objetos: mientras que el problema se expresa en la terminología de los usuarios (los conceptos presentes en el dominio del problema), los programadores expresan el programa en su propio léxico (una mezcla de los conceptos menos abstractos del dominio del problema con un vocabulario que deriva del modo en que las computadoras funcionan, del lenguaje de programación y de otros vocablos de la jerga particular de los 6

  7. Introducción a la Programación programadores). La necesaria traducción desde el dominio del problema al dominio de la solución requiere un mayor esfuerzo de compresión. Esto tiene un corolario respecto de la implementación que explica el siguiente ítem. o La separación entre datos (variables) y rutinas (procedimientos y funciones) conduce a la necesidad de utilizar variables globales e implica que las capacidades de encapsulamiento que el paradigma propone sean limitadas: esto conlleva el riesgo constante de producir efectos colaterales (modificaciones del estado del programa) no deseados que suelen introducir errores difíciles de encontrar. o Una consecuencia de lo anterior es que la introducción de cambios suele ser muy problemática ya que los efectos secundarios (o colaterales) aparecen con frecuencia durante el mantenimiento de los programas. Es muy habitual que al añadir una característica a un programa o incluso al corregir un error se introduzcan inadvertidamente efectos secundarios que provocan nuevos errores. o Inflexibilidad: es más difícil introducir cambios porque ello requiere mayores modificaciones en el código que ya está funcionando. 7

More Related