Уроки на Python (часть 3, для начинающих, "Циклы")
учебно-методический материал по информатике и икт (6, 7, 8 класс)
Методическое пособие на 4 урока по теме "Циклы на Python"
Скачать:
Вложение | Размер |
---|---|
Методическое пособие на 4 урока по теме "Циклы на Python" | 290.1 КБ |
Предварительный просмотр:
Уроки на 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)
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 «Циклические алгоритмы»
Пример*: Сколько раз в числе встречается максимальная цифра.
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:
a = int( input("Введите число: ") )
Задачи:
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 вводится с клавиатуры.
Практическое занятие №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 оценок.
Учитель информатики высшей категории Курилов И.А.
По теме: методические разработки, презентации и конспекты
Презентация к уроку в 5 классе «Смешанные числа 2 урок» из двух частей
Презентация к уроку двух частей...
Уроки на Python (часть 1, для начинающих)
Для начинающих программировать на Python. Первые 4 урока "Линейные программы" (часть 1). Для 6-8 класса....
Уроки на Python (часть 2, для начинающих, "Ветвление")
Методическое пособие на 4 урока по теме "Ветвление на Python"...
Методическая разработка урока "Обобщающее повторение частей речи. Морфологический разбор самостоятельных и служебных частей речи" (10 класс)
Методическая разработка урока "Обобщающее повторение частей речи. морфологический разбор самостоятельных служебных частей речи" (10 класс)...
Презентация к уроку математики "Нахождение части целого и целого по его части."
Презентация к уроку математики "Нахождение части целого и целого по его части."...
Уроки на Python (часть 4, "Массивы") НОВОЕ!
Методическое пособие на 4 урока по теме "Массивы на Python"...
Технологическая карта урока Учебный предмет: русский язык Класс: 6 Автор УМК: русский язык в 2-х частях М.Т. Баранов, Т.А. Ладыженская и др. Тема урока: «Местоимение как часть речи» Тип урока: урок «открытия» новых знаний
Технологическая карта урока Учебный предмет: русский языкКласс: 6Автор УМК: русский язык в 2-х частях М.Т. Баранов, Т.А. Ладыженская и др.Тема урока: «Местоимение как часть речи»Тип у...