Un programa es un conjunto de instrucciones que le dicen a la computadora cómo hacer algo. Lo básico de cualquier programa es mostrar cómo la computadora recibirá entradas y devolverá salidas.
Un programa resuelve problemas. Pero los programas son muy literales. Es como firmar un contrato con un genio. El genio (programa) te dará exactamente lo que pediste. Exactamente. Los errores se producen cuando el programador supone lo que debería ocurrir en lugar de describir con precisión qué entrada se puede recibir y qué salida resultará.