Уроки на Python (часть 3, для начинающих, "Циклы")
учебно-методический материал по информатике и икт (6, 7, 8 класс)

Курилов Игорь Анатольевич

Методическое пособие на 4 урока по теме "Циклы на Python"

Скачать:


Предварительный просмотр:

Уроки на Python (часть 3 «Циклы»)

1.Введение

Что такое циклы?

Цикл – это алгоритм, в котором несколько раз выполняется последовательности действий в зависимости от условия (или заранее известно количество повторяемых действий).

Основные циклические алгоритмы

  • Алгоритм вычисления значения функции на интервале (с любым шагом).
  • Алгоритм вычисления среднего значения из n чисел.
  • Алгоритм вычисления max(min) из n чисел.
  • Алгоритм вычисления факториала.
  • Алгоритм вычисления значения xk.
  • Алгоритм вычисления результатов связанных с четными и нечетными значениями (одно простое или составное условие).
  • Алгоритм вычисления наибольшего общего делителя (Алгоритм Евклида).
  • Алгоритм вычисления суммы цифр заданного числа.
  • Алгоритм вычисления простых последовательностей и прогрессий.
  • Алгоритм вычисления чисел Фибоначчи и т.д.

Как организовать циклы на Python?

Циклы с условием

Цикл, в котором проверка условия выполняется при входе (перед выполнением очередного шага) называется циклом с предусловием, то есть циклом с предварительной проверкой условия.

Пример 1: Сумма цифр n-значного числа

Вариант 1:

Где s=0 – входное значение переменной или инициализация переменной:

s += digit (классический вариант s=s+digit)

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

s = 0

while n != 0:

   digit = n % 10

   s += digit

   n = n // 10

print( "Сумма цифр", s )

Вариант 2 (вариант с использованием символьных переменных):

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

n=len(s)C:\Users\Игорь\Desktop\Незнайка-w1934.png

s = 0

for i in range(n) :

   s += int(s[i])

print( "Сумма цифр:", s )

Пример 2: Алгоритм Евклида - находит наибольший общий делитель (НОД) двух натуральных чисел (заменяет большее из двух заданных чисел на их разность до тех пор, пока они не станут равны).

while a != 0 and b != 0:

   if a > b:

       a = a % b

   else:

       b = b % a

print( "NOD=", a ) #можно и b

Циклы с переменной

Цикл, в котором заранее задается число повторений тела цикла (действия внутри цикла).

Пример 1: 10 раз выводит слово школа

for i in range(10):

    print( "школа" )

Здесь слово for означает «для», переменная i (её называют переменной цикла) изменяется в диапазоне (in range) от 0 до 10, не включая 10 (то есть от 0 до 9 включительно). Таким образом, цикл выполняется для i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 – ровно 10 раз. Переменная i –это счётчик выполненных итераций цикла.

Можно было записать этот цикл и по-другому:

for i in [0,1,2,3,4,5,6,7,8,9]:

    print( "школа" )

В квадратных скобках через запятую перечислены все значения переменной, при которых выполняется цикл. Если их много, такой способ неудобен, лучше использовать встроенную функцию range.

Пример 2: Вывод чисел 2 в степени от 1 до 10

k = 2

for i in range(1,11):

   print( k )

   k*= 2

Пример 3: Квадраты всех чисел от 1 до 10 в обратном порядке.

for i in range(10,0,-1):

    print( i*i )

В этом примере шаг равен –1, также шаг может быть любым целым числом.

Практическое занятие №1 «Циклические алгоритмы»

Пример*: Сколько раз в числе встречается максимальная цифра.C:\Users\Игорь\Desktop\225144-d3d9446802a44259755d38e6d163e820.jpg

s=input()

m=int(s[0])

for i in range(1,len(s)):

    if m>int(s[i]):m=int(s[i])

k=0

for i in range(len(s)): 

    if m==int(s[i]):k+=1

print( k )

По примерам, которые приведены выше, решите следующие задания.

Задачи:

1. Напишите программу, которая получает с клавиатуры натуральное число и определяет, сколько раз в его десятичной записи встречается цифра 7.

2. Напишите программу, которая получает с клавиатуры натуральное число и находит наименьшую цифру в его десятичной записи.

3. *Напишите программу, которая получает с клавиатуры натуральное число и определяет, есть ли в его десятичной записи две одинаковые цифры, стоящие рядом.

Практическое занятие №2 «Циклические алгоритмы»

Пример: На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулем. Определить сумму всех двухзначных чисел.

summa = 0

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

while a!= 0:

   if 9

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

print( "Сумма чисел 9

Задачи:

1. На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём. Определить сумму и среднее арифметическое этих чисел.

2. На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём. Определить, сколько из этих чисел делятся на 8 и сколько оканчиваются на 8.

3. На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём. Найти максимальное число из введённых нечётных чисел.

Практическое занятие №3 «Циклические алгоритмы»

Пример: Вывести первые десять членов геометрической прогрессии (каждое следующее число больше предыдущего в k раз).

summa = 0

a = float( input("Введите первый член последовательности: ") )

k = float( input("Введите шаг прогрессии: ") )

print(a)

for i in range(1,10):

     a*=k  

     print(a)

Задачи:

1. С клавиатуры вводится натуральное число N. Программа должна найти факториал этого числа (обозначается как N!) – произведение всех натуральных чисел от 1 до N.

2. Напишите программу, которая получает с клавиатуры натуральное число и определяет, простое оно или нет.

3. Напишите программу, которая находит N Фибоначчи. N вводится с клавиатуры.

http://70.dou.spb.ru/images/0_5ea51_1d883b86_L.png

Практическое занятие №4 «Циклические алгоритмы»

Пример: Напишите программу, которая выводит все возможные значение функции   на интервале от -5 до 5 с шагом 1

for i in range(-5,5,1):

     if (2-i)!=0:print(i, i/(2-i))

     else: print(i, "no")

Задачи:

1. Напишите программу, которая выводит значение функции y=x2-2x+1 на интервале от -10 до 10 с шагом 0,5.

2. Напишите программу, которая выводит все возможные значение функции   на интервале от -10 до 10 с шагом 1.

3*. Напишите программу, которая вычисляет количество Незнайкиных оценок через N недель, если каждую следующую неделю он получал на k оценок больше предыдущей недели. В первую неделю Незнайка получил a оценок.http://www.playcast.ru/uploads/2017/03/28/22138419.png

https://avatars.mds.yandex.net/get-pdb/963318/e319e5c9-a792-46cb-a4aa-def648441d88/s1200

Учитель информатики высшей категории Курилов И.А.


По теме: методические разработки, презентации и конспекты

Уроки на Python (часть 1, для начинающих)

Для начинающих программировать на Python. Первые 4 урока "Линейные программы" (часть 1). Для 6-8 класса....

Уроки на Python (часть 2, для начинающих, "Ветвление")

Методическое пособие на 4 урока по теме "Ветвление на Python"...

Методическая разработка урока "Обобщающее повторение частей речи. Морфологический разбор самостоятельных и служебных частей речи" (10 класс)

Методическая разработка урока "Обобщающее повторение частей речи. морфологический разбор самостоятельных  служебных частей речи" (10 класс)...

Презентация к уроку математики "Нахождение части целого и целого по его части."

Презентация к уроку математики "Нахождение части целого и целого по его части."...

Уроки на Python (часть 4, "Массивы") НОВОЕ!

Методическое пособие на 4 урока по теме "Массивы на Python"...

Технологическая карта урока Учебный предмет: русский язык Класс: 6 Автор УМК: русский язык в 2-х частях М.Т. Баранов, Т.А. Ладыженская и др. Тема урока: «Местоимение как часть речи» Тип урока: урок «открытия» новых знаний

Технологическая карта урока Учебный предмет: русский языкКласс: 6Автор УМК: русский язык в 2-х частях М.Т. Баранов, Т.А. Ладыженская и др.Тема урока: «Местоимение как часть речи»Тип у...