Повседневно человек выполняет большое количество самых разнообразных задач. Мы об этом даже не задумываемся, потому что некоторые задачи для нас стали автоматизированными действиями. Например, «почистить зубы», «перейти дорогу», «собрать портфель» и т. д.
Иные задачи, наоборот, бывают настолько трудными, что требуют от нас длительных размышлений и немалых усилий для получения результата. Например, задача «выучить английский язык» требует от нас большое количество сложных действий, чем решение задачи «купить воды».
Любую, даже самую простую задачу мы всегда решаем за несколько последовательных шагов.
Рассмотрим задачу «вскипяти чайник» как последовательность действий:
- взять чайник;
- открыть крышку;
- налить воды;
- закрыть крышку;
- включить плиту;
- поставить чайник на плиту;
- дождаться, пока чайник закипит;
- выключить плиту.
Таким образом можно описать процесс решения любой задачи. Например, задачи, которые ты решаешь в школе «найти сумму двух чисел», «вычислить площадь прямоугольника», «выполнить синтаксический разбор предложения», «найти размер компьютерного файла».
Алгоритм — это описание последовательности действий, приводящих к решению задачи.
Слово «алгоритм» в информатике происходит от имени персидского учёного Мухаммеда аль-Хорезми. reshak.ruru.ruwiki.ru
Около 825 года он написал сочинение Китаб аль-джебр валь-мукабала («Книга о сложении и вычитании»). В этой книге учёный впервые дал описание придуманной в Индии позиционной десятичной системы счисления. ru.ruwiki.ru
В первой половине XII века книга аль-Хорезми в латинском переводе проникла в Европу. Переводчик дал ей название Algoritmi de numero Indorum («Алгоритми о счёте индийском») — таким образом, латинизированное имя среднеазиатского учёного было вынесено в заглавие книги. ru.ruwiki.ru
Первоначально слово «алгоритм» обозначало лишь правила выполнения действий в десятичной системе счисления. С течением времени оно приобрело более широкий смысл и стало обозначать любые точные правила действий. lc.rt.ru
Свойства алгоритмов
1. Понятность — алгоритм должен быть написан на понятном для исполнителя языке.
2. Дискретность (прерывность, раздельность) — алгоритм должен представлять запись отдельных шагов. Необходимо использовать минимальное количество шагов. Каждый шаг должен приносить определённый результат.
3. Определённость — алгоритм должен быть чётким и восприниматься однозначно.
4. Результативность (или конечность) — алгоритм должен обязательно приводить к результату.
5. Массовость — алгоритм решения задачи применим для некоторого класса задач, различающихся лишь входными данными.
Способы записи алгоритмов
- Словесный (описание алгоритма на естественном языке).
- Графический (алгоритм составляется из специальных блоков — геометрических фигур).
- Псевдокоды (описания алгоритмов на условном алгоритмическом языке).
- Программный (тексты на различных языках программирования).
Исполнитель — это объект, который может выполнить алгоритм. Исполнителем может быть человек, животное или какое-то устройство: компьютер, стиральная машина.
Исполнитель — это устройство, способное выполнять определённый набор действий (команд).
Каждый исполнитель имеет свою систему команд исполнителя (СКИ). СКИ — это список команд, которые способен выполнять исполнитель.
Рассмотрим простой пример. Команды, которые может выполнять монитор компьютера: включение/выключение, настройки яркости, контрастности и т. п. Для каждой такой команды на мониторе есть отдельная кнопка.
Есть и более сложные исполнители. Например, стиральная машина. В современных стиральных машинах заложено очень много различных функций: замачивание, стирка, сушка, отжим, полоскание, отложить старт и т. д. Все эти функции описаны командами и хранятся в электронной памяти устройства. Стиральная машина выполняет весь процесс стирки автоматически без участия человека. Нам только нужно выбрать программу стирки, нажать на кнопку, и процесс начнётся.
Самыми совершенными исполнителями считаются роботы.
Робот выполняет свою работу точно и быстро. Роботы используются на сложных производствах, могут управлять самолётами и поездами, применяются в медицине, в военных технологиях, обеспечивают безопасность людей, заменяют труд человека в быту.
Самым распространенным и универсальным исполнителем является компьютер. Он может работать с любым видом информации: текстовой, числовой, графической, аудио и видеоинформацией.
Формальные и неформальные исполнители
Рис. 1. Исполнители
Каждому формальному исполнителю можно дать следующие характеристики.
Рис. 2. Характеристики формального исполнителя
Разработка алгоритма — это очень сложная задача, которая требует от человека большого количества знаний и много времени.
Исполнитель, выполняя алгоритм, следует по строго указанным командам, не понимая зачем и почему надо сделать именно так. Другими словами, исполнитель работает формально. Как только люди научились разрабатывать точные алгоритмы, появилась возможность автоматизировать труд человека, тем самым освободить его от рутинной работы. Для этого процесс решения некоторой задачи описывают в виде последовательности простейших действий, дальше создаётся автоматическое электронное устройство, которое выполняет все эти действия. Тем самым человек делает свою жизнь комфортнее.