Просмотр содержимого документа
«Презентация "Алгоритмизация. Циклические алгоритмы с постусловием"»
Основы алгоритмизации
Циклические алгоритмы Цикл с постусловием
Циклы
Циклический алгоритм – это алгоритм, в котором одна и та же последовательность команд (тело цикла) повторяется несколько раз в зависимости от некоторого условия.
Цикл с постусловием (цикл «ДО») – повторение тела цикла до выполнения условия окончания цикла
Начало
Алгоритмический язык (КуМир):
нц кц при
Тело цикла
Условие
да
нет
Конец
Задача. Правее Робота расположен коридор неизвестной длины. Робот должен закрасить все клетки этого коридора и вернуться в исходное положение.
использовать Робот алг Коридор нач . нц . . вправо . . закрасить . кц при справа стена . нц . . влево . кц при сверху свободно и снизу свободно кон
= 25 . вывод "25 км будет с " , д, " дня" кон д := 1 р := 10 д := д+1 р:=р+0,1 *р нет р ≥ 25 да вывод д 25 км будет с 11 дня конец " width="640"
Задача. Лыжник в первый день тренировок пробежал 10 км. Каждый следующий день он увеличивал пройденное расстояние на 10% от пройденного в предыдущий день. При достижении 25 км увеличение дистанции должно прекратиться. В какой день он пробежит больше 25 км?
начало
алг Тренировка нач цел д, вещ р . д:= 1 . р:= 10 . нц . . д:=д+ 1 . . р:=р+ 0.1 *р . кц при р= 25 . вывод "25 км будет с " , д, " дня" кон
д := 1
р := 10
д := д+1
р:=р+0,1 *р
нет
р ≥ 25
да
вывод д
25 км будет с 11 дня
конец
3 3 4 5 6 7 8 9 10 11 12 13 17 начало - - 0 x := 0 1 1 y := 1 2 вывод x, y 1 3 (Нет) 0 1 x := x+1 y:=y *2 нет x 3 да конец " width="640"
Задача. Дан алгоритм вычисления степеней числа 2. Составьте таблицу значений переменных этого алгоритма при x = 0, 1, 2, 3.
Шаг алго-ритма
Переменная
1
x
2
y
Условие
x 3
3
4
5
6
7
8
9
10
11
12
13
17
начало
-
-
0
x := 0
1
1
y := 1
2
вывод x, y
1 3 (Нет)
0 1
x := x+1
y:=y *2
нет
x 3
да
конец
3 3 4 5 6 7 8 9 10 11 12 13 17 начало - 0 x := 0 1 1 y := 1 2 вывод x, y 1 3 (Нет) 0 1 1 2 2 x := x+1 4 2 3 (Нет) y:=y *2 нет x 3 да конец " width="640"
Задача. Дан алгоритм вычисления степеней числа 2. Составьте таблицу значений переменных этого алгоритма при x = 0, 1, 2, 3.
Шаг алго-ритма
Переменная
x
1
y
2
Условие
x 3
3
4
5
6
7
8
9
10
11
12
13
17
начало
-
0
x := 0
1
1
y := 1
2
вывод x, y
1 3 (Нет)
0 1
1 2
2
x := x+1
4
2 3 (Нет)
y:=y *2
нет
x 3
да
конец
3 4 5 6 7 8 9 10 11 12 13 17 начало - 0 x := 0 1 1 y := 1 2 вывод x, y 0 1 1 3 (Нет) 1 2 2 4 2 x := x+1 4 2 3 (Нет) y:=y *2 3 нет 8 x 3 3 3 (Нет) да конец " width="640"
Задача. Дан алгоритм вычисления степеней числа 2. Составьте таблицу значений переменных этого алгоритма при x = 0, 1, 2, 3.
Шаг алго-ритма
Переменная
1
x
2
y
Условие
3
x 3
4
5
6
7
8
9
10
11
12
13
17
начало
-
0
x := 0
1
1
y := 1
2
вывод x, y
0 1
1 3 (Нет)
1 2
2 4
2
x := x+1
4
2 3 (Нет)
y:=y *2
3
нет
8
x 3
3 3 (Нет)
да
конец
3 3 4 5 6 7 8 9 10 11 12 13 17 начало - 0 x := 0 1 1 y := 1 2 вывод x, y 0 1 1 3 (Нет) 1 2 2 4 3 8 2 x := x+1 4 2 3 (Нет) y:=y *2 3 нет 8 x 3 3 3 (Нет) да 4 конец 16 4 3 (Да) " width="640"
Задача. Дан алгоритм вычисления степеней числа 2. Составьте таблицу значений переменных этого алгоритма при x = 0, 1, 2, 3.
Шаг алго-ритма
Переменная
1
x
2
y
Условие
x 3
3
4
5
6
7
8
9
10
11
12
13
17
начало
-
0
x := 0
1
1
y := 1
2
вывод x, y
0 1
1 3 (Нет)
1 2
2 4
3 8
2
x := x+1
4
2 3 (Нет)
y:=y *2
3
нет
8
x 3
3 3 (Нет)
да
4
конец
16
4 3 (Да)
5 кон x := 0 y := 1 вывод x, y x := x+1 y:=y *2 нет x 5 да 0 1 1 2 2 4 3 8 4 16 5 32 конец " width="640"
Задача. Дан алгоритм вычисления степеней числа 2. Составьте программу на языке КУМИР при x = 0, 1, 2, …,5.
начало
алг Цикл ДО нач . цел x , y . x := 0 . y := 1 . нц . . вывод x , ' ' , y , нс . . x := x + 1 . . y := y * 2 . кц при x 5 кон
x := 0
y := 1
вывод x, y
x := x+1
y:=y *2
нет
x 5
да
0 1
1 2
2 4
3 8
4 16
5 32
конец