Продовжуємо вивчати мову програмування Python. Виконуєм самостійну роботу для закріплення теми розгалуження. Вчимо цикли, а саме цикли із лічильником. Використовуємо практичні завдання із дистанційного курсу Оксани Пасічник. Є картка із завданнями для учнів.
Тема: Оператори повторення. Цикли з лічильником.
Метою є формування таких компетентностей:
Спілкування державною мовою. Це вміння усно і письмово висловлювати й тлумачити поняття, думки, почуття, факти та погляди (через слухання, говоріння, читання, письмо, застосування мультимедійних засобів).
Спілкування іноземними мовами. Уміння належно розуміти висловлене іноземною мовою, усно і письмово висловлювати і тлумачити поняття.
Інформаційно-цифрова компетентність передбачає впевнене, а водночас критичне застосування інформаційнокомунікаційних технологій (ІКТ) для створення, пошуку, обробки, обміну інформацією. Інформаційна й медіа-грамотність, основи програмування, алгоритмічне мислення, навички безпеки в інтернеті та кібербезпеці. Розуміння етики роботи з інформацією (авторське право, інтелектуальна власність тощо).
Тип уроку: урок застосування (закріплення) знань, умінь та навичок.
Обладнання: комп’ютер, зошит, проектор, дидактичні картки.
ПЗ: Python.
Структура уроку
1. Організаційний момент.
2. Актуалізація опорних знань та їх коригування.
Самостійна робота.
Самостійна робота
рівність |
|
більше |
|
менше або дорівнює |
|
менше |
|
не дорівнює |
|
більше або дорівнює |
|
Виберіть одну або декілька відповідей:
if (number<0) and (number//2==0):
if (number<0) or (number%2==1):
if (number<0) or (number%2==0):
if (number<0) and (number%2==0):
if (number<0) or (number%2!=1):
|
if логічний вираз: дії, які будуть виконуватися якщо логічний вираз буде мати значення True |
|
if логічний вираз: дії, які будуть виконуватися якщо логічний вираз буде мати значення True else: дії, які будуть виконуватися якщо логічний вираз буде мати значення False |
if (suma>0):
______ (_______________)
__ (suma<0):
print (_______________)
________:
print (_______________)
chyslo=8
if chyslo<5:
print(chyslo*2)
elif chyslo>10:
print(chyslo/2)
else:
print(chyslo-2) Відповідь:______
3. Мотивація навчальної діяльності. Повідомлення теми й мети.
Ми вже вміємо будувати програми з лінійною структурою та ознайомилися із розгалуженнями. Тепер розглянемо як будуються цикли мовою Python.
Цикл - це процес багаторазового повторення дії або послідовності дій. У програмах цикли поділяються на умовні та з лічильником. Сьогодні ми розглянемо детально цикли з лічильником.
4. Вступні вправи (можуть поєднуватись із поглибленням або вивченням невеликих порцій нового матеріалу та ознайомленням з правилами, алгоритмами виконання певних дій).
Цикл з параметром використовується, коли потрібно забезпечити повторення блоку команд вказану кількість разів. Параметр при цьому має набувати значень, що входять у певну шкалу (чисел, букв чи інших елементів).
for змінна in шкала:
команди
Змінна - це параметр, лічильник, котрий змінює своє значення щоразу при виконанні команд циклу.
Одне виконання команд циклу називається ітерацією.
Тіло циклу складається з команд, котрі виконуються кілька разів.
Важливо дотримуватись правил синтаксичного оформлення циклів у Python, тобто рядок з командою for завершується двокрапкою, а команди тіла циклу записуються з відступом.
Виконання циклу проходить кілька етапів:
1) Визначається перелік елементів шкали
2) Виконуються команди тіла циклу
3) Відбувається перевірка: якщо у шкалі є невикористані елементи, то виконується пункт 2, інакше виконання передається наступній команді за межами циклу.
Тіло циклу може складатись з різних команд, зазвичай з арифметичних операцій та команд виведення print.
Цикл з параметром у Python може перебирати значення різних типів: числа, букви, рядки, елементи списку тощо. Функція range() створює послідовність чисел у вигляді арифметичної прогресії (шкалу).
Ця функція приймає три параметри:
Можна задавати лише один або два параметри цієї функції, тоді решта параметрів прийматимуть значення за умовчанням. Для початкового числа це значення 0, а крок рівний 1. Для кінцевого числа значення за умовчанням не існує, тому це обов'язковий параметр функції range().
range (n)
Шкала чисел від 0 до n-1
range (k, n)
Шкала чисел від k до n-1
Шкала чисел від k до n-1 з кроком m (може бути від'ємним)
Наприклад, у функції range(1,10,3) початковим числом є 1 (включно), кінцевим числом є 10 (не включно), а кроком є 3. Таким чином ця функція утворює послідовність чисел [1,4,7].
Функція range(3,-3,-2) створює набір чисел [3,1,-1], оскільки починає шкалу із значення 3, і перебирає числа з кроком -2 поки не досягне значення -3 (не включаючи це число). Якби нам потрібно було включити й число -3 у цю шкалу, функцію слід було би записати як range(3,-4,-2).
5. Пробні та тренувальні вправи (Використання вивченого в стандартних умовах).
Задача 1. Надрукувати числа від 1 до 10
for chyslo in range(1,11):
print(chyslo)
Для того, щоб виконати друк цих значень у рядок, слід скористатись параметрами функції print():
Таким чином, можна змінити тіло циклу, команду print(), додавши відповідний параметр.
Задача 2. Надрукувати числа від 1 до 20 у рядок
for i in range(1,21):
print(i, end=' ')
print("\n proba")
Досить часто в межах циклу потрібно виконувати підрахунок, накопичуючи суми чи інші числові значення. Для цього потрібно визначити змінну, в котрій будуть зберігатись результати таких розрахунків перед циклом і надати їй певного початкового значення. Якщо це не зробити, то виникне помилка типу NameError: name is not defined.
Змінення значення змінної передбачає виконання математичних операцій та збереження нового значення у цій же змінній. Python передбачає два різновиди запису подібних операцій.
var = var + 1 |
var += 1 |
total = total + number |
total += number |
result = result * 5 |
result *= 5 |
change = change / 25 |
change /= 25 |
remainder = remainder % 2 |
remainder %= 2 |
power = power ** 3 |
power ** = 3 |
Операції в обох стовпцях є однаковими і можна використовувати будь-який запис. Перевагою скороченого запису є компактність.
Задача 3. Знайти суму чисел від 1 до 20
s=0
for i in range(1,21):
s=s+i
print(s)
Задача 4. З клавіатури вводиться число. Знайти суму чисел від 1 до цього числа
n=int(input("Введіть число="))
s=0
for i in range(1,n+1):
s=s+i
print(s)
Задача 5. З клавіатури вводиться два числа. Знайти суму чисел, які розміщені між ними
k=int(input("Введіть перше число="))
n=int(input("Введіть друге число="))
s=0
for i in range(k,n+1):
s=s+i
print(s)
Задача 6. З клавіатури вводиться два числа. Знайти суму парних чисел, які розміщені між ними
k=int(input("Введіть перше число="))
n=int(input("Введіть друге число="))
s=0
for i in range(k,n+1):
if (i%2==0):
s=s+i # подвійний відступ- команд циклу та умови
print(s)
Задача 7. Спортсмен розпочав тренування, пробігаючи 10 км в день. Щодня від збільшував норму на 10% від пробігу попереднього дня. Який шлях пробіжить спортсмен за 10 днів?
a=10
s=0
for i in range(2,11):
print("у день",i+1,"спортсмен пробіг",round(a,2))
s=s+a
a=a+0.1*a
print("Всього спортсмен пробіг",round(s,2))
Задача 8. Одноклітинна амеба ділиться навпіл кожні 3 години. Визначити скільки буде амеб через 3,6,9,12, ... , 24 години
n=1
for i in range(1,24,3):
n=n*2
print (n)
Задача 9. У гусей та кроликів разом 64 лапи. Скільки може бути кроликів та гусей (всі можливі комбінації)?
for k in range(16):
g=(64-(k*4))//2
print("Кролів=",k,end=' ')
print("Гусей=",g)
6. Підсумки уроку.
Питання до класу:
range(k, n, m)?
7. Домашнє завдання.
Задача 1. Надрукувати усю таблицю множення.
Задача 2. Обчислити значення функції y=4x2+3x+2 на проміжку від -10 до 10
Задача 3. У бригади є 10 косилок. Перша працювала m годин, кожна наступна - на 10 хвилин довше. Скільки годин і хвилин працювали косилки?
Завдання для учнів по темі: «Оператори повторення. Цикли з лічильником»
Задача 1. Надрукувати числа від 1 до 10
for chyslo in range(1,11):
print(chyslo)
Для того, щоб виконати друк цих значень у рядок, слід скористатись параметрами функції print():
Задача 2. Надрукувати числа від 1 до 20 у рядок
for i in range(1,21):
print(i, end=' ')
print("\n proba")
Досить часто в межах циклу потрібно виконувати підрахунок, накопичуючи суми чи інші числові значення. Для цього потрібно визначити змінну, в котрій будуть зберігатись результати таких розрахунків перед циклом і надати їй певного початкового значення. Якщо це не зробити, то виникне помилка типу NameError: name is not defined.
Змінення значення змінної передбачає виконання математичних операцій та збереження нового значення у цій же змінній. Python передбачає два різновиди запису подібних операцій.
var = var + 1 |
var += 1 |
|
change = change / 25 |
change /= 25 |
total = total + number |
total += number |
|
remainder = remainder % 2 |
remainder %= 2 |
result = result * 5 |
result *= 5 |
|
power = power ** 3 |
power ** = 3 |
Задача 3. Знайти суму чисел від 1 до 20
s=0
for i in range(1,21):
s=s+i
print(s)
Задача 4. З клавіатури вводиться число. Знайти суму чисел від 1 до цього числа
Задача 5. З клавіатури вводиться два числа. Знайти суму чисел, які розміщені між ними
Задача 6. З клавіатури вводиться два числа. Знайти суму парних чисел, які розміщені між ними
Задача 7. Спортсмен розпочав тренування, пробігаючи 10 км в день. Щодня від збільшував норму на 10% від пробігу попереднього дня. Який шлях пробіжить спортсмен за 10 днів?
Задача 8. Одноклітинна амеба ділиться навпіл кожні 3 години. Визначити скільки буде амеб через 3,6,9,12, ... , 24 години
Задача 9. У гусей та кроликів разом 64 лапи. Скільки може бути кроликів та гусей (всі можливі комбінації)?