].
La característica definitoria de computadoras modernas que las distingue de todas las demás máquinas es que pueden ser programados. Es decir que algún tipo de instrucciones (el programa) se puede dar a la computadora, y se llevará a procesarlos. Mientras que algunos equipos pueden tener conceptos extraños "instrucciones" y "salida" (véase computación cuántica), los ordenadores modernos basados en la arquitectura von Neumann menudo tienen código de máquina en forma de un lenguaje de programación imperativo.
En términos prácticos , un programa de ordenador puede ser sólo unas pocas instrucciones o extenderse a muchos millones de instrucciones, al igual que los programas de procesadores de texto y navegadores web, por ejemplo. Una computadora típica moderna puede ejecutar miles de millones de instrucciones por segundo (gigaflops) y rara vez comete un error lo largo de muchos años de funcionamiento.
Programas informáticos grandes que constan de varios millones de instrucciones pueden tener equipos de programadores años para escribir, y debido a la complejidad de la tarea es casi seguro que contener errores
Artículos principales:. Programa informático y la programación de computadoras
1970 A puñetazos tarjeta que contiene una línea de un programa FORTRAN. La carta dice: "Z
(1) = Y + W
(1)" y se etiqueta "PROJ039" para propósitos de identificación.
Esta sección se aplica a los equipos más comunes basados en máquinas RAM
En la mayoría de los casos, instrucciones de ordenador son simples:. añadir un número a otro, mover algunos datos de un lugar a otro, enviar un mensaje a algún dispositivo externo, etc. Estas instrucciones se leen de la memoria de la computadora y se lleva a cabo generalmente (ejecutado) en el orden que se les dio.
Sin embargo, por lo general hay instrucciones especiales para decirle al ordenador para saltar hacia adelante o hacia atrás a algún otro lugar en el programa y para llevar a cabo la ejecución de allí. Estos se llaman instrucciones "salto" (o ramas). Además, se pueden realizar instrucciones de salto condicional a suceder para que diferentes secuencias de instrucciones se pueden usar dependiendo del resultado de algún cálculo anterior o algún evento externo.
Muchos ordenadores apoyan directamente subrutinas proporcionando un tipo de salto que "recuerda" la localización saltó desde y otra instrucción para