Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_dlya_studentov_2_matematika.doc
Скачиваний:
56
Добавлен:
25.11.2018
Размер:
2.93 Mб
Скачать

2. Теоретический материал для практического занятия №2

2.1. Словесные алгоритмы. Циклы

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

Пример 1.

Найти сумму значений переменной Р, полагая, что начальное значение этой переменной равно нулю , т.е. Р=0. В каждом цикле переменная изменяется на 2, т.е. Р=Р+2. Количество циклов равно 5. В результате данного алгоритма значение переменной будет равна Р=10.

В следующем примере алгоритм задачи приближен к блок-схеме. Вместо графических блоков даётся словесное описание каждого действия.

Пример 2.

Пусть заданы начальные значения переменных:

x:=1; y:=5.

Начало цикла;

пока y>x

y: = y – x;

конец цикла.

Определить количество циклов и значения переменных x, y после выхода из цикла.

Решение.

Цикл выполняется до тех пор, пока выполняется условие y>x. Так как y:=5, x:=1, то условие выполняется, и значение y вычисляется по формуле y: = y – x.

В результате выполнения первого цикла получим y:=4.

Во втором цикле условие y>x выполняется, и после выполнения второго цикла получим значение y=3.

В третьем цикле условие y>x выполняется, и после выполнения цикла получим значение y=2.

В четвёртом цикле условие y>x выполняется, и после выполнения цикла получим значение y=1.

При значениях y:=1, x:=1 условие y>x не выполняется, цикл не будет выполняться.

Следовательно, в примере 2 цикл закончится, выполнится четыре цикла.

На выходе из цикла значения переменных будут равны y:=1, x:=1.

2.2. Блок-схемы. Циклы

Пример 3.

Составить в виде блок-схемы циклический алгоритм примера 2.

Решение.

Условие проверяется на входе в цикл. В теле цикла выполняется два блока:

1) у=у-х;

2) вывод значений переменных x, y.

Рис. 2.1. Блок-схема циклического алгоритма с предусловием (пример 2)

Цикл выполняется до тех пор, пока выполняется условие y>x. При условии равенства этих переменных у=х или y<x цикл заканчивается.

  1. Примеры выполнения задания к практическому занятию №2

Пример 4.

В цикле вычислить значение функции z=x*y при условии, что одна из переменных «x» меняется в каждом цикле на единицу, а другая переменная «у» не меняется и может быть любым целым числом. В результате выполнения цикла при начальном значении переменной х=1 можно получить таблицу умножения. Алгоритм этой задачи приводится на рис. 2.2.

Во втором блоке вводятся количество циклов n и любые целые числа х, y.

В третьем блоке указывается диапазон изменения счётчика цикла (от i =1 до i=n).

В четвёртом блоке изменяются значения переменных: z, x.

В пятом блоке выводится результат. Четвёртый и пятый блоки повторяются в каждом цикле.

Циклические алгоритмы примеров 2 и 4 отличаются тем, что в блок-схеме примера 2 количество циклов не задано и определяется условием. Пока условие выполняется, цикл выполняется.

В примере 4 дано количество циклов. Пока не выполнится заданное количество циклов, повторение тела цикла продолжается.

Соответственно, из циклических алгоритмов выделяют два типа:

  • с заданным количеством циклов или со счётчиком циклов;

  • количество циклов неизвестно.

Алгоритм задачи в примере 4, представленный на рис. 2.2, относится к первому типу циклических алгоритмов, так как задано количество циклов переменной «n». Число циклов вводится с клавиатуры, что отображается во втором блоке на рис. 2.2. В третьем блоке переменная «i» считает количество циклов, после каждого цикла увеличиваясь на единицу, пока счётчик не будет равен i=n. При i=n будет выполнен последний цикл. Этот тип циклических алгоритмов предпочтителен, если дано количеством циклов.

Если количество циклов неизвестно, то блок-схемы циклических алгоритмов может быть представленаы в виде рисунков 2.1 и 2.3.

Рис. 2.2. Блок-схема циклического алгоритма со счётчиком циклов (пример 4)

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

Если условие в этой блок-схеме перенести в конец цикла, после вывода на печать, то условие изменится. В этом случае проверяется условие на выход из цикла: y<=x. При этом условии цикл не выполняется.

Алгоритм примера 3, если условие перенести в конец цикла, называется алгоритмом цикла с постусловием, изображен на рис. 2.3.

Рис. 2.3. Алгоритм цикла с постусловием