Las computadoras son herramientas que puede usar para procesar información y hacer cálculos. ¿Es esa una definición completa?

No. Una mejor definición de una computadora es una máquina programable que es capaz de alojar lenguajes de programación completos de Turing . Esta definición puede requerir un poco de desempaquetado.

Una máquina de Turing es un experimento mental ideado por Alan Turing en la primera mitad del siglo XX. Es una computadora aparentemente simple que consiste en un cabezal de lectura / escritura que se mueve a lo largo de una cinta infinitamente larga con símbolos escritos en ella. También tiene un diagrama de flujo arbitrariamente grande utilizado por la cabeza para tomar decisiones, y reacciona a los símbolos en la cinta de acuerdo con el símbolo y dónde está en el diagrama de flujo. Cada reacción consiste en sobrescribir el símbolo en la cinta, subir o bajar la cinta y moverse a otro lugar en el diagrama de flujo.

La informática se basa en gran medida en la máquina Turing como una especie de base fundamental de comparación para toda la informática. En general, si algo es computable por un algoritmo, existe algún método para hacerlo utilizando una máquina de Turing. Cualquier lenguaje de programación que sea lo suficientemente expresivo como para permitir cualquier programa que sea representable en la máquina de Turing se llama Turing completo .

Todos los idiomas principales son Turing completos; Es un juego popular para los tipos geek para demostrar que otras cosas sorprendentes están realmente completadas. Por ejemplo, es posible construir y ejecutar una máquina Turing usando las reglas del juego Magic: The Gathering (vea este enlace: http://www.toothycat.net/~hologr… que también tiene un resumen decente de lo que Turing lo completo significa).

Debido a que las computadoras de la vida real tienen memoria finita, no son técnicamente capaces de ejecutar todos los cálculos que puede hacer una máquina Turing; de hecho, todas las computadoras de la vida real son representables usando un modelo mucho más simple llamado Automatismo Finito Determinista (http://en.m.wikipedia.org/wiki/D…). Sin embargo, debido a que las computadoras en realidad tienen bastante memoria, esta distinción no importa en la práctica. Otros problemas son que las máquinas de Turing realmente no tienen en cuenta la interactividad con un usuario, ni tienen ningún mecanismo para generar aleatoriedad, y las computadoras de la vida real pueden hacer ambas cosas en la práctica. Entonces este no es un modelo perfecto, pero es el que se usa en informática.

Realmente no. Un bolígrafo y papel también se ajustan a esa definición. También lo hace un ábaco.

No. Una computadora también debe realizar esas tareas por un método digital y tener una forma de almacenar información digitalmente.