2.3. Понятие алгоритма, его свойства

Само слово «алгоритм» происходит от имени арабского математика аль-Хоремзи, оно использовалось для обозначения правил выполнения четырех арифметических действий.

Алгоритм – это точное предписание, ориентированное на некоторого исполнителя, определяющее процесс получения искомого результата на основе исходных данных.

Алгоритмы встречаются не только в вычислительной технике, но и в обыденной жизни. Примерами алгоритмов в обыденной жизни являются:

1) поездка в университет;

2) ремонт телевизора по инструкции;

3) поиск пропавшей вещи;

4) выращивание растений на участке.

Не все задачи могут быть решены с использованием алгоритмов (написание музыки, написание стихов, научное открытие).

Алгоритм имеет некоторое число входных величин – аргументов, задаваемых до начала работы.

Цель алгоритма: получение результата, имеющего вполне определенное отношение к исходным данным. Можно сказать, что алгоритм указывает последовательность действий по переработке исходных данных в результаты.

Алгоритмы обладают некоторыми свойствами:

1) для алгоритма можно брать различные наборы входных данных, т.е. можно применять один и тот же алгоритм для решения целого класса однотипных задач, различающихся исходными данными. Это свойство алгоритма называется массовостью;

2) чтобы алгоритм можно было выполнить, он должен быть понятен исполнителю. Понятность алгоритма означает знание исполнителя о том, что надо делать для исполнения этого алгоритма.

алгоритм представлен в виде конечной последовательности шагов. Говорят, что алгоритм имеет дискретную структуру. Следовательно, его исполнение

1) расчленяется на выполнение отдельных шагов. Это свойство называется дискретностью;

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

5) каждый алгоритм должен быть четко и недвусмысленно определен и не должен допускать произвольной трактовки исполнителем. При исполнении алгоритма исполнитель должен действовать строго в соответствии с его правилами и у него не должно возникать потребности предпринимать какие-нибудь действия, отличные от предписанных алгоритмом. Данное свойство называется определенностью алгоритма;

6) каждый шаг должен быть выполнен точно и за конечное время. В этом смысле говорят, что алгоритм должен быть эффективным, т.е. действия исполнителя не каждом шаге исполнения алгоритма должны быть достаточно простыми, чтобы их можно было выполнить. Это свойство называется эффективностью.