Алгоритм и его свойства. Запись алгоритмов. Виды алгоритмов

В 1983 году отмечалось 1200-летие со дня рождения величайшего средневекового ученого Средней Азии Мухамеда ибн Мусы аль-Хорезми. С именем этого ученого связано понятие алгоритма.

Алгоритм – точное, понятное предписание исполнителю совершить последовательность действий, направленных на решение поставленной задачи.

Итак, алгоритм - это определённая последовательность действий, которые необходимо выполнить, чтобы получить результат. Алгоритм может представлять собой некоторую последовательность вычислений, а может - последовательность действий нематематического характера. Для любого алгоритма справедливы общие закономерности - свойства алгоритма.

Свойства алгоритма

Дискретность. Конечность и понятность Детерминированность Массовость Результативность

Дискретность - это свойство алгоритма, когда алгоритм разбивается на конечное число элементарных действий (шагов).

Конечность и понятность - свойство алгоритма, при котором каждое из этих элементарных действий (шагов) являются законченными и понятными.

Детерминированность (определенность) - свойство, когда каждое действие (операция. указание. шаг. требование) должно пониматься в строго определённом смысле, чтобы не оставалась места произвольному толкованию. чтобы каждый, прочитавший указание, понимал его однозначно.

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

Результативность – свойство, при котором любой алгоритм в процессе выполнения должен приводить к определённому результату. Отрицательный результат также является результатом.

Способы задания алгоритмов.

Словесное описание (на языке исполнителя).

Словесная запись алгоритма представляет собой последовательность этапов обработки данных и задается в произвольном изложении на естественном языке. Ориентирована на исполнителя-человека

Табличное описание.

ФИО

1.Кол-во дней

2.Дневная тарифн. ставка

3. З/пл= 1*2

Иванов

25

100

2500

Графическое описание или блок – схема алгоритма.

Алгоритм изображается в виде последовательности, связанных между собой функциональных блоков, каждому из которых соответствует выполнение одного или нескольких действий (операторов).

Приняты определенные стандарты графических изображений функциональных блоков.

НАЧАЛО

- начало алгоритма

КОНЕЦ

- конец алгоритма

- ввод/вывод

- оператор действия

- проверка условия

Внутри блока запись не формализована

Псевдокод - представляет собой систему обозначений и правил для единообразной записи алгоритма. Псевдокод занимает промежуточное положение между словесной записью алгоритма и алгоритмическим языком. В псевдокоде не приняты строгие синтаксические правила для записи команд, присущих формальным языкам. Вводятся понятия служебных слов, смысл которых определён раз и навсегда. Служебные слова выделяются в печатном тексте жирным шрифтом.

Рассмотрим запись алгоритма Евклида на псевдокоде:

Алг алгоритм Евклида

Арг N, M

Рез НОД

Нач

Пока N ¹M

Н. ц.

Если M > N

То M: = M-N

Иначе N: = N-M

Всё

К. ц.

НОД: = M

Кон

На алгоритмическом языке (программа).

Алгоритмический язык ориентирован на исполнителя ЭВМ, полностью формализованная запись алгоритма.

Рассмотрим запись алгоритма Евклида на языке программирования Pascal:

Program NOD;

Var n, m:word;

Begin

Writeln(‘Input m, n);

Readln(m, n);

While m<>n do

If m>n then m:=m-n

else n:=n-m;

Writeln(‘nod=’,m)

End.

Типы алгоритмических структур.

Существует три алгоритмические структуры. Из них составляются алгоритмы любой сложности.

1)  СЛЕДОВАНИЕ

2)  ВЕТВЛЕНИЕ

a)  полное

 


Если условие выполняется, то оператор 1, а если оно не выполняется, то оператор 2.

b)  неполное

Если условие выполняется, то оператор выполняется, а если нет, то ни чего не происходит (просто пролетает).

3)  ЦИКЛ

a)  с предусловием

Если условие истинно, то выполняется оператор, а если ложно, то выходит из цикла.

b)  с постусловием

Пока условие ложно, мы в цепи, а когда истинно, то мы вне цепи.

Каждая последовательность имеет вход и выход

Словарь терминов

Алгоритм – это точное предписание о последовательности действий, которые должны быть произведены для получения результата. Программа - запись алгоритма на  языке исполнителя Система команд исполнителя – совокупность команд, которые данный исполнитель умеет выполнить. Исполнитель – объект, который выполняет алгоритм