Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4928.pdf
Скачиваний:
11
Добавлен:
13.11.2022
Размер:
831 Кб
Скачать

7

Алгоритмизация вычислительных процессов

Понятие алгоритма

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

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

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

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

Разработка алгоритма решения вычислительной задачи на ЭВМ предполагает представление процесса её реализации в виде последовательности элементарных действий, которые могут быть выполнены на компьютере.

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

Алгоритм должен обладать следующими основными свойствами:

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

2)определённостью (детерминированностью) – применение алгоритма к одним и тем же исходным данным должно приводить к одному и тому же результату;

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

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

8

Формы представления алгоритмов

Алгоритм может быть представлен в следующих основных формах:

1)словесной (например, на естественном языке – в вербальной форме);

2)табличной (непосредственно в таблице с исходными данными для решения задачи приводятся указания, какие действия и в каком порядке следует выполнять с этими данными);

3)графической (в виде блок-схем).

Представление алгоритмов в графическом виде

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

Таблица 1 – Основные блоки для представления алгоритмов в графическом виде

Название блока

Изображение блока

Назначение блока

 

 

 

 

 

Процесс

 

 

 

Вычислительное действие или

 

 

 

 

 

 

 

последовательность таких

 

 

 

 

действий

 

 

 

 

 

 

 

 

 

Решение

 

 

 

Проверка условия и выбор

 

 

 

 

дальнейшего направления

 

 

 

 

решения

 

 

 

 

 

Модификация

 

 

 

Начало цикла

Данные

 

 

 

Ввод исходных данных и вы-

 

 

 

 

вод полученных результатов

 

 

 

 

 

Терминатор

 

 

 

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

 

 

 

 

 

Предопределённый

 

 

 

Вычисления по подпрограмме

 

 

 

процесс

 

 

 

 

 

 

 

 

 

9

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

Если переход между блоками выполняется в направлениях справа налево или снизу вверх, соединительные линии обязательно дополняются стрелками, указывающими направление перехода. При переходах слева направо или сверху вниз использовать стрелки необязательно.

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

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

Линейная структура предполагает однократное выполнение некоторой последовательности шагов (рисунок 1):

Вход

Действие 1

Действие 2

Действие 3

Выход

Рисунок 1 – Блок-схема алгоритма линейной структуры

Разветвляющаяся структура также предполагает однократное выполнение некоторой последовательности шагов, однако состав этой последовательности определяется результатами проверки некоторого условия. Каждое из возможных направлений решения называется ветвью. В общем случае количество ветвей может быть достаточно большим, но в большинстве алгоритмов оно ограничивается двумя ветвями (рисунок 2). Если «Условие» выполняется, реализуется «Действие 1», если нет – «Действие 2» (рисунок 2):

10

 

 

 

 

Вход

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

 

Нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Условие

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие 1

 

 

 

Действие 2

 

 

 

 

 

 

 

 

 

 

Выход

Рисунок 2 – Блок-схема разветвляющегося алгоритма

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

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

Взависимости от решаемой задачи можно организовать выполнение цикла различными способами.

Если количество повторений тела цикла известно в явном или неявном виде, удобно использовать алгоритм (рисунок 3):

Вход

Счётчик

Тело цикла

Выход

Рисунок 3 – Блок-схема циклического алгоритма со счётчиком

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

11

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

Вструктуре с предусловием условие, контролирующее необходимость продолжения циклических действий, проверяется перед телом цикла (рисунок 4). Если «Условие» выполняется, тело цикла повторяется, если нет – управление передаётся на следующий за циклом блок алгоритма (рисунок 4):

Вход

Нет

Условие

Да

Тело цикла

Выход

Рисунок 4 – Блок-схема циклического алгоритма с предусловием

В структуре с постусловием условие, проверяющее, будут ли повторяться циклические действия, размещается после тела цикла (рисунок 5).

Вход

Тело цикла

Да

Нет

 

Условие

Выход

Рисунок 5 – Блок-схема циклического алгоритма с постусловием

Различие между циклическими структурами с условием заключается в том, что в алгоритме с предусловием тело цикла может не выполняться ни разу (это зависит от результата проверки «Условия»), а в алгоритме с постусловием тело цикла обязательно будет исполнено по крайней мере один раз.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]