logo search
ЛекцииТарасова

Лекция 7. Алгоритмизация и технология программирования

7. Алгоритмы и способы их записи

7.1. Алгоритм и его свойства

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

7.3. Иллюстрированный вспомогательный материал

7.4. Тестирование

7.5. Контрольные вопросы

Наша учеба, работа, личные дела - это каждодневное, ежечасное решение различных задач. Каждая задача требует для своего решения выполнения определенных действий. Многократно решая задачи, можно заметьть, что необходимые действия должны выполняться в строго определенном порядке. В таких случаях принято говорить об алгоритме решения задач. Понятие алгоритма считается одним из древнейших. Оно возникло задолго до появления ЭВМ, но с развитием вычислительной техники его роль значительно возросла.

Происхождение понятия алгоритма связано с именем великого среднеазиатского ученого Аль Хорезми, жившего в 9 веке н.э. Им были сформулированы впервые правила выполнения четырех арифметических действий.

Алгоритм - это точная инструкция, а инструкции встречаются во всех областях человеческой деятельности. Однако не всякую инструкцию можно назвать алгоритмом. Решая задачу, человек часто не задумывается над тем, как он это делает, и порой, затрудняется записать последовательность выполняемых действий. Но для того, чтобы поручить решение задачи автоматическому устройству необходимо составить алгоритм с четким указанием последовательности действий. Чтобы автоматическое устройство могло решить задачу в соответствии с алгоритмом, оно должно понимать каждое указание алгоритма. Алгоритм применяется к искомому набору исходных величин, называемых аргументами. Цель исполнения алгоритма получение определенного результата, если в результате исполнения алгоритма не достигнута определенная цель, значит алгоритм либо неверен, либо не завершен.

7.1. Алгоритм и его свойства

Алгоритмом называется точная инструкция исполнителю в понятной для него форме, определяющая процесс достижения поставленной цели на основе имеющихся исходных данных за конечное число шагов.

Основными свойствами алгоритмов являются:

1. Универсальность (массовость) - применимость алгоритма к различным наборам исходных данных.

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

3. Однозначность - правила и порядок выполнения действий алгоритма имеют единственное толкование.

4. Конечность - каждое из действий и весь алгоритм в целом обязательно завершаются.

5. Результативность - по завершении выполнения алгоритма обязательно получается конечный результат.

6. Выполнимость - результата алгоритма достигается за конечное число шагов.

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

Выделяют три крупных класса алгоритмов:

- вычислительные алгоритмы, работающие со сравнительно простыми видами данных, такими как числа и матрицы, хотя сам процесс вычисления может быть долгим и сложным;

- информационные алгоритмы, представляющие собой набор сравнительно простых процедур, работающих с большими объемами информации (алгоритмы баз данных);

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

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

Для записи алгоритмов используют самые разнообразные средства. Выбор средства определяется типом исполняемого алгоритма. Выделяют следующие основные способы записи алгоритмов:

- вербальный, когда алгоритм описывается на человеческом языке;

- символьный, когда алгоритм описывается с помощью набора символов;

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

Общепринятыми способами записи являются графическая запись с помощью блок-схем и символьная запись с помощью какого-либо алгоритмического языка.

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

В зависимости от последовательности выполнения действий в алгоритме выделяют алгоритмы линейной, разветвленной и циклической структуры.

В алгоритмах линейной структуры действия выполняются последовательно одно за другим:

В алгоритмах разветвленной структуры в зависимости от выполнения или невыполнения какого-либо условия производятся различные последовательности действий. Каждая такая последовательность действий называется ветвью алгоритма.

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

Итерационным называется цикл, число повторений которого не задается, а определяется в ходе выполнения цикла. В этом случае одно повторение цикла называется итерацией.

7.5. Контрольные вопросы