Similar presentations:
Цикл с условием. Программирование (Python)
1. Программирование (Python)
1Программирование
(Python)
§ 20. Программирование
циклических алгоритмов
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
2. Зачем нужен цикл?
Программирование (Python), 8 класс2
Зачем нужен цикл?
Задача. Вывести 5 раз «Привет!».
print("Привет")
print("Привет")
print("Привет")
print("Привет")
print("Привет")
Цикл «N раз»:
сделай 5 раз
print("Привет")
К.Ю. Поляков, Е.А. Ерёмин, 2018
?
А если 5000?
такого оператора нет
в Python!
http://kpolyakov.spb.ru
3. Как работает цикл?
Программирование (Python), 8 класс3
Как работает цикл?
!
Нужно запоминать, сколько раз цикл уже выполнен!
переменная-счётчик
ещё не делали
счётчик = 0
пока счётчик < 5
print("Привет")
счётчик +=
= счётчик
+ 1
счётчик
1
сделали ещё раз
c = 0
while c < 5:
print("Привет")
c += 1
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
4. Ещё один вариант
Программирование (Python), 8 класс4
Ещё один вариант
Идея: запоминать, сколько шагов осталось.
счётчик = 5
пока счётчик > ???
0
print("Привет")
счётчик -=
= счётчик
???
1
1
c = 5
while c > 0:
print("Привет")
c -= 1
К.Ю. Поляков, Е.А. Ерёмин, 2018
?
Как записать иначе
последнюю строку?
http://kpolyakov.spb.ru
5. Цикл с предусловием
Программирование (Python), 8 класс5
Цикл с предусловием
• условие проверяется при входе в цикл
• как только условие становится ложным, работа цикла
заканчивается
• если условие ложно в самом начале, цикл не
выполняется ни разу
while условие:
...
тело цикла
?
Если условие никогда не станет ложно?
while True:
...
К.Ю. Поляков, Е.А. Ерёмин, 2018
бесконечный цикл
(зацикливание)
http://kpolyakov.spb.ru
6. Сколько раз выполняется цикл?
Программирование (Python), 8 класс6
Сколько раз выполняется цикл?
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
7. Сумма цифр числа
Программирование (Python), 8 класс7
Сумма цифр числа
Задача. Вычислить сумму цифр введённого числа.
123 1 + 2 + 3 = 6
Выделить последнюю цифру числа в переменной N:
d = N % 10
123 3
Отбросить последнюю цифру числа в переменной N:
N = N // 10
123 12
Добавить к переменной sum значение переменной d:
sum +=
= sum
d + d
К.Ю. Поляков, Е.А. Ерёмин, 2018
sum = 6 6 + 4 = 10
d=4
http://kpolyakov.spb.ru
8. Сумма цифр числа
Программирование (Python), 8 класс8
Сумма цифр числа
• выделяем последнюю цифру числа (%)
• увеличиваем сумму на значение цифры (sum+=d)
• отсекаем последнюю цифру числа (//)
N
d
123
sum
0
12
3
3
1
2
5
0
1
6
К.Ю. Поляков, Е.А. Ерёмин, 2018
начальные значения
http://kpolyakov.spb.ru
9. Сумма цифр числа
Программирование (Python), 8 класс9
Сумма цифр числа
начало
обнулить
сумму
ввод N
sum= 0
N != 0?
да
d = N % 10
sum += d
N = N // 10
К.Ю. Поляков, Е.А. Ерёмин, 2018
выполнять
"пока N != 0"
нет
вывод sum
конец
http://kpolyakov.spb.ru
10. Сумма цифр числа
Программирование (Python), 8 класс10
Сумма цифр числа
N = int(input("Введите целое число")); N1= N
sum = 0
while N != 0:
d = N % 10
sum += d
N = N // 10
print("Сумма цифр числа", N1,
N, " равна", sum)
?
К.Ю. Поляков, Е.А. Ерёмин, 2018
Что плохо?
http://kpolyakov.spb.ru
11. Задачи
Программирование (Python), 8 класс11
Задачи
«A»: Напишите программу, которая получает с
клавиатуры количество повторений и выводит
столько же раз какое-нибудь сообщение.
Пример:
Сколько раз повторить? 3
Привет!
Привет!
Привет!
«B»: Напишите программу, которая получает с
клавиатуры натуральное число и определяет,
сколько раз в его десятичной записи встречается
цифра 1.
Пример:
Введите число? 311
Единиц: 2
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
12. Задачи
Программирование (Python), 8 класс12
Задачи
«C»: Напишите программу, которая получает с
клавиатуры натуральное число и находит
наибольшую цифру в его десятичной записи.
Пример:
Введите число: 311
Наибольшая цифра: 3
«D»: Напишите программу, которая получает с
клавиатуры натуральное число и определяет, есть
ли в его десятичной записи одинаковые цифры,
стоящие рядом.
Пример:
Введите число: 553
Введите число: 535
Ответ: да.
Ответ: нет.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru