Программирование циклов. Оператор for
Болгова Н.А.
МБОУ СОШ с углубленным изучением отдельных предметов с.Тербуны
Тербунского муниципального района Липецкой области
Повторяем!
- Цикл – многократное повторение последовательности действий
- Повторяющаяся последовательность действий – тело цикла
- Типы циклов: с предусловием («Пока»), постусловием («До»), параметром («Для»)
2021
(С) Болгова Н.А.
Цикл с условием («Пока»)
нц пока УСЛОВИЕ
действие 1
кц
while :
действие 1
2021
(С) Болгова Н.А.
Цикл с параметром («Для»)
нц для а от 1 до n
действие 1
кц
а – параметр/счетчик
2021
(С) Болгова Н.А.
Отличие циклов:
- Цикл «Пока» выполняется неопределенное количество раз, пока условие верно (истинно)
- Цикл «Для» выполняется определенное количество раз (n-раз)
2021
(С) Болгова Н.А.
Тема урока
Программирование циклов. Оператор for
Цикл с параметром
for in range(n ) :
тело цикла
for – для
2021
(С) Болгова Н.А.
Цикл с параметром
for а in range(n ) :
тело цикла
(цикл выполняется д ля а от 0 до n-1,
где n – количество раз выполнения,
т.е. а = 0,1,2,3,…., n-1) ,т.е выполняется с нуля )
2021
(С) Болгова Н.А.
Циклы с параметром (варианты)
for i in range (1, n+1 ):
тело цикла
( Для i от 1 до n, где n – кол-во раз выполнения,
т.е. i = 1,2,3,…., n-1, n
Цикл выполняется на 1 раз меньше)
Циклы с параметром (варианты)
for i in range (a, b, d):
тело цикла
- ( Для i от a до b с шагом d)
т.е. i = a, a+d, a+2d,…., b)
- Можно организовать цикл с конца, тогда шаг d = -1
Циклы с параметром (варианты)
for i in range (n):
if :
действие 1
else:
действие 2
Примеры задач
2021
(С) Болгова Н.А.
1. Дано натуральное число. Определите, является ли число простым, если нет, то вывести все его делители .
- Формат ввода: одно число
- Формат вывода: В первой строке — все делители введенного числа, Во второй — сообщение «ПРОСТОЕ» записанные через пробел (перед первым и после последнего делителя пробелов нет). » или «НЕТ». Пример Ввод Вывод 12 1 2 3 4 6 12 НЕТ
Пояснение:
a = int(input())
- с – счетчик делителей
- выполняется от 1,т.к на «0» делить нельзя до а + 1
- если а кратно i , то выводим i (делитель)
- считаем кол-во делителей
- вывод пустой строки
- если с = 2,
- то вывод «Простое»
- иначе
- вывод «Нет»
c = 0
for i in range(1, a + 1):
if a % i == 0 :
print(i, end=' ')
c += 1
print(' ')
if c == 2:
print('ПРОСТОЕ')
else:
print('НЕТ')
Проверка:
2021
(С) Болгова Н.А.
2. Найти произведение натуральных нечетных чисел последовательности P = 1 * 3 * 5 * … * n
- Формат ввода: одно число
- Формат вывода: Произведение четных чисел. Пример Ввод Вывод 8 105
Пояснение:
- p – произведение
- Выполнение цикла от 1,т.к на «0» делить нельзя до n + 1
- если i некратно 2 ,
- то находим произведение
n = int(input())
p = 1
for i in range(1, n + 1):
if i % 2 == 1 :
p *= i
print(‘P нечетных = ‘, p)
2 вариант условия : if i % 2 != 0 :
n = int(input())
p = 1
for i in range(1, n + 1, 2):
p *= i
print(‘P нечетных = ‘, p)
Пояснение:
- Выполнение цикла – используем шаг = 2
2021
(С) Болгова Н.А.
3. Найти сумму всех чисел последовательности s = 1 + 2 + 3 + … + n
- Формат ввода: одно число
- Формат вывода: Произведение четных чисел. Пример Ввод Вывод 8 35
Домашнее задание:
- Выучить оператор for (все варианты цикла)
- Составить программу к задаче 3
2021
(С) Болгова Н.А.
Программа (проверка д.з)
n = int(input())
s = 0
for i in range(1, n + 1):
s += i
for i in range( n):
print(‘S = ‘, s)
s += i
print(‘S = ‘, s)
Цикл можно начать с нуля, т.к. он на сумму не влияет
Литература:
- Поляков К.Ю., Еремин Е.А. «Информатика 10 класс (базовый и углубленный уровни)»- Москва, Бином, 2018)
- informatics.mccme.ru
- Питон тьютор
- Python 3.7.0
2021
(С) Болгова Н.А.