logo
Лекции на экзамен

3. Разработка алгоритма

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

Алгоритм обладает следующими свойствами (они следуют из определения):

  1. определенность (детерминированность) – каждая команда (или предписание) понятна исполнителю (человеку или компьютеру) и исключает неоднозначность исполнения;

  2. результативность – реализация вычислительного процесса, предусмотренного алгоритмом, должна через определенное число шагов привести к результату или сообщению о невозможности его получения;

  3. массовость – если алгоритм разработан для решения определенной задачи, он должен быть применим для решения задач этого типа при всех допустимых значениях исходных данных;

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

Различают следующие простейшие виды алгоритмов:

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

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

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

Основные виды алгоритма.

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

Блок-схема — это графическая интерпретация алгоритма, представ­ляющая набор геометрических фигур, каждая из которых изображает какую-либо операцию или действие. Форма символов и правила со­ставления схем алгоритмов установлены государственными стандарта­ми Основные элементы, используемые при построении блок-схем, представлены в табл. 1.

Таблица 7.1. Основные блочные символы

Обозначение

Функция

1.

Начало-конец программы – Начало, конец процесса обработки данных или выполнения программы.

2.

Ввод-вывод данных – преобразование данных в форму пригодную для обработки (ввод) или отображение результатов обработки (вывод).

3.

Линия потока – указание последовательности обработки символов.

4.

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

5.

Решение – выбор направления выполнения алгоритма или программы в зависимости от некоторых переменных условий.

Базовые алгоритмические структуры  

1. Линейные алгоритмы — последовательность блоков, каждый из которых имеет по одному входу и одному выходу, и выполняется в программе один раз. (Рис.7.1)

Рис. 7.1. Алгоритм линейной структуры Рис.7.2. Алгоритм «Разветвления»

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

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

Рис.7.3. Алгоритм циклического вычислительного процесса