Преподаватель Мельникова Татьяна Федоровна Тема: Циклические конструкции
Циклический алгоритм
Классический цикл
Алгоритм
Цикл с параметром - «для»
Цикл с параметром - «для»
Задача
1.86M

5_Циклические конструкции.ppt

1. Преподаватель Мельникова Татьяна Федоровна Тема: Циклические конструкции

ПРЕПОДАВАТЕЛЬ
МЕЛЬНИКОВА ТАТЬЯНА ФЕДОРОВНА
ТЕМА: ЦИКЛИЧЕСКИЕ
КОНСТРУКЦИИ

2. Циклический алгоритм

Циклическим называется алгоритм, который
содержит участок , выполняющийся многократно,
каждый раз с новыми значениями переменных,
изменяющихся по одним и тем же законам.
По способу организации циклы делятся на два
основных вида:
➢
циклы с известным заранее числом повторений
(классические);
➢
циклы с неизвестным числом повторений
(итерационные).
2

3.

Классический цикл организуется с помощью
специальной переменной, которая называется
параметром цикла.
Параметр цикла - это числовая переменная,
которая управляет работой цикла.
Она изменяется по закону арифметической
прогрессии, что обеспечивает повторение цикла
нужное количество раз.
Для этого заранее должны быть известны:
➢ начальное значение параметра (tнач );
➢ конечное значение параметра (обозначим tкон );
➢ шаг изменения параметра (▲t).
3

4. Классический цикл

Зная эти 3 величины, можно вычислить
количество повторений цикла по формуле:
В этой формуле квадратные скобки обозначают,
что после деления берется только целая часть числа
(дробная часть всегда отбрасывается, а не
округляется), т.к. количество повторений цикла –
это целая величина.
4

5.

Классический цикл имеет 4 части:
подготовка цикла - параметру цикла
присваивается начальное значение;
тело цикла - основные действия, которые
повторяются каждый раз, на каждом витке
цикла;
изменение параметра цикла на величину
шага;
условие выхода из цикла (или, напротив условие повторения цикла) - проверка
параметра на конечное значение.
5

6.

От взаимного расположения этих частей
зависит вид типовой схемы одиночного
цикла.
Существуют
следующие
циклические
конструкции:
- Цикл «пока»
- Цикл «делай»
- Цикл с параметром («для»)
6

7.

Цикл типа
"пока"
(с условием
повтора)
7

8.

Предписывает выполнять тело цикла до тех
пор, пока выполняется условие ( истинно) ,
записанное в блоке «Решение».
Если условие ложно с самого начала цикл не
выполнится ни разу
8

9.

Пример 1. Построить таблицу значений функции y =
2sin(x2-1) на заданном интервале [a,b] с шагом h.
Спецификация
Имя переменной
Назначение
Тип
Статус
а
начало
интервала
вещественное
входные
b
конец интервала
вещественное
входные
h
шаг изменения
аргумента
функции
вещественное
входные
y
значения
функции
вещественное
выходные
9

10.

Выбор метода решения задачи
На каждом витке цикла нужно выбирать точку х
(значение аргумента), вычислять для неё
значение функции y и выводить значения х и y в
таблицу.
Эскиз вывода результатов
При а=2, в=10, h=2
х
x=а=2
x=x+h=4
….
x=b=10
у
0,1047
0,5176
…
1,9754
10

11.

Разработка алгоритма
В качестве параметра цикла удобно
использовать аргумент функции, так как он
изменяется на интервале (a,b) с постоянным
шагом h (т.е. по закону арифметической
прогрессии).
Тогда начальным значением параметра будет
число a, а конечным значением - число b.
Изменение параметра вычисляем по формуле:
x=x+h
В теле цикла - 2 действия: вычисление функции
и вывод результатов.
11

12.

Блок-схема
Для проверки правильности
алгоритма составить
трассировочную таблицу и
выполнить алгоритм при а=2,
в=10, h=2
х
x<=b
y
Вывод x,y
X=2
…
Х=10
12

13.

Цикл «делай»
предписывает выполнять
тело цикла до тех пор, пока
не выполняется условие
(т.е. должно быть
условие выхода из цикла),
записанное после в конце цикла.
В отличие от цикла «пока»
тело цикла «делай»
выполняется хотя
бы один раз.
13

14.

Пример 2. Дано натуральное N и первый член бесконечного ряда: Y1=1. Вычислить
сумму членов бесконечного ряда, образованного по следующему рекуррентному
соотношению: Yi =2 •Yi-1, (то есть S = 1+2+4+8+16+...).
Вычисление суммы продолжать до тех пор, пока соблюдается условие
| Yi - Yi-1| <N.
При решении задачи одномерный массив не использовать
Решение
В задаче число учитываемых при суммировании членов
ряда заранее не задано, следовательно, применяем
итерационный цикл.
Вычисляем в цикле значения суммы предыдущего а и
последующего b членов ряда.
Как только разница между предыдущим а и последующим
b членами ряда по абсолютному значению станет равна
значению N или превысит его, вычисление суммы
прекращаем.
14

15.

Спецификация
Ограничения:
1 N натуральное, значит N>0, целое
2 Условие продолжения цикла: | b - a| < N
Формулы:
Вычисление суммы- до цикла S=0 ‖ в цикле S=S+ слагаемое
слагаемым является переменная а, тогда S=S+ а
Новое слагаемое –
b= 2*a
15

16. Алгоритм

Проверка работы алгоритма
Тест
Пусть N=6
S=1+2+4+8+16=31
Выполнить трассировку алгоритма для
оценки его правильности
N
6
b
1
S
a
|b-a|>N
0
…
16

17. Цикл с параметром - «для»

Для обозначения циклического процесса есть
специальный блок - это символ "подготовка".
Внутри блока указываются параметр цикла,
его начальное и конечное значения и шаг
изменения в виде
.
Тело цикла обычно располагается ниже и
более четко просматривается на схеме.
17

18. Цикл с параметром - «для»

Предписывает выполнять тело цикла для всех
значений переменной (параметр цикла) в заданном
диапазоне.
Этапы работы:
1 Параметру присваивается
начальное значение
2 выполняется проверка:
значение параметра
удовлетворяет условию
повторения цикла(х<=b)
3 если «да», то
- выполняется тело цикла
- параметр автоматически
изменяет свое значение и
переходим на п.2
если «нет», то цикл завершает
свою работу
18

19. Задача

Даны два целых числа A и B (A < B).
Найти сумму S всех целых чисел от A до B
включительно и подсчитать их среднее
арифметическое значение и количество чисел
кратных 7.
Указание. Организовать проверку вводимых
значений на соблюдение условия A < B .
Составьте спецификацию, укажите ограничения,
запишите формулы для вычисления переменных.
Составьте алгоритм и выполните трассировку
19

20.

20

21.

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

22.

Вложенные циклы (сложные)
При использовании вложенных циклов нужно соблюдать
следующие правила:
- внутренний цикл должен целиком содержаться в теле
внешнего;
- если при организации вложенных циклов используются
циклы «для», то параметры циклов должны быть различными;
- из внутреннего цикла можно в любом месте выйти во
внешний цикл; из внешнего цикла можно войти во внутренний
только через его заголовок;
- параметр внутреннего цикла изменяется быстрее, чем
внешнего цикла.
22

23.

Вложенные циклы (сложные)
Сложные циклы условно разбивают на
уровни вложенности.
Внешний цикл 1 имеет уровень 0,
внутренний цикл 2 – уровень 1.
Цикл 2 является внутренним по
отношению к циклу 1.
Параметры циклов разных уровней изменяются не
одновременно. Вначале все свои значения изменит параметр
цикла наивысшего уровня вложенности (Цикл 2).
Затем изменяется на один шаг значение параметра внешнего
цикла следующего уровня (Цикл 1) и снова полностью
выполняется внутренний цикл и т.д. до тех пор, пока параметры
циклов всех уровней не примут все требуемые значения.
23

24.

Вложенные циклы (сложные)
Пример. Составить алгоритм, формирующий
таблицу умножения цифр от1 до 9
Таблица Пифагора
24

25.

Вложенные циклы (сложные)
Пример. Моделирование работы электронных часов
Часы служат хорошим примером работы вложенного цикла.
Секундная, минутная и часовая стрелки вращаются вокруг
циферблата.
Часовая стрелка смещается всего на 1 шаг для каждых 60 шагов
минутной стрелки.
Секундная стрелка должна сделать 60 шагов для 1 шага
минутной стрелки.
Это означает, что для каждого полного оборота часовой стрелки
(12 шагов), минутная стрелка делает 720 шагов.
Результат работы должен быть следующим:
0:0:0
0:0:1
0:0:2
...
23 : 59 : 58
25

26.

Вложенные циклы (сложные)
1) Сколько циклов необходимо использовать для решения
задачи?
2) Какой цикл должен быть внутренним?
3) Какой цикл должен быть внешним?
➢ Самый внутренний цикл по секундам сделает 60 итераций
для каждой итерации среднего цикла.
➢ Средний цикл по минутам сделает 60 итераций для каждой
итерации самого внешнего цикла.
➢ Когда самый внешний цикл по часам сделает 24 итерации,
средний цикл по минутам сделает 24⋅60=1440 итераций, и
самый внутренний цикл по секундам сделает 24
⋅60⋅60=86400 итераций!
26

27.

Вложенные циклы
Нарисуйте алгоритм Моделирование работы электронных
часов
Пример имитационной модели часов позволяет сделать
выводы, имеющим отношение к вложенным циклам:
➢ вложенный цикл выполняет все свои итерации для каждой
отдельной итерации внешнего цикла;
➢ вложенные циклы завершают свои итерации быстрее, чем
внешние циклы;
➢ для того, чтобы получить общее количество итераций
вложенного цикла, надо перемножить количество итераций
всех циклов.
27

28.

Спасибо за работу на уроке!
28
English     Русский Rules