
Пример Линейного Алгоритма
Алгоритм - четкое описание последовательности действий, которые необходимо выполнить при решении задачи. Можно сказать, что алгоритм описывает процесс преобразования исходных данных в результаты, т.к. для решения любой задачи необходимо:
Ввести исходные данные.
Преобразовать исходные данные в результаты (выходные данные).
Вывести результаты.
Разработка алгоритма решения задачи - это разбиение задачи на последовательно выполняемые этапы, причем результаты выполнения предыдущих этапов могут использоваться при выполнении последующих. При этом должны быть четко указаны как содержание каждого этапа, так и порядок выполнения этапов. Отдельный этап алгоритма представляет собой либо другую, более простую задачу, алгоритм решения которой известен (разработан заранее), либо должен быть достаточно простым и понятным без пояснений. Разработанный алгоритм можно записать несколькими способами:
на естественном языке;
в виде блок-схемы;
в виде R-схемы.
Рассмотрим пример алгоритма на естественном языке:
Ввести в компьютер числовые значения переменных а, b и с.
Вычислить d по формуле d = b2 - 4ас.
Если d < 0, то напечатать сообщение "Корней нет" и перейти к п.4. Иначе вычислить и напечатать значения x1 и x2.
Прекратить вычисления.
Изображение алгоритма в виде блок-схемы
Блок-схемой называется наглядное графическое изображение алгоритма, когда отдельные его этапы изображаются при помощи различных геометрических фигур - блоков, а связи между этапами (последовательность выполнения этапов) указываются при помощи стрелок, соединяющих эти фигуры. Блоки сопровождаются надписями. Типичные действия алгоритма изображаются следующими геометрическими фигурами: Блок начала-конца алгоритма (рис. 1.1). Надпись на блоке: "начало" ("конец"). Блок ввода-вывода данных (рис. 1.2). Надпись на блоке: слово "ввод" ("вывод" или "печать") и список вводимых (выводимых) переменных.
|
|
Рис. 1.1. Блок начала-конца алгоритма |
Рис. 1.2. Блок ввода-вывода данных |
Блок решения или арифметический (рис. 1.3). Надпись на блоке: операция или группа операций. Условный блок (рис. 1.4). Надпись на блоке: условие. В результате проверки условия осуществляется выбор одного из возможных путей (ветвей) вычислительного процесса. Если условие выполняется, то следующим выполняется этап по ветви "+", если условие не выполняется, то выполняется этап по ветви "–".
|
|
Рис. 1.3. Арифметический блок |
Рис. 1.4. Условный блок |
Алгоритмы разветвленной структуры
Алгоритмы разветвленной структуры применяются, когда в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие. В блок-схемах разветвленные алгоритмы изображаются так, как показано на рис. 1.10 - 1.11.
|
|
Рис. 1.10 Фрагмент алгоритма |
Рис. 1.11 Пример разветвления |
Циклический алгоритм – это алгоритм обеспечивающий решение задачи путём многократного повторения последовательности действий. которые многократно повторяются - называются циклами. Циклы по числу повторений делятся на циклы с заданным числом повторений и итерационные.
Алгоритмы вычисления суммы являются стандартными циклическими алгоритмами. Перед первым выполнением цикла необходимо задать начальное значение суммы (количество, разность, произведение и т. д.).
Понятие цикла. Виды циклических алгоритмов и их представление в виде блок-схемы.
Алгоритм, который предусматривает многократное повторение одного и того же действия, называется циклическим. В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в циклические алгоритмы входит последовательность команд, выполняемая многократно. Такая последовательность команд называется телом цикла. Циклические алгоритмы являются наиболее распространенным видом алгоритмов, в них предусматривается повторное выполнение определенного набора действий при выполнении некоторого условия. Такое повторное выполнение часто называют циклом. Существуют два основных видов циклических алгоритмов:
С заданным количеством повторений (рис.1)
П
З
– параметр цикла
Н
З
– начальное значение
К
З
– конечное значение
Ш – шаг <тело цикла>
Рис.1
По заданному условию:
- циклические алгоритмы с предусловием.
-циклические алгоритмы с постусловием.
Цикл с предусловием начинается с проверки условия выхода из цикла. Это логическое выражение, например I<=6. Если оно истинно, то выполняются те действия, которые должны повторяться. В противном случае, если логическое выражение I<=6 ложно, то этот цикл прекращает свои действия.
Цикл с постусловием функционирует иначе. Сначала выполняется один раз те действия, которые подлежат повторению, затем проверяется логическое выражение , определяющее условие выхода из цикла, например, I>6 .Проверка его осуществляется тоже по-другому. Если условие выхода истинно, то цикл с постусловием прекращает свою работу, в противном случае - происходит повторение действий, указанных в цикле. Повторяющиеся действия в цикле называются "телом цикла". Они отличаются друг от друга местоположением условия выхода их цикла. Разновидности циклов приведены на рис. 2а),б).
а) Цикл с постусловием б) Цикл с предусловием
Рис. 2. Виды циклических алгоритмов
Алгоритмы изображаются следующими геометрическими фигурами:
Блок начала-конца алгоритма (рис. 3). Надпись на блоке: "начало" ("конец"). Блок ввода-вывода данных (рис. 4). Надпись на блоке: слово "ввод" ("вывод" или "печать") и список вводимых (выводимых) переменных.