Теория:
Повседневно человек выполняет большое количество самых разнообразных задач. Мы об этом даже не задумываемся, потому что некоторые задачи для нас стали автоматизированными действиями. Например, «почистить зубы», «перейти дорогу», «собрать портфель» и т. д.
Иные задачи, наоборот, бывают настолько трудными, что требуют от нас длительных размышлений и немалых усилий для получения результата. Например, задача «выучить английский язык» требует от нас большее количество сложных действий, чем решение задачи «купить воды».
Любую, даже самую простую задачу мы всегда решаем за несколько последовательных шагов.
Рассмотрим задачу «вскипяти чайник» как последовательность действий:
- взять чайник;
- открыть крышку;
- налить воды;
- закрыть крышку;
- включить плиту;
- поставить чайник на плиту;
- дождаться, пока чайник закипит;
- выключить плиту.
Таким образом можно описать процесс решения любой задачи. Например, задачи, которые ты решаешь в школе «найти сумму двух чисел», «вычислить площадь прямоугольника», «выполнить синтаксический разбор предложения», «найти размер компьютерного файла».
Последовательность действий в решении задачи называется алгоритмом. Исполнитель — это объект, который может выполнить алгоритм. Исполнителем может быть человек, животное или какое-то устройство: компьютер, стиральная машина.
Алгоритм — это последовательность действий исполнителя, приводящая к решению задачи.
Свойства алгоритма.
- Понятность. Алгоритм должен быть написан на понятном для исполнителя языке. Действия должны быть точными, ясными, однозначными.
- Дискретность. Решение задачи должно быть разделено на отдельные шаги.
- Определённость. Команды должны быть однозначными.
- Результативность. Каждый алгоритм должен приводить к обязательному решению поставленной задачи.
- Обобщённость (массовость). Алгоритм должен решать не одну какую-то задачу, а некоторый класс однотипных задач. Например, алгоритм для вычисления суммы двух чисел, должен работать для сложения любых двух чисел.