Урок на тему: "Оператори повторення. Цикли з лічильником."

Про матеріал

Продовжуємо вивчати мову програмування Python. Виконуєм самостійну роботу для закріплення теми розгалуження. Вчимо цикли, а саме цикли із лічильником. Використовуємо практичні завдання із дистанційного курсу Оксани Пасічник. Є картка із завданнями для учнів.

Перегляд файлу

Тема: Оператори повторення. Цикли з лічильником.

Метою є формування таких компетентностей:

Спілкування державною мовою. Це вміння усно і письмово висловлювати й тлумачити поняття, думки, почуття, факти та погляди (через слухання, говоріння, читання, письмо, застосування мультимедійних засобів).

Спілкування іноземними мовами. Уміння належно розуміти висловлене іноземною мовою, усно і письмово висловлювати і тлумачити поняття.

Математична грамотність. Уміння застосовувати математичні (числові ) методи для вирішення прикладних завдань. Здатність до розуміння і використання простих математичних моделей.

 

Інформаційно-цифрова компетентність передбачає впевнене, а водночас критичне застосування інформаційнокомунікаційних технологій (ІКТ) для створення, пошуку, обробки, обміну інформацією. Інформаційна й медіа-грамотність, основи програмування, алгоритмічне мислення, навички безпеки в інтернеті та кібербезпеці. Розуміння етики роботи з інформацією (авторське право, інтелектуальна власність тощо).

Підприємливість. Уміння генерувати нові ідеї й ініціативи та втілювати їх у життя з метою підвищення як власного соціального статусу та добробуту, так і розвитку суспільства і держави.

 

Тип уроку: урок застосування (закріплення) знань, умінь та навичок.

Обладнання: комп’ютер, зошит, проектор, дидактичні картки.

ПЗ: Python.

Структура уроку

1. Організаційний момент.
2.    Актуалізація опорних знань та їх коригування.

 Самостійна робота.


 Самостійна робота

  1. Логічний тип може приймати такі значення:_________і_________.
  2. Дописати до знаку порівняння його позначення мовою програмування Python:

рівність

 

більше

 

менше або дорівнює

 

менше

 

не дорівнює

 

більше або дорівнює

 

 

  1. Як записати складну умову: значення змінної number має бути меншим 0 або парним?

Виберіть одну або декілька відповідей:

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):

 

  1. З’єднати блок схему із відповідною структурою коду:

 

 

if логічний вираз:

        дії, які будуть виконуватися якщо   логічний вираз буде мати значення True

 

 

 

if логічний вираз:

        дії, які будуть виконуватися якщо логічний вираз буде мати значення True

else:

        дії, які будуть виконуватися якщо логічний вираз буде мати значення False

  1. Заповни пропуски у команді умов, використовуючи наступні слова-підказки: print, число від’ємне, else, число додатнє, if, elif, це нуль.

if   (suma>0):

      ______  (_______________)

__  (suma<0):

      print      (_______________)

________:

      print      (_______________)

 

  1. Яке число буде надруковано на екрані в результаті виконання програми?

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.


Шкала чисел (range)

Цикл з параметром у Python може перебирати значення різних типів: числа, букви, рядки, елементи списку тощо. Функція range() створює послідовність чисел у вигляді арифметичної прогресії (шкалу).

 Ця функція приймає три параметри:

  • початкове число, яке включається у шкалу;
  • кінцеве число, яке не включається у шкалу;
  • крок або значення зміни, яке може бути додатнім чи від'ємним. Крок означає, що наступне значення шкали відрізняється від попереднього на значення цього кроку.

Можна задавати лише один або два параметри цієї функції, тоді решта параметрів прийматимуть значення за умовчанням. Для початкового числа це значення 0, а крок рівний 1. Для кінцевого числа значення за умовчанням не існує, тому це обов'язковий параметр функції range().

range (n)

Шкала чисел від 0 до n-1

range (k, n)

Шкала чисел від k до n-1

range (k, n, m)

Шкала чисел від 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():

  • end="string" означає, що string буде додано у кінці кожного виведення на екран функцією print(). За умовчанням end="\n", що означає перехід на новий рядок.
  • sub="string" означає, що string буде додано між надрукованими аргументами функції 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.    Підсумки уроку.

Питання до класу:

  1. Що таке цикл?
  2. У програмах цикли поділяються на ________ та ________.
  3. Коли  використовується цикл з параметром?
  4. Записати структуру використання циклу із лічильником на мові Python.
  5. Пояснити значення функції, в чому їх відмінність range (n), range (k, n),

range(k, n, m)?

 

 

 

7.    Домашнє завдання.

  1. Опрацювати конспект.
  2. Виконати завдання на комп’ютері, зберегти.

Задача 1. Надрукувати усю таблицю множення.

Задача 2. Обчислити значення функції y=4x2+3x+2 на проміжку від -10 до 10

Задача 3. У бригади є 10 косилок. Перша працювала m годин, кожна наступна - на 10    хвилин довше. Скільки годин і хвилин працювали косилки?

Завдання для учнів по темі: «Оператори повторення. Цикли з лічильником»

Задача 1. Надрукувати числа від 1 до 10

for chyslo in range(1,11):

    print(chyslo)

Для того, щоб виконати друк цих значень у рядок, слід скористатись параметрами функції print():

  • end="string" означає, що string буде додано у кінці кожного виведення на екран функцією print(). За умовчанням end="\n", що означає перехід на новий рядок.
  • sub="string" означає, що string буде додано між надрукованими аргументами функції 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 лапи. Скільки може бути кроликів та гусей (всі можливі комбінації)?

 

Середня оцінка розробки
Структурованість
3.0
Оригінальність викладу
3.0
Відповідність темі
3.0
Загальна:
3.0
Всього відгуків: 2
Оцінки та відгуки
  1. Fedorova Snezhana
    Загальна:
    1.0
    Структурованість
    1.0
    Оригінальність викладу
    1.0
    Відповідність темі
    1.0
  2. Петрук Алла Михайлівна
    Загальна:
    5.0
    Структурованість
    5.0
    Оригінальність викладу
    5.0
    Відповідність темі
    5.0
docx
Додано
20 серпня 2018
Переглядів
16355
Оцінка розробки
3.0 (2 відгука)
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку