Само слово «алгоритм» происходит от имени арабского математика аль-Хоремзи, оно использовалось для обозначения правил выполнения четырех арифметических действий.
Алгоритм – это точное предписание, ориентированное на некоторого исполнителя, определяющее процесс получения искомого результата на основе исходных данных.
Алгоритмы встречаются не только в вычислительной технике, но и в обыденной жизни. Примерами алгоритмов в обыденной жизни являются:
1) поездка в университет;
2) ремонт телевизора по инструкции;
3) поиск пропавшей вещи;
4) выращивание растений на участке.
Не все задачи могут быть решены с использованием алгоритмов (написание музыки, написание стихов, научное открытие).
Алгоритм имеет некоторое число входных величин – аргументов, задаваемых до начала работы.
Цель алгоритма: получение результата, имеющего вполне определенное отношение к исходным данным. Можно сказать, что алгоритм указывает последовательность действий по переработке исходных данных в результаты.
Алгоритмы обладают некоторыми свойствами:
1) для алгоритма можно брать различные наборы входных данных, т.е. можно применять один и тот же алгоритм для решения целого класса однотипных задач, различающихся исходными данными. Это свойство алгоритма называется массовостью;
2) чтобы алгоритм можно было выполнить, он должен быть понятен исполнителю. Понятность алгоритма означает знание исполнителя о том, что надо делать для исполнения этого алгоритма.
алгоритм представлен в виде конечной последовательности шагов. Говорят, что алгоритм имеет дискретную структуру. Следовательно, его исполнение
1) расчленяется на выполнение отдельных шагов. Это свойство называется дискретностью;
4) выполнение алгоритма заканчивается после выполнения конечного числа шагов. При выполнении алгоритма некоторые его шаги могут повторяться многократно. В математике существуют вычислительные процедуры, имеющие алгоритмический характер, но не обладающие свойством конечности. На этом принципе основано получение многих вычислительных алгоритмов, при этом строится бесконечный, сходящийся к искомому решению процесс. Точность приближения зависит от числа шагов. Это свойство называется конечностью алгоритма;
5) каждый алгоритм должен быть четко и недвусмысленно определен и не должен допускать произвольной трактовки исполнителем. При исполнении алгоритма исполнитель должен действовать строго в соответствии с его правилами и у него не должно возникать потребности предпринимать какие-нибудь действия, отличные от предписанных алгоритмом. Данное свойство называется определенностью алгоритма;
6) каждый шаг должен быть выполнен точно и за конечное время. В этом смысле говорят, что алгоритм должен быть эффективным, т.е. действия исполнителя не каждом шаге исполнения алгоритма должны быть достаточно простыми, чтобы их можно было выполнить. Это свойство называется эффективностью.