Мета уроку
Робота з програмними об'єктами ВІКНО, КНОПКА та НАПИС та програмна зміна їх характеристик.
Повторення
Вправа 1. Просте число
Завдання. Розробіть проєкт Просте число, за допомогою якого буде перевірятись, чи є простим числом введене в текстове поле ціле значення. Відомо, що число називають простим, якщо воно ділиться без остачі тільки на одиницю і на себе.
Код програми:
def click():
a = int(edit1.get())
k = 0
for i in range(2, a // 2+1):
if (a % i == 0):
k = k+1
if (k <= 0):
label1['text'] = "Число просте"
else:
label1['text'] = "Число не просте"
Вигляд вікна програми:
Вправа 2. Найменше спільне кратне
Завдання. Рейс автобуса одного маршруту триває 48 хв, а другого – 18 хв. Уперше ці автобуси одночасно вирушили зі спільної зупинки о 6:00. Знайдіть через який час у хвилинах вони вдруге одночасно вирушать із цієї зупинки. (Припустимо, що Водії хочуть разом попити кави перед наступним спільним виїздом на свої рейси)
Примітка. Завдання зводиться до розробки проєкту, за допомогою якого можна визначити найменше спільне кратне двох цілих чисел 48 і 18.
Теоретичний матеріал для виконання завдання
Найменше спільне кратне (НСК) двох цілих чисел — це найменше натуральне число, яке ділиться без остачі на кожне з цих чисел.
Класичний та найшвидший спосіб обчислення НСК, особливо для великих чисел за формулою: НСК(𝑎,𝑏)=|𝑎×𝑏|/НСД(𝑎,𝑏).
Логіка проста: спочатку ми знаходимо НСД за допомогою алгоритму Евкліда (послідовне ділення з остачею), а потім добуток чисел ділимо на знадений НСД.
Найбільшим спільним дільником (НСД) двох або декількох чисел називають найбільше натуральне число на яке діляться кожне з цих чисел.
Знаходження НСД (Алгоритм Евкліда)
Найпростіший спосіб знайти НСД — це метод ділення з остачею:
Ділимо більше число на менше.
Якщо остача не дорівнює нулю, то ділимо попередній дільник на отриману остачу.
Повторюємо процес, поки остача не стане рівною 0.
Останній дільник, при якому остача стала нулем, і є НСД.
Приклад розв’язання. Знайдемо НСК чисел 48 та 18.
І етап : Шукаємо НСД(48, 18)
48∶18=2 (остача 12)
18∶12=1 (остача 6)
12∶6=2 (остача 0)
Отже, НСД(48, 18) = 6.
ІІ етап: Шукаємо НСК(48, 18)
Використовуємо формулу: НСК(48,18)=48⋅18:6=144
Чому це зручно?
Швидкість: Не потрібно розкладати числа на прості множники (що займе більше часу для великих чисел).
Надійність: Алгоритм Евкліда працює за мінімальну кількість кроків.
Пригадуємо, що в Python позначаються :
// - ціла частина від ділення (чисельне ділення)
% - одержання остачі від цілочисельного ділення
Код програми:
Вигляд вікна програми:
Увага! Під час роботи з комп'ютером дотримуйтеся вимог БДЖ та санітарно-гігієнічних норм.
Домашнє завдання
Вправа 2. Найменше спільне кратне
Завдання. Склади проект для умови:
У Олени 99 — червоних паличок і 423 — синіх паличок. Скільки однакових многокутників може скласти Олена окремо з червоних та синіх паличок.
Тобто,
Усі фігури повинні мати однакову кількість сторін.
Кожна фігура має бути одного кольору (не можна змішувати червоні та сині палички в одній фігурі).
Яку найбільшу кількість сторін може мати кожен такий многокутник і скільки всього фігур максимально вийде з кожного кольору окремо (їх кількість може бути різна)?