Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по информатике с вопросами к экзамену.doc
Скачиваний:
46
Добавлен:
30.04.2015
Размер:
1.08 Mб
Скачать

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

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

Линейный тип алгоритмов

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

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

Пример

Постановка задачи:вычислить площадь круга, если известен радиус.

Дано:R– радиус круга.

Найти: S– площадь круга.

Решение: S=3,14R2

Словесная форма записи алгоритма

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

  1. Прочесть значение R.

  2. Умножить значение Rна 3,14.

  3. Умножить результат второго действия на значение R.

  4. Записать полученный результат как значение S.

На языке блок-схем – рис. 8

Разветвляющийся тип алгоритмов

Решение задач не всегда можно представить в виде линейного алгоритма.

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

При графическом способе ветвление организуется с помощью логического элемента (ромб), имеющего один вход и два выхода. Назначение логического элемента – проверка заданного условия. В зависимости от выполнения (истинности) или невыполнения (ложности) проверяемого условия возможен выход соответственно на ветвь «Да» или «Нет».

Пример

Постановка задачи: вычислить .

Дано: х – значение аргумента.

Найти: у – значение функции.

Решение:

y=x, если х0

-x, если х<0

Блок-схема- см. рис. 9.

Словесное представление

На псевдокоде:

Начало

Прочесть значение х

Если х>0, то

у: = х

иначе

начало

у: = -х

Конец ветвления

Записать значение у

Конец

Выделяют полную и неполную условную конструкцию.

Циклический тип алгоритмов

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

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

Однако, «неоднократно» не значит «до бесконечности». Организация циклов, никогда не приводящая к остановке в выполнении алгоритма (так называемое зацикливание), является нарушением требования его результативности.

При разработке алгоритма циклической структуры выделяют следующие понятия:

  • параметр цикла– величина, с изменением которой связано многократное выполнение цикла;

  • начальное и конечное значение параметрацикла;

  • шаг цикла– это значение, на которое изменяется параметр цикла при каждом повторении.

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

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

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

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

Рассмотрим графическое представление циклического блока алгоритма (см. рис. 10).

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

Цикл с постусловием

Цикл с предусловием