Similar presentations:
Циклические алгоритмы. Что такое цикл?
1. Программирование на языке Python
1Программирование
на языке Python
§ 57. Циклические
алгоритмы
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
2. Что такое цикл?
Алгоритмы и программирование, язык Python, 10 класс2
Что такое цикл?
Цикл – это многократное выполнение одинаковых
действий.
Два вида циклов:
• цикл с известным числом шагов (сделать 10 раз)
• цикл с неизвестным числом шагов (делать, пока не
надоест)
Задача. Вывести на экран 10 раз слово «Привет».
? Можно ли решить известными методами?
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
3. Повторения в программе
Алгоритмы и программирование, язык Python, 10 класс3
Повторения в программе
print("Привет“)
print("Привет")
...
print("Привет")
? Что плохо?
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
4. Блок-схема цикла
Алгоритмы и программирование, язык Python, 10 класс4
Блок-схема цикла
начало
сделали 10 раз?
да
конец
нет
print("Привет!")
тело цикла
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
5. Как организовать цикл?
Алгоритмы и программирование, язык Python, 10 класс5
Как организовать цикл?
счётчик = 0
пока счётчик < 10:
print("Привет“)
увеличить счётчик на 1
результат операции
автоматически
сравнивается с нулём!
счётчик = 10
пока счётчик > 0:
print("Привет")
уменьшить счётчик на 1
? Какой способ удобнее для процессора?
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
6. Цикл с условием
Алгоритмы и программирование, язык Python, 10 класс6
Цикл с условием
Задача. Определить количество цифр в десятичной
записи целого положительного числа, записанного в
переменную n.
n
счётчик
счётчик = 0
пока n > 0:
1234
0
отсечь последнюю цифру n
123
1
увеличить счётчик на 1
12
2
? Как отсечь последнюю цифру?
n = n // 10
1
0
3
4
? Как увеличить счётчик на 1?
счётчик = счётчик + 1
К.Ю. Поляков, Е.А. Ерёмин, 2018
счётчик += 1
http://kpolyakov.spb.ru
7. Считаем цифры
Алгоритмы и программирование, язык Python, 10 класс7
Считаем цифры
начальное значение
счётчика
заголовок
цикла
условие
продолжения
count = 0
while n > 0 :
n = n // 10
count += 1
тело цикла
! Цикл с предусловием – проверка на входе в цикл!
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
8. Максимальная цифра числа
Алгоритмы и программирование, язык Python, 10 класс8
Максимальная цифра числа
Задача. Определить максимальную цифру в
десятичной записи целого положительного числа,
записанного в переменную n.
n = int(input())
пока остались
M = -1
цифры
последняя while n > 0:
цифра
d = n % 10
if d > M:
? Что плохо!
поиск
M = d
максимума
n = n // 10
отсечь
print( M )
последнюю
цифру
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
9. Цикл с условием
Алгоритмы и программирование, язык Python, 10 класс9
Цикл с условием
При известном количестве шагов:
k=0
while k < 10:
print ( "привет" )
k += 1
Зацикливание:
k=0
while k < 10:
print ( "привет" )
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
10. Сколько раз выполняется цикл?
Алгоритмы и программирование, язык Python, 10 класс10
Сколько раз выполняется цикл?
a = 4; b = 6
while a < b: a += 1
2 раза
a=6
a = 4; b = 6
while a < b: a += b
1 раз
a = 10
a = 4; b = 6
while a > b: a += 1
0 раз
a=4
a = 4; b = 6
while a < b: b = a - b
1 раз
b = -2
a = 4; b = 6
while a < b: a -= 1
зацикливание
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru