Sei sulla pagina 1di 4

CLASE 1 Evolucin de la programacin de sistemas informticos

PROGRAMACIN La programacin es el proceso de disear, codificar, depurar y mantener el cdigo fuente de programas computacionales. El cdigo fuente es escrito en un lenguaje de programacin. El propsito de la programacin es crear programas que exhiban un comportamiento deseado. El proceso de escribir cdigo requiere frecuentemente conocimientos en varias reas distintas, adems del dominio del lenguaje a utilizar, algoritmos especializados y lgica formal.. Un lenguaje de programacin es un idioma artificial diseado para expresar procesos que pueden ser llevadas a cabo por mquinas como las computadoras. Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo fuente de un programa informtico se le llama programacin. HISTORIA Para crear un programa, y que la computadora interprete y ejecute las instrucciones escritas en l, debe usarse un lenguaje de programacin. En sus inicios las computadoras interpretaban slo instrucciones en un lenguaje especfico, del ms bajo nivel, conocido como cdigo mquina, siendo ste excesivamente complicado para programar. De hecho slo consiste en cadenas de nmeros 1 y 0 (sistema binario). Para facilitar el trabajo de programacin, los primeros cientficos que trabajaban en el rea decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o letras provenientes del ingls; las codificaron y crearon as un lenguaje de mayor nivel, que se conoce como Assembly o lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar). En realidad escribir en lenguaje ensamblador es bsicamente lo mismo que hacerlo en lenguaje mquina, pero las letras y palabras son bastante ms fciles de recordar y entender que secuencias de nmeros binarios. A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de un mtodo sencillo para programar. Entonces, se crearon los lenguajes de alto nivel. Mientras que una tarea tan trivial como multiplicar dos nmeros puede necesitar un conjunto de instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastar con solo una. Una vez que se termina de escribir un programa, sea en ensamblador o en un lenguaje de alto nivel, es necesario compilarlo, es decir, traducirlo a lenguaje mquina.1

ALGORITMO Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a un lenguaje de programacin concreto) uno o ms algoritmos. Un algoritmo puede expresarse de distintas maneras: en forma grfica, como un diagrama de flujo, en forma de cdigo como en pseudocdigo o un lenguaje de programacin, en forma explicativa, etc. Los programas suelen subdividirse en partes menores, llamadas mdulos, de modo que la complejidad algortmica de cada una de las partes sea menor que la del programa completo, lo cual ayuda al desarrollo del programa. Esta es una prctica muy utilizada y se conoce como "refino progresivo". Segn Niklaus Wirth, un programa est formado por los algoritmos y la estructura de datos. Se han propuesto diversas tcnicas de programacin cuyo objetivo es mejorar tanto el proceso de creacin de software como su mantenimiento. Entre ellas, se pueden mencionar las siguientes: programacin declarativa programacin estructurada programacin modular programacin orientada a objetos

OBJETIVOS DE LA PROGRAMACIN En la preparacin de un programa, el programador puede tener que escoger entre soluciones alternativas en muchos puntos. Cada eleccin debe hacerse para satisfacer los objetivos y restricciones de la tarea de programacin particular. Aqu asumiremos como apropiados para toda tarea de programacin los siguientes objetivos: Exactitud Claridad Eficiencia EXACTITUD Un objetivo obvio en la escritura de cualquier programa de computador es que tiene que satisfacer su especificacin exactamente. A menudo, sin embargo, a causa de la complejidad de la labor del programa, y de un entendimiento o cuidado inadecuados de parte del programador, un programa falla en satisfacer alguna parte de su especificacin. Un programador tiene que ser en todo tiempo cuidadoso de la exactitud o pertinencia del programa para su propsito especificado.

Un factor clave en el logro de exactitud es la simplicidad. Escogiendo el algoritmo o tcnica ms simple disponible, es ms probable que un programador vea si satisface o no los requerimientos de la especificacin del programa, y es menos probable que la describa incorrectamente en su programa. La innecesaria complejidad no cumple propsito alguno en la programacin de computadores. Algunos programas son, por supuesto, inherentemente complejos. Para tales programas, el programador debe adoptar un tratamiento sistemtico que controle y limite la complejidad de la que tiene que ocuparse en cada etapa. EJEMPLO.EXACTITUD-SIMPLICIDAD.CORRECIN DE DATOS BD INFORMATICA. CLARIDAD Un programa es necesariamente tan complejo como el algoritmo que describe. Sin embargo, es importante que la forma en que el algoritmo est descrito, por el texto del programa, no sea mas complicada de lo que es necesario. La claridad del programa es una ayuda importante para el programador mismo en el diseo y limpieza del programa; y para otros que puedan tener que leer y alterar el programa en alguna etapa posterior. La claridad del programa es lograda casi en la misma forma que para cualquier texto escrito, tal como un ensayo o un libro en los cuales se requiere: a).- Una separacin lgica del texto en partes comprensibles (captulos, secciones, etc.) que reflejen la distincin entre los temas que describen, y su presentacin en una secuencia lgica que refleje las relaciones entre ellas; b).- Una seleccin cuidadosa de las caractersticas del lenguaje, usadas en cada parte para expresar su sentido propuesto tan precisamente como sea posible; c).- Otra seleccin cuidadosa de las palabras usadas para denotar los objetos y conceptos involucrados; d).- La inclusin de comentarios y prembulos para clarificar el texto principal cuando sea necesario; e).- Un aprovechamiento de los dispositivos para presentacin de textos, tales como las lneas en blanco y la sangra, para enfatizar la relacin entre partes componentes de textos. Un programador podra ser tan diligente en el uso de stas tcnicas para lograr claridad como el autor de cualquier texto. En muchos casos, la utilidad de un programa es determinada tanto por la claridad de su texto como por las cualidades del algoritmo que describe. EJEMPLO:PROGRAMAS QUE SE DEBEN REESCRIBIR. EFICIENCIA El costo de ejecutar un programa de computador, es medido normalmente en trminos de :

a).- El tiempo tomado por el computador para llevar a cabo la secuencia de operaciones involucradas; b).- La cantidad de memoria de computador usada en hacerlo. En muchos ambientes (de mquina), el programa competir con otros programas por el uso de esos recursos del computador, y es, por tanto, lgico minimizar los requerimientos del programa para cada uno. El tiempo tomado para ejecutar el programa, es directamente proporcional al nmero de operaciones que el procesador tiene que realizar al hacerlo. El programador debe, por tanto, escoger un algoritmo que minimice las operaciones implicadas, y tener cuidado de evitar cualquier operacin redundante al expresar el algoritmo como un programa de computador. La memoria usada por el programa durante su ejecucin, es determinada por la cantidad de datos que tienen que ser guardados, y por el nmero de instrucciones del procesador requeridas para definir el programa, ya que stas tambin tienen que ser guardadas en la memoria. Para minimizar el almacenamiento usado por su programa, el programador debe, por tanto, considerar los datos manipulados y el nmero de operaciones especificadas por el programa. Para algunos programas, o partes de programas, el uso eficiente del tiempo o del almacenamiento puede ser crtico; para otros puede serlo menos. El programador debe estar enterado de cualquiera de tales requerimientos de eficiencia cuando escriba su programa. LA PROGRAMACIN COMO ETAPA FUNDAMENTAL DEL CICLO DE DESARROLLO DE SISTEMAS INFORMTICOS

Potrebbero piacerti anche