Similar presentations:
Циклические алгоритмы
1.
Лекция 3.Циклические алгоритмы
2.
Пусть требуется вычислить несколько значений функцииу = 2х3 - 5 для значений х, начиная с х = 1 и с шагом 0,5.
Последовательность необходимых для этого действий может
быть записана так:
1.
2.
3.
4.
5.
6.
7.
8.
1.
2.
3.
4.
5.
х := 1
у := 2х3 – 5
запись х, у
х := х + 0,5
у := 2х3 – 5
запись х, у
х := х + 0,5
у := 2х3 – 5
и т.д.
Предписание безусловного перехода:
х := 1
у := 2х3 – 5
запись х, у
х := х + 0,5
идти к 2
3.
х := 1у = 2х3 – 5
запись х, у
х := х + 0,5
4.
1.2.
3.
4.
5.
6.
х := 1
у := 2х3 – 5
запись х, у
х := х + 0,5
если х <= 10 идти к 2
конец
х := 1
у = 2х3 – 5
запись х, у
х := х + 0,5
Нет
х <= 10
Да
5.
Циклом называют повторение одних и техже действий (шагов).
Последовательность действий, которые
повторяются в цикле, называют телом
цикла.
Алгоритм
называется
циклическим,
если последовательность шагов алгоритма
выполняется многократно.
6.
УСЛОВНЫЕ ЦИКЛИЧЕСКИЕ АЛГОРИТМЫЦИКЛ С ПРЕДУСЛОВИЕМ
ЦИКЛ С ПОСТУСЛОВИЕМ
(цикл-пока)
(цикл-до)
да
условие
тело цикла
тело цикла
нет
да
условие
нет
Условие проверяется до тела Условие
проверяется
тела цикла
цикла
Тело
цикла
может
выполниться ни разу
Проверяется
продолжения цикла
после
не Тело цикла выполняется хотя
бы один раз
условие Проверяется условие выхода из
цикла.
7.
ЦИКЛ С ПАРАМЕТРОМi = in, ik, di
тело цикла
i – параметр цикла;
in – начальное значение;
ik – конечное значение;
di – шаг.
Используется когда известно, сколько раз необходимо
выполнить тело цикла.
8.
началоввод исходных
данных
тело цикла
условие
вывод
результатов
конец
9. Примеры решения задач
10.
Вкоробке
хранится
некоторое
количество черных и белых шаров.
Требуется сделать запись алгоритма
рассортировки этих шаров по двум
корзинам (черного и белого цвета) так,
чтобы
в
результате
выполнения
алгоритма белые шары оказались в
белой корзине, а черные – в черной.
11.
Словесная запись:1. вынуть из коробки один шар
2. если шар белый, идти к 4
3. опустить шар в черную корзину;
идти к 5
4. опустить шар в белую корзину
5. если коробка не пуста, идти к 1
6. конец
12.
Вынуть из коробкиодин шар
да
нет
Белый шар?
Опустить шар
в черную корзину
нет
Опустить шар
в белую корзину
Коробка
пуста?
да
13.
Составить блок-схему алгоритмаперевода из градусов по шкале
Цельсия (С) в градусы по шкале
Фаренгейта (F) для значений от
15°С до 30°С с шагом 1°. Перевод
осуществлять по формуле
F = 1,8 C + 32
14.
ЦИКЛНАЧАЛО
С
ПОСТУСЛОВИЕМ
ВВОД: “Температура”
(цикл-до)
i = 15
F = 1,8 * i + 32
“По Цельсию –” , I
”По Фаренгейту –”, F
ВЫВОД:
i=i+1
i ≤ 30
нет
да
КОНЕЦ
15.
ЦИКЛНАЧАЛО
С ПАРАМЕТРОМ
ВВОД: “Температура”
i = 15, 30, 1
F = 1,8 * i + 32
Тело цикла
ВЫВОД:
“ По Цельсию –” , I
”По Фаренгейту –”, F
КОНЕЦ
16.
Составить блок-схемуалгоритма вычисления
суммы чисел от 1 до 5
17.
S начальная = 0S =0+ 1
S =S+ 1
S предыдущая
S =0+1+ 2
S =S+ 2
S предыдущая
S =0+1+2+ 3
S =S+ 3
S предыдущая
S =0+1+2+3+ 4
S =S+ 4
S предыдущая
S =0+1+2+3+4+ 5
S предыдущая
S =S+ 5
18.
ЦИКЛС
ПРЕДУСЛОВИЕМ
(цикл-пока)
НАЧАЛО
S=0
i=1
i≤5
да
S=S+i
i=i+1
вывод: S
КОНЕЦ
нет
19.
ЦИКЛС
ПОСТУСЛОВИЕМ
(цикл-до)
НАЧАЛО
S=0
i=1
S=S+i
i=i+1
i≤5
нет
ВЫВОД: S
КОНЕЦ
да
20.
ЦИКЛС ПАРАМЕТРОМ
НАЧАЛО
S=0
i = 1, 5, 1
S=S+i
ВЫВОД: S
КОНЕЦ
21.
Составить блок-схемуалгоритма вычисления суммы
всех двузначных нечетных
чисел
22.
НАЧАЛОS=0
K = 11
S=S+K
K=K+2
K ≤ 99
Нет
ВЫВОД: S
КОНЕЦ
Да
23.
Составить блок-схему алгоритмавычисления произведения
P=1*2*3*…*n
Это произведение называется
«факториал» и обозначается n!
24.
НАЧАЛОВВОД: n
P=1
i=1
P=P*i
i=i+1
i≤n
да
нет
ВЫВОД: P
КОНЕЦ
25.
Определить, чему станет равнозначение
переменной
N
в
результате
выполнения
алгоритма; как будет изменяться
значение переменной M.
26.
НАЧАЛОN = -2
M = |N|
ВЫВОД: N, M
N=N+1
N≤2
нет
КОНЕЦ
да
27.
Найти максимальный элементпоследовательности a1, a2, … an
и определить его порядковый
номер.
28.
НАЧАЛОa 1, a 2, … a n
max = a1, k = 1
i = 2, n, 1
да
max > ai
нет
max = ai , k = i
max, k
КОНЕЦ
29.
Выполнить алгоритм,представленный в виде блоксхемы. Занести значения
переменных, изменяющихся в ходе
выполнения алгоритма в таблицу
X
Y
30.
НАЧАЛОX=-5
Y=2*X
ВЫВОД: X, Y
X=X+1
X≤0
нет
КОНЕЦ
да