Descargue como DOCX, PDF, TXT o lea en línea desde Scribd
Descargar como docx, pdf o txt
Está en la página 1de 4
Informtica & Software
Una Nueva Forma De Aprender Computacin.
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. Programar no involucra necesariamente otras tareas tales como el anlisis y diseo de la aplicacin (pero s el diseo del cdigo), aunque s suelen estar fusionadas en el desarrollo de pequeas aplicaciones.
Historia de la programacin
Para crear un programa, y que la computadora lo 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. Lenguaje Maquina El lenguaje de mquina o cdigo mquina es el sistema de cdigos directamente interpretable por un circuito microprogramable, como el microprocesador de unacomputadora o el microcontrolador de un Robot. Este lenguaje est compuesto por un conjunto de instruccionesque determinan acciones al ser tomadas por la mquina. Unprograma consiste en una cadena de estas instrucciones ms un conjunto de datos sobre el cual se trabaja. Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de mquina es especfico de la arquitectura de la mquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre arquitecturas distintas. Los circuitos microprogramables son sistemas digitales, lo que significa que trabajan con dos nicos niveles de tensin. Dichos niveles, por abstraccin, se simbolizan con los nmeros 0 y 1, por eso el lenguaje de mquina slo utiliza dichos signos. Esto permite el empleo de las teoras del lgebra booleana y del sistema binario en el diseo de este tipo de circuitos y en su programacin. Arquitectura De Computadoras Como Una Serie De Capas De Abstraccin: Hardware, Firmware, Ensamblador, Kernel, Sistema Operativo Y Aplicaciones. Informtica & Software Una Nueva Forma De Aprender Computacin. Compilador Un compilador es un programa informtico que traduce un programa escrito en un lenguaje de programacin a otro lenguaje de programacin, generando un programa equivalente que la mquina ser capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de mquina, pero tambin puede ser un cdigo intermedio (bytecode), o simplemente texto. Este proceso de traduccin se conoce como compilacin.
Un compilador es un programa que permite traducir el cdigo fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (tpicamentelenguaje de mquina). De esta manera un programador puede disear un programa en un lenguaje mucho ms cercano a como piensa un ser humano, para luego compilarlo a un programa ms manejable por una computadora.
Como parte importante de este proceso de traduccin, el compilador informa a su usuario de la presencia de errores en el programa fuente.
ByteCode El bytecode es un cdigo intermedio ms abstracto que el cdigo mquina. Habitualmente es tratado como un archivo binario que contiene un programa ejecutable similar a un mdulo objeto, que es un archivo binario producido por el compilador cuyo contenido es elcdigo objeto o cdigo mquina .
El bytecode recibe su nombre porque usualmente cada cdigo de operacin tiene una longitud de un byte, si bien la longitud del cdigo de las instrucciones vara. Cada instruccin tiene un cdigo de operacin entre 0 y 255 seguido de parmetros tales como los registros o las direcciones de memoria. Esta sera la descripcin de un caso tpico, si bien la especificacin del bytecode depende ampliamente del lenguaje.
Como cdigo intermedio, se trata de una forma de salida utilizada por los implementadores de lenguajes para reducir la dependencia respecto del hardware especfico y facilitar la interpretacin. Menos frecuentemente se utiliza el bytecode como cdigo intermedio en un compilador. Algunos sistemas, llamados traductores dinmicos o compiladores just-in- time (Sobre Demanda) JIT,traducen el bytecode a cdigo mquina inmediatamente antes de su ejecucin para mejorar la velocidad de ejecucin.
Los programas en bytecode suelen ser interpretados por un intrprete de bytecode (en general llamado mquina virtual, dado que es anlogo a un ordenador). Su ventaja es su portabilidad: el mismo cdigo binario puede ser ejecutado en diferentes plataformas y arquitecturas. Es la misma ventaja que presentan los lenguajes interpretados. Sin embargo, como el bytecode es en general menos abstracto, ms compacto y ms orientado a la mquina que un programa pensado para su modificacin por humanos, su rendimiento suele ser mejor que el de los lenguajes interpretados. Cdigo Binario El cdigo binario es el sistema de representacin de textos, o procesadores de instrucciones de computadora utilizando el sistema binario (sistema numrico de dos dgitos, o bit: el "0" (cerrado) y el "1" (abierto)). En informtica y telecomunicaciones, el cdigo binario se utiliza con variados mtodos de codificacin de datos, tales como cadenas de caracteres, o cadenas de bits.- El byte es un grupo de 8 bits, es decir en l tenemos 256 posibles estados binarios.
Informtica & Software Una Nueva Forma De Aprender Computacin. Programacin Estructurada La programacin estructurada es un paradigma de programacin orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando nicamente subrutinas y tres estructuras: secuencia, seleccin (if y switch) e iteracin (buclesfor y while), considerando innecesario y contraproducente el uso de la instruccin de transferencia incondicional (GOTO), que podra conducir a "cdigo espagueti", que es mucho ms difcil de seguir y de mantener, y era la causa de muchos errores de programacin. Cdigo Spaghetti El cdigo Spaghetti es un trmino para los programas de computacin que tienen una estructura de control de flujo compleja e incomprensible. Su nombre deriva del hecho que este tipo de cdigo parece asemejarse a un plato de espaguetis, es decir, un montn de hilos intrincados y anudados.- Tradicionalmente suele asociarse este estilo de programacin con lenguajes bsicos y antiguos, donde el flujo se controlaba mediante sentencias de control muy primitivas comogoto y utilizando nmeros de lnea. Un ejemplo de lenguaje que invitaba al uso de cdigo Spaghetti es el QBasic de Microsoft en sus primeras versiones.
Ventajas De La Programacin Estructurada Ventajas de la programacin estructurada comparada con el modelo anterior (hoy llamado despectivamente cdigo espagueti).
Los programas son ms fciles de entender, pueden ser ledos de forma secuencial y no hay necesidad de hacer engorrosos seguimientos en saltos de lneas (GOTO) dentro de los bloques de cdigo para intentar entender la lgica.
La estructura de los programas es clara, puesto que las instrucciones estn ms ligadas o relacionadas entre s.
Reduccin del esfuerzo en las pruebas y depuracin. El seguimiento de los fallos o errores del programa ("debugging") se facilita debido a su estructura ms sencilla y comprensible, por lo que los errores se pueden detectar y corregir ms fcilmente.
Reduccin de los costos de mantenimiento. Anlogamente a la depuracin, durante la fase de mantenimiento, modificar o extender los programas resulta ms fcil.
Los programas son ms sencillos y ms rpidos de confeccionar.
Se incrementa el rendimiento de los programadores, comparado con la forma anterior que utiliza GOTO.
Sistema Binario El sistema binario, en ciencia de la computacin, es un sistema de numeracin en el que los nmeros se representan utilizando solamente las cifras cero y uno (0 y 1). Es el que se utiliza en las computadoras, debido a que trabajan internamente con dos niveles de voltaje, por lo cual su sistema de numeracin natural es el sistema binario (encendido 1, apagado 0).
Informtica & Software Una Nueva Forma De Aprender Computacin. Algoritmos Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solucin. Los algoritmos son el objeto de estudio de la algoritmia.
En general, no existe ningn consenso definitivo en cuanto a la definicin formal de algoritmo. Muchos autores los sealan como listas de instrucciones para resolver un clculo o un problema abstracto, es decir, que un nmero finito de pasos convierten los datos de un problema (entrada) en una solucin (salida). Sin embargo cabe notar que algunos algoritmos no necesariamente tienen que terminar o resolver un problema en particular.