СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Презентация "Циклы в языке программирования Python"

Категория: Информатика

Нажмите, чтобы узнать подробности

Презентация по теме  "Циклы в языке программирования Python" может быть использована при изучении программирования на уроках информатики в 10-11 классах или при самостоятельном изучении. Используется версия Python 3.8. Специфические возможности языка Python почти не используется, упор сделан на алгоритмическую составляющую рассматриваемых задач. При решении большинства задач используются блок-схемы. Ко всем программам приведены возможные результаты на экране при тестовом запуске программы.

Просмотр содержимого документа
«Презентация "Циклы в языке программирования Python"»

Язык программирования Python Операторы цикла в языке Python

Язык программирования Python

Операторы цикла в языке Python

Операторы цикла    Цикл с предусловием  (с заданным условием продолжения работы, цикл «ПОКА») условие нет while :   да тело цикла Выполнение тела цикла повторяется, пока условие истинно . Если условие ложно , то управление передается следующему после цикла оператору. Если условие изначально ложно, тело цикла не выполнится ни разу. Если условие никогда не станет ложным, то программа «зациклится». Используется в основном тогда, когда количество повторов заранее неизвестно .

Операторы цикла Цикл с предусловием (с заданным условием продолжения работы, цикл «ПОКА»)

условие

нет

while :

да

тело цикла

Выполнение тела цикла повторяется, пока условие истинно .

Если условие ложно , то управление передается следующему после цикла оператору.

Если условие изначально ложно, тело цикла не выполнится ни разу.

Если условие никогда не станет ложным, то программа «зациклится».

Используется в основном тогда, когда количество повторов заранее неизвестно .

Задача 1 Лыжник в первый день тренировок пробежал 10 км.  Каждый следующий день он увеличивал пройденное расстояние  на 10% от пройденного в предыдущий день. В какой день он пробежит больше 20 км? начало # Лыжная тренировка n = 1 # день номер 1 x = 10 # расстояние в 1 день while x n = n+1 # номер следующего дня  x = x+0.1*x # расстояние в следующий день  print (

Задача 1

Лыжник в первый день тренировок пробежал 10 км. Каждый следующий день он увеличивал пройденное расстояние на 10% от пройденного в предыдущий день. В какой день он пробежит больше 20 км?

начало

# Лыжная тренировка

n = 1 # день номер 1

x = 10 # расстояние в 1 день

while x

n = n+1 # номер следующего дня

x = x+0.1*x # расстояние в следующий день

print ( "{:3}" .format(n), "{:6.1f}" .format(x))

n = 1

x = 10

нет

x ≤ 20

да

n = n+1

2 11.0

3 12.1

4 13.3

5 14.6

6 16.1

7 17.7

8 19.5

9 21.4

x = x+0,1 ∙x

вывод n,x

конец

Задача 2 Получить таблицу значений функции y=x 2 для x=1; 2; 3; …; 10 . начало # Таблица квадратов print (

Задача 2

Получить таблицу значений функции y=x 2 для x=1; 2; 3; …; 10 .

начало

# Таблица квадратов

print ( "Квадраты чисел:" )

x = 1 # начальное значение x

while x

y = x**2 # вычисление функции

print ( "{:3}" .format(x), "{:5}" .format(y))

x = x+1 # следующее значение x

x = 1

нет

x ≤ 10

да

y = x 2

Квадраты чисел:

1 1

2 4

3 9

4 16

5 25

6 36

7 49

8 64

9 81

10 100

вывод x,y

x = x+1

конец

Задача 3а Вычислить значение суммы s = 1+2+3+…+n для заданного n . начало # Сумма натуральных чисел print (

Задача 3а

Вычислить значение суммы s = 1+2+3+…+n для заданного n .

начало

# Сумма натуральных чисел

print ( "s=1+2+3+...+n" )

n = int ( input ( "Ведите n: " ))

s = 0 # начальное значение суммы

x = 1 # начальное знач. слагаемого

while x

s = s+x # добавить к сумме слагаемое

x = x+1 # следующее знач. слагаемого

print ( "s=" , s)

ввод n

s = 0

x = 1

нет

x ≤ n

да

s=1+2+3+...+n

Введите n: 20

s= 210

s = s+x

x = x+1

вывод s

конец

Задача 3б Вычислить значение суммы s = 1+3+5+7+…+n для заданного  нечётного n . начало # Сумма нечетных натуральных чисел print (

Задача 3б

Вычислить значение суммы s = 1+3+5+7+…+n для заданного нечётного n .

начало

# Сумма нечетных натуральных чисел

print ( "s=1+3+5+...+n" )

n = int ( input ( "Ведите n: " ))

s = 0 # начальное значение суммы

x = 1 # начальное знач. слагаемого

while x

s = s+x # добавить к сумме слагаемое

x = x+2 # следующее знач. слагаемого

print ( "s=" , s)

ввод n

s = 0

x = 1

нет

x ≤ n

да

s=1+3+5+...+n

Введите n: 19

s= 100

s = s+x

x = x+2

вывод s

конец

Задача 4 Вычислить факториал числа k . k! = 1∙2∙3∙ … ∙k начало # Факториал натурального числа k = int ( input (

Задача 4

Вычислить факториал числа k .

k! = 1∙2∙3∙ … ∙k

начало

# Факториал натурального числа

k = int ( input ( "Введите k: " ))

p = 1 # начальное знач. произвед.

i = 1 # начальное знач. множителя

while i

p = p*i # добавить к произведению

i = i+1 # следующее знач. множителя

print ( "Факториал числа равен" , p)

ввод k

p = 1

i = 1

нет

i ≤ k

да

Введите k: 5

Факториал числа равен 120

p = p*i

i = i+1

Введите k: 1 5

Факториал числа равен 1307674368000

вывод p

конец

Задача 5 Вычислить сумму ряда ( n слагаемых). a 1 = 1/2; a 2 = 1/4 = a 1 /2; a 3 = 1/8 = a 2 /2; …; a i = a i-1 /2 начало # Сумма ряда print (

Задача 5

Вычислить сумму ряда ( n слагаемых).

a 1 = 1/2; a 2 = 1/4 = a 1 /2; a 3 = 1/8 = a 2 /2; …; a i = a i-1 /2

начало

# Сумма ряда

print ( "S = 1/2+1/4+1/8+1/16+ ... " )

n = int ( input ( "Введите n: " ))

s = 0 # начальное значение суммы

i = 1 # номер первого слагаемого

a = 1/2 # первое слагаемое

while i

s = s+a # добавить к сумме слагаемое

i = i+1 # следующий номер слагаемого

a = a/2 # следующее слагаемое

print ( "S =" , s)

ввод n

s = 0

i = 1

a = 1/2

нет

i ≤ n

да

s = s+a

i = i+1

a = a/2

S = 1/2+1/4+1/8+1/16+ ...

Введите n: 4

S = 0.9375

вывод s

конец

Задача 6 Подсчитать количество цифр в записи целого положительного числа. # Количество цифр целого числа начало n = int ( input ( 0: # пока число0 повторять: n = n//10 # отбрасываем последнюю цифру k = k+1 # увеличиваем счетчик print ( "Количество цифр в числе" , k) ввод n k = 0 нет n ≥ 0 да n = n // 10 Введите число: 2020 Количество цифр в числе 4 k = k+1 вывод k конец " width="640"

Задача 6

Подсчитать количество цифр в записи целого положительного числа.

# Количество цифр целого числа

начало

n = int ( input ( "Введите число: " ))

k = 0 # начальное значение счетчика

while n0: # пока число0 повторять:

n = n//10 # отбрасываем последнюю цифру

k = k+1 # увеличиваем счетчик

print ( "Количество цифр в числе" , k)

ввод n

k = 0

нет

n ≥ 0

да

n = n // 10

Введите число: 2020

Количество цифр в числе 4

k = k+1

вывод k

конец

Операторы цикла    Цикл с постусловием  (с заданным условием окончания работы, цикл «ДО») while  True :    if : break тело цикла нет условие да В языке Python нет оператора цикла с постусловием, но его можно организовать с помощью оператора while ( «пока» ) с условием True («истина»). Такой цикл будет выполняться бесконечно. Выход из цикла произойдет при истинности условия в операторе ветвления  с помощью специального оператора break («прервать»). Используется в тех случаях, когда требуется, чтобы тело цикла выполнилось хотя бы один раз .

Операторы цикла Цикл с постусловием (с заданным условием окончания работы, цикл «ДО»)

while True :

if : break

тело цикла

нет

условие

да

В языке Python нет оператора цикла с постусловием, но его можно организовать с помощью оператора while ( «пока» ) с условием True («истина»). Такой цикл будет выполняться бесконечно. Выход из цикла произойдет при истинности условия в операторе ветвления с помощью специального оператора break («прервать»).

Используется в тех случаях, когда требуется, чтобы тело цикла выполнилось хотя бы один раз .

Задача Вычислить факториал числа k  (при k  не более 15 ). k! = 1∙2∙3∙ … ∙k Проверка корректности данных начало # Факториал натурального числа до 15 # проверка корректности данных while  True :     # бесконечный цикл  k = int ( input ( k: break # конец цикла при ik print ( "Факториал числа равен" , p) ввод k нет k да p = 1 i = 1 p = p*i i = i+1 да i k нет Введите k (не более 15): 17 Введите k (не более 15): 16 Введите k (не более 15): 15 Факториал числа равен 1307674368000 вывод p конец " width="640"

Задача

Вычислить факториал числа k (при k не более 15 ).

k! = 1∙2∙3∙ … ∙k

Проверка корректности данных

начало

# Факториал натурального числа до 15

# проверка корректности данных

while True : # бесконечный цикл

k = int ( input ( "Введите k (не более 15): " ))

if k

# вычисление факториала

p = 1 # начальное знач. произвед .

i = 1 # начальное знач. множителя

while True : # начало цикла

p = p*i # добавить к произведению

i = i+1 # следующее знач. множителя

if ik: break # конец цикла при ik

print ( "Факториал числа равен" , p)

ввод k

нет

k

да

p = 1

i = 1

p = p*i

i = i+1

да

i k

нет

Введите k (не более 15): 17

Введите k (не более 15): 16

Введите k (не более 15): 15

Факториал числа равен 1307674368000

вывод p

конец

Операторы цикла    Цикл с параметром   (с заданным числом повторений, цикл «ДЛЯ») i = n i = n, k нет i ≤ k тело цикла да тело цикла for    in  range ():   i = i+1 Тело цикла повторяется фиксированное число раз для каждого значения параметра. Параметр – переменная целого типа. Функция range («диапазон») задаёт количество повторов тела цикла и содержит от одного до трёх чисел. Одно число (k)  – параметр цикла изменяется от 0 до k-1 с шагом 1 . Два числа (n, k) – параметр цикла изменяется от n до k-1 с шагом 1 . Три числа (n, k, s)  – параметр цикла изменяется от n до k-1 с шагом s . Возможно изменение параметра от большего значения к меньшему. В этом случае n должно быть больше k , а s – отрицательное.

Операторы цикла Цикл с параметром (с заданным числом повторений, цикл «ДЛЯ»)

i = n

i = n, k

нет

i ≤ k

тело цикла

да

тело цикла

for in range ():

i = i+1

Тело цикла повторяется фиксированное число раз для каждого значения параметра. Параметр – переменная целого типа. Функция range («диапазон») задаёт количество повторов тела цикла и содержит от одного до трёх чисел.

  • Одно число (k) – параметр цикла изменяется от 0 до k-1 с шагом 1 .
  • Два числа (n, k) – параметр цикла изменяется от n до k-1 с шагом 1 .
  • Три числа (n, k, s) – параметр цикла изменяется от n до k-1 с шагом s .

Возможно изменение параметра от большего значения к меньшему. В этом случае n должно быть больше k , а s – отрицательное.

Примеры записи оператора цикла с параметром # для i в диапазоне от 0 до 9 for i in  range (10):  print (i, end=

Примеры записи оператора цикла с параметром

# для i в диапазоне от 0 до 9

for i in range (10):

print (i, end= " " )

print ( "Всё!" )

0 1 2 3 4 5 6 7 8 9 Всё!

# для i в диапазоне от 1 до 9

for i in range (1,10):

print (i, end= " " )

print ( "Всё!" )

1 2 3 4 5 6 7 8 9 Всё!

# для i в диапазоне от 1 до 9 с шагом 2

for i in range (1,10,2):

print (i, end= " " )

print ( "Всё!" )

1 3 5 7 9 Всё!

# для i в диапазоне от 9 до 1 с шагом -2

for i in range (9,0,-2):

print (i, end= " " )

print ( "Всё!" )

9 7 5 3 1 Всё!

Задача 1 Получить таблицу значений функции y=x 2 для x=1; 2; 3; …; 10 . начало # Таблица квадратов print (

Задача 1

Получить таблицу значений функции y=x 2 для x=1; 2; 3; …; 10 .

начало

# Таблица квадратов

print ( "Квадраты чисел:" )

for x in range (1, 11): # для i от 1 до 10

y = x**2 # вычисление функции

print ( "{:3}" .format(x), "{:5}" .format(y))

x = 1, 10

y = x 2

вывод x,y

Квадраты чисел:

1 1

2 4

3 9

4 16

5 25

6 36

7 49

8 64

9 81

10 100

конец

Задача 2 Вычислить значение суммы s = 1+2+3+…+n для заданного n . начало # Сумма натуральных чисел print (

Задача 2

Вычислить значение суммы s = 1+2+3+…+n для заданного n .

начало

# Сумма натуральных чисел

print ( "s=1+2+3+...+n" )

n = int ( input ( "Ведите n: " ))

s = 0 # начальное значение суммы

for x in range (1, n+1): # для i от 1 до n

s = s+x # добавить к сумме слагаемое

print ( "s=" , s)

ввод n

s = 0

x = 1, n

s = s+x

вывод s

конец

s=1+2+3+...+n

Введите n: 20

s= 210

Задача 3 Вычислить факториал числа k . k! = 1∙2∙3∙ … ∙k # Факториал натурального числа k = int ( input (

Задача 3

Вычислить факториал числа k .

k! = 1∙2∙3∙ … ∙k

# Факториал натурального числа

k = int ( input ( "Введите k: " ))

p = 1 # начальное знач. произвед .

for i in range (1, k+1): # для i от 1 до k

p = p*i # добавить к произведению

print ( "Факториал числа равен" , p)

начало

ввод k

p = 1

i = 1, k

Введите k: 5

Факториал числа равен 120

p = p ∙ i

вывод p

конец

Задача 4 Вычислить сумму ряда ( n слагаемых). a 1 = 1/2 1 ; a 2 = 1/2 2 ; a 3 = 1/2 3 ; …; a i = 1/2 i начало # Сумма ряда print (

Задача 4

Вычислить сумму ряда ( n слагаемых).

a 1 = 1/2 1 ; a 2 = 1/2 2 ; a 3 = 1/2 3 ; …; a i = 1/2 i

начало

# Сумма ряда

print ( "S = 1/2+1/4+1/8+1/16+ ... " )

n = int ( input ( "Введите n: " ))

s = 0 # нач. знач. суммы

for i in range (1, n+1): # для i от 1 до n

s = s+1/2**i # добавить к сумме

print ( "S =" , s)

ввод n

s = 0

i = 1, n

s = s+1/2 i

вывод s

конец

S = 1/2+1/4+1/8+1/16+ ...

Введите n: 4

S = 0.9375

Задача 5 Банк принимает вклады под 10% годовых. На счет положена сумма 10000 рублей. Какая сумма будет на счету через 5 лет? начало # Вклад в банке s = 10000  # начальный вклад print (

Задача 5

Банк принимает вклады под 10% годовых. На счет положена сумма 10000 рублей. Какая сумма будет на счету через 5 лет?

начало

# Вклад в банке

s = 10000 # начальный вклад

print ( "Начальная сумма" , s)

for g in range (1, 6): # для g от 1 до 5

s = s+0.1*s # добавление 10%

print (g, "год сумма" , s)

s = 10000

g = 1, 5

s = s+0,1*s

вывод g, s

Начальная сумма 10000

1 год сумма 11000.0

2 год сумма 12100.0

3 год сумма 13310.0

4 год сумма 14641.0

5 год сумма 16105.1

конец

10 да i = i+1 нет конец " width="640"

Задача 6

Вывести на экран степени числа 2 до десятой степени, используя различные типы циклов.

начало

начало

начало

i = 1

i = 1

i = 1, 10

конец

i ≤ 10

нет

вывод i, 2 i

вывод i, 2 i

да

конец

i = i+1

вывод i, 2 i

i 10

да

i = i+1

нет

конец

10: break # выход при i10 1 2 2 4 3 8 4 16 5 32 6 64 7 128 8 256 9 512 10 1024 # Степени числа 2 # для i в диапазоне от 1 до 10 for i in range (1,11): print (i, 2**i) " width="640"

Задача 6

Вывести на экран степени числа 2 до десятой степени, используя различные типы циклов.

# Степени числа 2

i = 1 # нач. знач. i

while i

print (i, 2**i)

i = i+1 # след. знач. i

# Степени числа 2

i = 1 # нач. знач. i

while True : # начало цикла

print (i, 2**i)

i = i+1 # след. знач. i

if i10: break # выход при i10

1 2

2 4

3 8

4 16

5 32

6 64

7 128

8 256

9 512

10 1024

# Степени числа 2

# для i в диапазоне от 1 до 10

for i in range (1,11):

print (i, 2**i)

Используемые материалы:   Босова Л.Л. Информатика. 8-9 классы. Начала программирования на языке Python. Дополнительные главы к учебникам – М. : БИНОМ. Лаборатория знаний, 2020. Поляков К.Ю. Информатика. 10 класс. Базовый и углубленный уровни : в 2ч. Ч. 2 – М. : БИНОМ. Лаборатория знаний, 2018.

Используемые материалы:

  • Босова Л.Л. Информатика. 8-9 классы. Начала программирования на языке Python. Дополнительные главы к учебникам – М. : БИНОМ. Лаборатория знаний, 2020.
  • Поляков К.Ю. Информатика. 10 класс. Базовый и углубленный уровни : в 2ч. Ч. 2 – М. : БИНОМ. Лаборатория знаний, 2018.


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!