Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_ЗФ / 2013_Информатика УМО_легпром.doc
Скачиваний:
354
Добавлен:
22.03.2016
Размер:
50.51 Mб
Скачать
    1. Алгоритмы линейной структуры

Линейные алгоритмы предполагают последовательное выполнение действий в порядке, заданном схемой, без их повторения или пропуска некоторых действий. Алгоритм линейной структуры изображается линейной последовательностью связанных друг с другом блоков (рис. 9.8). Такой порядок выполнения действий называется естественным. Поэтому в схемах алгоритмов линейной структуры нет блока «Решение».

Рис. 9.25. Алгоритм линейной структуры

В тестовом задании ниже представлен линейный вычислительный процесс. Фрагмент данного алгоритма записан в словесно-формульном виде.

Тестовое задание 9.7.

Чему равны значения переменных аиbпосле выполнения следующего фрагмента алгоритма:

1) а = 3;

2) b = 7;

3) b = a;

4) a = b;

5) b = b*2

Ответы:

  1. a= 3;b= 6

  2. a= 14;b= 7

  3. a= 7;b= 14

  4. a= 6;b= 3

  5. a= 3;b= 14

Решение.Выполняем алгоритм последовательно по шагам:

1) а =3;

2) b = 7;

3) b = a; знак равенства «=» в этом случае трактуется как знак присваивания «=:», следовательно, переменнойbприсваивается значение переменнойа=3; т.е. переменнаяbпримет значениеb=3;

4) a=b; переменнойаприсваивается значение переменнойb=3; следовательно, переменнаяапримет значениеа =3;

5) b=b*2; переменнойbприсваивается значениеb*2 (к этому моменту переменнаяbимеет значениеb=3); следовательно, переменнаяbпримет значениеb= b·2=3·2=6.

Таким образом, в результате выполнения алгоритма переменные аиb примут значения a = 3;b = 6.

Визуальное представление данного фрагмента алгоритма в виде блок-схемы представлено на рисунке 9.9.

Рис. 9.26. Визуальное представление фрагмента линейного алгоритма

    1. Алгоритмы ветвящейся структуры

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

Таким образом, алгоритм ветвящейся структуры содержит только структуры «Следование» и «Ветвление» (рис. 9.2, 9.3 и 9.4).

Структура «Ветвление» описывает следующий процесс: если B – ИСТИНА (TRUE) (не равно нулю), то выполняется структураS1; еслиB– ЛОЖЬ (FALSE) – структураS2. При этом происходит разветвление алгоритма (рис. 9.3).

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

Пример.Рассмотрим пример ветвящегося вычислительного процесса. Определить и вывести на экран монитора сведения о положении точки (Х,Y) в указанной области (рис. 9.10). Координаты точки вводятся с клавиатуры по запросу пользователя. Примечание: прямая, уравнение которойх= 2 принадлежит области В.

Рис. 9.27. Рисунок, иллюстрирующий условие примера

Визуальное представление алгоритма в виде блок-схемы представлено на рисунке 9.11.

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

Если сравнить схему на рисунке 9.11 со схемами на рисунках 9.2 и 9.3, то видно, что данный алгоритм содержит базовые управляющие структуры – «Следование» и «Ветвление». При x≥ 2 блоки выполняются в следующей последовательности: 1, 2, 3, 4, 5, 7. Следовательно, еслиx≥ 2, в блоке 5 на мониторе будет выведено «точкаX,Yв области В».Если x < 2, последовательность выполнения блоковследующая: 1, 2, 3, 4, 6, 7, т.е. на экран в блоке 6 будет выведено «точкаX,Yв области А». Данный результат соответствует условию задачи.

В тестовом задании 9.2 представлен фрагмент данного ветвящегося алгоритма, записанный в словесно-формульном виде.

Тестовое задание 9.8

Определите значение переменной z после выполнения фрагмента алгоритма, представленного на рисунке 9.12:

Рис. 9.29. Рисунок к заданию 9.8

Решение.

Блок 1. Присваиваем значения х= 7 иy= 5.

Блок 2. Выполняем проверку x>y, результат – «истина», следовательно, после блока 2 выполняем блок 3.

Блок 3. Вычисляем значение переменной z=x+y = 7+5 = 12.

Блок 5. Выводим значение переменной zна экран монитора.