Урок на тему: "Алгоритми з повтореннями та розгалуженнями для опрацювання величин."

Про матеріал

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

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

Тема: Алгоритми з повтореннями та розгалуженнями для опрацювання величин.

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

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

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

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

 

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

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

 

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

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

ПЗ: Python.

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

1. Організаційний момент.
2.  Перевірка домашнього завдання.

Задача:  Ми загадуємо число, комп'ютер намагається його вгадати

import random

print("Загадай число від 1 до 10")

x=1

y=10

a=((x+y)//2)

print("Моя версія=",a)

print("Якщо мало, натисніть 1. Якщо багато, натисніть 2. Якщо вгадано, натисніть 3")

b=int(input())

while (b!=3):

    if (b==1):

        x=a

    elif (b==2):

        y=a

    a=((x+y)//2)

    print("Моя версія=",a)

    print("Якщо мало, натисніть 1. Якщо багато, натисніть 2. Якщо вгадано, натисніть 3")

    b=int(input())

print ("The End")

 

4.    Творчі вправи.

Задача 1. Банк. 

На скільки років потрібно покласти в банк суму have, щоб отримати суму want, якщо банк нараховує 24% річних?

want=int(input("Яку суму ви хочете отримати? "))

have=int(input("Яку суму ви маєте? "))

suma=have

k=0

while suma<=want:

   suma=suma+0.24*suma

   k=k+1

   print(suma)

print("Потрібно ",k, "років")

 

Задача 2. Скарби. 

Капітан Флінт та його пірати (K) знайшли скарб із N монет Капітан забрав собі частину скарбу, що не перевищує половину Кожен із наступних піратів вчинив так само На скількох піратів вдалось розподілити скарб таким чином? Чи був бунт? (якщо обділеними залишилось більше половини піратів)

k=int(input("Скільки було піратів? "))

n=int(input("Скільки знайдено монет? "))

kapitan=n //2

n=n-kapitan

piraty=0

while n//2>0:

    suma=n//2

    n=n-suma

    piraty +=1

print("Гроші отримають",piraty,"піратів та капітан Флінт")

buntari=k-1-piraty

print("Бунтувати хочуть",buntari,"піратів")

if (buntari>=piraty):

    print("Буде бунт")

else:

    print("Бунту не буде")

 

Задача 3. Яблука. 

Яблука складені на прилавку пірамідкою: зверху одне, далі два, три, чотири і т.д. Скільки яблук на прилавку, якщо всього N рядів?

n=int(input("Скільки рядів яблук? "))

v_ryadu=0

vsogo=0

for ryad in range(n):

    v_ryadu +=1

    vsogo +=v_ryadu

print("Всього на прилавку", vsogo, "яблук")

 

Задача 4. Яблука-2. 

Скільки ящиків потрібно для зберігання цих яблук, якщо у ящик поміститься K яблук у висоту і M у ширину?

n=int(input("Скільки рядів яблук? "))

v_ryadu=0

vsogo=0

for ryad in range(n):

    v_ryadu +=1

    vsogo +=v_ryadu

print("Всього на прилавку", vsogo, "яблук")

k=int(input("У висоту "))

m=int(input("У ширину "))

box=0

box= vsogo // (k*m)

if (vsogo % (k*m) !=0):

    box=box+1

print("Треба",box,"ящиків")

 

Задача 5. Букет. 

Таня назбирала v волошок та r ромашок. Дівчинка вирішила зробити букети так, щоб у кожному обов'язково було a волошок та b ромашок. Скільком друзям дівчинка зможе подарувати квіткові композиції?

v=int(input("Зібрано волошок "))

r=int(input("Зібрано ромашок "))

a=int(input("У букеті має бути волошок "))

b=int(input("У букеті має бути ромашок "))

k=0

while (v>=a) and (r>=b):

    v -= a

    r -= b

    k += 1

print("Вийшло ", k, "букетів")

 

Задача 6. Юні підприємці. 

В учнів було S грн. Пляшка з соком коштує price грн, порожня пляшка коштує empty грн. Складіть алгоритм, за яким можна визначити, скільки пляшок соку вип'ють учні, якщо вони повертатимуть порожні пляшки й на отримані гроші купуватимуть повні?

s=int(input("Сума на початку "))

price=int(input("Ціна соку "))

empty=int(input("Порожня пляшка "))

k=0

while (s>=price):

    pokupka= s//price

    print("Куплено ", pokupka, "пляшок соку")

    s=s-pokupka*price

    s=s+pokupka*empty

    k=k+pokupka

print("Куплено ", k, "пляшок соку")

 

Задача 7. Ліфт.

Ліфт витримує 400 кг. У ліфт заходять люди масою від 50 до 80 кг. Скільки людей зайде в ліфт?

lift=400

import random

person=random.randint(50,81)

print(person)

suma=person

k=1

while suma<=lift:

    person=random.randint(50,81)

    print(person)

    suma+=person

    k=k+1

print("У ліфт зайшло",k,"людей")

 

Задача 8. Кур'єри.

Івана Олександровича Хлестакова запрошували керувати департаментом. Першого дня до нього відправили 1000 кур'єрів, а кожного наступного дня відправляли вдвічі більше, ніж попереднього. Іван Олександрович згодився тоді, коли до нього одразу прибуло не менш ніж 30000 кур'єрів. На який день це сталося?

n=1000

den=1

while n<30000:

    n *=2

    den +=1

print("Пройде",den,"днів")

 

5.    Підсумки уроку.

 

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

  1. Опрацювати конспект.
  2. Підготуватись до практичної роботи.
  3. Виконати завдання які не встигли зробити у класі, чи які викликали труднощі при виконанні.

 

 


Завдання до теми: «Алгоритми з повтореннями та розгалуженнями для опрацювання величин

 

Задача 1. Банк. 

На скільки років потрібно покласти в банк суму have, щоб отримати суму want, якщо банк нараховує 24% річних?

Вставити пропущені рядки коду

want=int(input("_______________________? "))

have=int(input("________________________ "))

suma=have

k=0

while _____<=________:

   suma=________+0.24*_________

   k=k+1

   print(________)

print("Потрібно ",____, "___________")

 

Задача 2. Скарби. 

Капітан Флінт та його пірати (K) знайшли скарб із N монет Капітан забрав собі частину скарбу, що не перевищує половину Кожен із наступних піратів вчинив так само На скількох піратів вдалось розподілити скарб таким чином? Чи був бунт? (якщо обділеними залишилось більше половини піратів)

 

Задача 3. Яблука. 

Яблука складені на прилавку пірамідкою: зверху одне, далі два, три, чотири і т.д. Скільки яблук на прилавку, якщо всього N рядів?

Розмістити рядки коду у правильному порядку

print("Всього на прилавку", vsogo, "яблук"),  n=int(input("Скільки рядів яблук? ")),

v_ryadu +=1, vsogo=0, for ryad in range(n):, vsogo +=v_ryadu, v_ryadu=0.

 

Задача 4. Яблука-2. 

Скільки ящиків потрібно для зберігання цих яблук, якщо у ящик поміститься K яблук у висоту і M у ширину?

 

Задача 5. Букет. 

Таня назбирала v волошок та r ромашок. Дівчинка вирішила зробити букети так, щоб у кожному обов'язково було a волошок та b ромашок. Скільком друзям дівчинка зможе подарувати квіткові композиції?

 

Задача 6. Юні підприємці. 

В учнів було S грн. Пляшка з соком коштує price грн, порожня пляшка коштує empty грн. Складіть алгоритм, за яким можна визначити, скільки пляшок соку вип'ють учні, якщо вони повертатимуть порожні пляшки й на отримані гроші купуватимуть повні?

За коментарями до коду відтворити код програми

#Запитати у користувача, яка сума була спочатку в учнів

#Ввести із клавіатури ціну пляшки із соком, присвоїти це значення змінній price

 #Ввести із клавіатури ціну порожньої  пляшки , присвоїти це значення змінній empty

#Присвоїти значення нуль для змінної, яка відповідає за кількість пляшок

#використати цикл повторення  з умовою, щоб цикл виконувався до тих пір поки початкова сума грошей учнів була більшою чи рівною за ціну пляшки із соком

#В середині циклу обчислити скільки пляшок соку можуть купити учні

 #Вивести кількість куплених пляшок соку

#Обчислити суму грошей, яка залишилась після покупки

#Обчислити суму грошей, яка буде в учнів після того як вони здадуть порожні пляшки

#Обчислити кількість  всіх куплених пляшок із соком

#Вивести кількість пляшок, які учні зможуть купити і випити

 

Задача 7. Ліфт.

Ліфт витримує 400 кг. У ліфт заходять люди масою від 50 до 80 кг. Скільки людей зайде в ліфт?

 

Задача 8. Кур'єри.

Івана Олександровича Хлестакова запрошували керувати департаментом. Першого дня до нього відправили 1000 кур'єрів, а кожного наступного дня відправляли вдвічі більше, ніж попереднього. Іван Олександрович згодився тоді, коли до нього одразу прибуло не менш ніж 30000 кур'єрів. На який день це сталося?

 

docx
Додано
20 серпня 2018
Переглядів
11179
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

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