Programa de computadora


En programación imperativa , un programa de computadora es una secuencia de instrucciones en un lenguaje de programación que una computadora puede ejecutar o interpretar. [1] En programación declarativa , un programa de computadora es un conjunto de instrucciones.

Un programa de computadora en su forma legible por humanos se llama código fuente . El código fuente necesita otro programa de computadora para ejecutarse porque las computadoras solo pueden ejecutar sus instrucciones nativas de la máquina . Por lo tanto, el código fuente se puede traducir a instrucciones de máquina utilizando el compilador del lenguaje . ( Los programas en lenguaje de máquina se traducen mediante un ensamblador ). El archivo resultante se denomina ejecutable . Alternativamente, el código fuente puede ejecutarse dentro del intérprete del idioma . El lenguaje de programación Java se compila en una forma intermedia que luego es ejecutada por unIntérprete de Java . [2]

Si se solicita la ejecución del ejecutable, el sistema operativo lo carga en la memoria e inicia un proceso . [3] La unidad central de procesamiento pronto cambiará a este proceso para que pueda buscar, decodificar y luego ejecutar cada instrucción de la máquina. [4]

Si se solicita la ejecución del código fuente, el sistema operativo carga el intérprete correspondiente en la memoria e inicia un proceso. Luego, el intérprete carga el código fuente en la memoria para traducir y ejecutar cada declaración. [2] Ejecutar el código fuente es más lento que ejecutar un ejecutable. Además, el intérprete debe estar instalado en la computadora.

En 1837, Charles Babbage se inspiró en el telar de Jacquard para intentar construir el motor analítico . [5] Los nombres de los componentes del dispositivo de cálculo se tomaron prestados de la industria textil. En la industria textil, el hilo se traía del almacén para ser molido. El dispositivo tenía una "tienda" que era memoria para almacenar 1000 números de 40 dígitos decimales cada uno. Los números de la "tienda" se transfirieron al "molino" para su procesamiento. Se programó mediante dos juegos de tarjetas perforadas. Uno para dirigir la operación y el otro para las variables de entrada. [5] [6]Sin embargo, después de más de 17.000 libras esterlinas del dinero del gobierno británico, los miles de engranajes y ruedas dentadas nunca funcionaron completamente juntos. [7]

Durante un período de nueve meses entre 1842 y 1843, Ada Lovelace tradujo las memorias del matemático italiano Luigi Menabrea . Las memorias cubrieron el motor analítico. La traducción contenía la Nota G que detallaba completamente un método para calcular los números de Bernoulli usando el motor analítico. Algunos historiadores reconocen esta nota como el primer programa informático escrito del mundo. [8]


Diagrama de Lovelace de Note G, el primer algoritmo informático publicado
Glenn A. Beck está cambiando un tubo en ENIAC.
Interruptores para entrada manual en un Data General Nova 3, fabricado a mediados de la década de 1970
programa informático "hola mundo" de Brian Kernighan (1978)
Un programa de computadora escrito en un lenguaje imperativo.
Mapa de memoria de computadora
Un ejemplo de diagrama de flujo de datos a nivel de función.
El microcontrolador a la derecha de esta unidad flash USB se controla con firmware integrado .
NO puerta.
Puerta NAND.
Puerta NOR.
Y puerta.
Puerta OR.
Una representación simbólica de una ALU.