Программа — это набор инструкций, которые сообщают компьютеру, как выполнить какое-либо действие. Основа любой программы — показать, как компьютер будет получать входные данные и возвращать выходные.
Программа решает задачи. Но компьютер понимает программы предельно буквально. Это очень похоже на сделку с джином. Джинн (программа) даст вам именно то, о чём вы просите. В точности. Ошибки возникают, когда программист делает предположения о том, что должно произойти, вместо того, чтобы точно описать, какие входные данные должны быть предоставлены и какие выходные данные будут результатом.