Українська
Завдання
Відповідно до номера свого варіанта виконайте завдання обраного рівня складності.
Не потрібно виконувати всі три, якщо викладач не поставив такої вимоги. Основний навчальний шлях – PyCharm, середовище .venv, venv і pip. Високий рівень дозволяє практику uv та аргументів командного рядка. Формули потрібні для простого контрольного обчислення; предмет цієї роботи – організація проєкту, запуск, залежності й історія змін. Конструкції перевірки аргументів можна брати з прикладу 3. Числа в командному рядку записуйте з крапкою.
Варіанти
Варіант 1. Прямокутний трикутник
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має катети 3 і 4 см як дані в коді. Обчислити та вивести гіпотенузу sqrt(a*a+b*b), периметр і площу a*b/2. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує два катети в сантиметрах з аргументів командного рядка, обчислює та виводить гіпотенузу sqrt(a*a+b*b), периметр і площу a*b/2. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 3:4 5:12. Для кожного набору обчислити гіпотенузу sqrt(a*a+b*b), периметр і площу a*b/2; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 2. Коло та круг
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має радіус 5 см як дані в коді. Обчислити та вивести діаметр 2*r, довжину кола 2*pi*r і площу pi*r*r. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує радіус у сантиметрах з аргументів командного рядка, обчислює та виводить діаметр 2*r, довжину кола 2*pi*r і площу pi*r*r. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 5 10 12.5. Для кожного набору обчислити діаметр 2*r, довжину кола 2*pi*r і площу pi*r*r; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 3. Прямокутний паралелепіпед
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має ребра 2, 3 і 4 см як дані в коді. Обчислити та вивести об’єм a*b*c, площу поверхні 2*(a*b+a*c+b*c) і діагональ. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує три ребра в сантиметрах з аргументів командного рядка, обчислює та виводить об’єм a*b*c, площу поверхні 2*(a*b+a*c+b*c) і діагональ. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 2:3:4 3:4:5. Для кожного набору обчислити об’єм a*b*c, площу поверхні 2*(a*b+a*c+b*c) і діагональ; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 4. Металева куля
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має радіус 3 см і густину 7800 кг/м³ як дані в коді. Обчислити та вивести об’єм 4*pi*r**3/3 у м³ та масу в кілограмах; спочатку перевести радіус у метри. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує радіус у сантиметрах і густину в кг/м³ з аргументів командного рядка, обчислює та виводить об’єм 4*pi*r**3/3 у м³ та масу в кілограмах; спочатку перевести радіус у метри. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом tabulate, який обробляє кілька наборів даних з аргументів, наприклад 3:7800 2:2700. Для кожного набору обчислити об’єм 4*pi*r**3/3 у м³ та масу в кілограмах; спочатку перевести радіус у метри; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 5. Рівнобічна трапеція
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має основи 8 і 4 см та висоту 3 см як дані в коді. Обчислити та вивести площу (a+b)*h/2 і бічну сторону sqrt(h*h+((a-b)/2)**2). Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує дві основи та висоту в сантиметрах з аргументів командного рядка, обчислює та виводить площу (a+b)*h/2 і бічну сторону sqrt(h*h+((a-b)/2)**2). Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 8:4:3 10:6:4. Для кожного набору обчислити площу (a+b)*h/2 і бічну сторону sqrt(h*h+((a-b)/2)**2); вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 6. Циліндричний бак
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має радіус 0,5 м і висоту 1,2 м як дані в коді. Обчислити та вивести об’єм pi*r*r*h у м³ та літрах; 1 м³ дорівнює 1000 л. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує радіус і висоту бака в метрах з аргументів командного рядка, обчислює та виводить об’єм pi*r*r*h у м³ та літрах; 1 м³ дорівнює 1000 л. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 0.5:1.2 0.3:2. Для кожного набору обчислити об’єм pi*r*r*h у м³ та літрах; 1 м³ дорівнює 1000 л; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 7. Конвертер температури
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має температуру 20 °C як дані в коді. Обчислити та вивести температуру Фаренгейта C*9/5+32 і Кельвіна C+273.15; значення C не менше -273.15. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує температуру в градусах Цельсія з аргументів командного рядка, обчислює та виводить температуру Фаренгейта C*9/5+32 і Кельвіна C+273.15; значення C не менше -273.15. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом colorama, який обробляє кілька наборів даних з аргументів, наприклад 20 0 -40. Для кожного набору обчислити температуру Фаренгейта C*9/5+32 і Кельвіна C+273.15; значення C не менше -273.15; вивести результати з текстовими підписами та оформленням через colorama, зрозумілим і без кольору, та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 8. Рівноприскорений рух
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має початкову швидкість 2 м/с, прискорення 3 м/с² і час 4 с як дані в коді. Обчислити та вивести кінцеву швидкість v0+a*t і переміщення v0*t+a*t*t/2; час додатний, решта величин можуть мати знак. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує початкову швидкість, прискорення та час у SI з аргументів командного рядка, обчислює та виводить кінцеву швидкість v0+a*t і переміщення v0*t+a*t*t/2; час додатний, решта величин можуть мати знак. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 2:3:4 0:1:5. Для кожного набору обчислити кінцеву швидкість v0+a*t і переміщення v0*t+a*t*t/2; час додатний, решта величин можуть мати знак; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 9. Вільне падіння
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має висоту 20 м як дані в коді. Обчислити та вивести час sqrt(2*h/g) і швидкість sqrt(2*g*h) за g = 9.81 м/с² без опору повітря. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує висоту падіння в метрах з аргументів командного рядка, обчислює та виводить час sqrt(2*h/g) і швидкість sqrt(2*g*h) за g = 9.81 м/с² без опору повітря. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 20 45 80. Для кожного набору обчислити час sqrt(2*h/g) і швидкість sqrt(2*g*h) за g = 9.81 м/с² без опору повітря; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 10. Закон Ома
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має напругу 12 В та опір 6 Ом як дані в коді. Обчислити та вивести струм U/R і потужність U*U/R. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує напругу у вольтах і опір в омах з аргументів командного рядка, обчислює та виводить струм U/R і потужність U*U/R. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 12:6 24:12. Для кожного набору обчислити струм U/R і потужність U*U/R; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 11. Кінетична енергія
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має масу 2 кг і швидкість 3 м/с як дані в коді. Обчислити та вивести кінетичну енергію m*v*v/2 у джоулях. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує масу в кілограмах та швидкість у м/с з аргументів командного рядка, обчислює та виводить кінетичну енергію m*v*v/2 у джоулях. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом tabulate, який обробляє кілька наборів даних з аргументів, наприклад 2:3 5:10. Для кожного набору обчислити кінетичну енергію m*v*v/2 у джоулях; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 12. Тиск рідини
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має глибину 2 м та густину 1000 кг/м³ як дані в коді. Обчислити та вивести надлишковий гідростатичний тиск rho*9.81*h у паскалях і кілопаскалях. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує глибину й густину в SI з аргументів командного рядка, обчислює та виводить надлишковий гідростатичний тиск rho*9.81*h у паскалях і кілопаскалях. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 2:1000 5:1030. Для кожного набору обчислити надлишковий гідростатичний тиск rho*9.81*h у паскалях і кілопаскалях; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 13. Конус
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має радіус 3 см і висоту 4 см як дані в коді. Обчислити та вивести об’єм pi*r*r*h/3, твірну sqrt(r*r+h*h) та площу бічної поверхні. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує радіус і висоту в сантиметрах з аргументів командного рядка, обчислює та виводить об’єм pi*r*r*h/3, твірну sqrt(r*r+h*h) та площу бічної поверхні. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 3:4 5:12. Для кожного набору обчислити об’єм pi*r*r*h/3, твірну sqrt(r*r+h*h) та площу бічної поверхні; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 14. Шестикутна плитка
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має сторону плитки 0,2 м і площу підлоги 12 м² як дані в коді. Обчислити та вивести площу плитки 3*sqrt(3)*a*a/2, периметр і кількість плиток з округленням угору; відходи не враховувати. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує сторону правильного шестикутника та площу покриття у SI з аргументів командного рядка, обчислює та виводить площу плитки 3*sqrt(3)*a*a/2, периметр і кількість плиток з округленням угору; відходи не враховувати. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 0.2:12 0.3:20. Для кожного набору обчислити площу плитки 3*sqrt(3)*a*a/2, периметр і кількість плиток з округленням угору; відходи не враховувати; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 15. Паливо в дорозі
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має шлях 250 км, витрату 7 л/100 км і ціну 60 грн/л як дані в коді. Обчислити та вивести потрібне паливо distance*rate/100 і його вартість. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує шлях, витрату та ціну палива у вказаних одиницях з аргументів командного рядка, обчислює та виводить потрібне паливо distance*rate/100 і його вартість. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 250:7:60 100:8:58. Для кожного набору обчислити потрібне паливо distance*rate/100 і його вартість; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 16. Швидкість завантаження
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має розмір файла 500 МБ і швидкість 100 Мбіт/с як дані в коді. Обчислити та вивести ідеальний час size*8/speed у секундах без службового трафіку; 1 МБ = 1000000 байтів. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує розмір у десяткових МБ та швидкість у Мбіт/с з аргументів командного рядка, обчислює та виводить ідеальний час size*8/speed у секундах без службового трафіку; 1 МБ = 1000000 байтів. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом humanize, який обробляє кілька наборів даних з аргументів, наприклад 500:100 1000:50. Для кожного набору обчислити ідеальний час size*8/speed у секундах без службового трафіку; 1 МБ = 1000000 байтів; вивести читабельну тривалість через humanize поряд із точними секундами та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 17. Фарбування кімнати
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має розміри кімнати 4 на 3 м, висоту 2,5 м і покриття 8 м²/л як дані в коді. Обчислити та вивести площу чотирьох стін 2*(a+b)*h і літри фарби; отвори, стелю та підлогу не враховувати. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує довжину, ширину, висоту та покриття фарби в м²/л з аргументів командного рядка, обчислює та виводить площу чотирьох стін 2*(a+b)*h і літри фарби; отвори, стелю та підлогу не враховувати. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 4:3:2.5:8 5:4:3:10. Для кожного набору обчислити площу чотирьох стін 2*(a+b)*h і літри фарби; отвори, стелю та підлогу не враховувати; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 18. Відсотки за вкладом
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має вклад 10000 грн, річну ставку 8 відсотків і строк 3 роки як дані в коді. Обчислити та вивести суми за простими P*(1+r*n) і складними P*(1+r)**n відсотками; r = ставка/100, капіталізація щорічна. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує суму, річну ставку у відсотках і цілу кількість років з аргументів командного рядка, обчислює та виводить суми за простими P*(1+r*n) і складними P*(1+r)**n відсотками; r = ставка/100, капіталізація щорічна. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом tabulate, який обробляє кілька наборів даних з аргументів, наприклад 10000:8:3 20000:6:2. Для кожного набору обчислити суми за простими P*(1+r*n) і складними P*(1+r)**n відсотками; r = ставка/100, капіталізація щорічна; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 19. Енергетична цінність страви
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має білки 10 г, жири 5 г і вуглеводи 20 г як дані в коді. Обчислити та вивести енергію 4*p+9*f+4*c у кілокалоріях; компоненти невід’ємні, їх сума додатна. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує маси білків, жирів та вуглеводів у грамах з аргументів командного рядка, обчислює та виводить енергію 4*p+9*f+4*c у кілокалоріях; компоненти невід’ємні, їх сума додатна. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 10:5:20 15:3:30. Для кожного набору обчислити енергію 4*p+9*f+4*c у кілокалоріях; компоненти невід’ємні, їх сума додатна; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 20. Масштабування фото
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має ширину 1920 px, висоту 1080 px та нову ширину 1280 px як дані в коді. Обчислити та вивести нову висоту зі збереженням пропорцій і округленням до найближчого цілого; файли зображень не змінювати. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує початкові розміри та нову ширину в пікселях з аргументів командного рядка, обчислює та виводить нову висоту зі збереженням пропорцій і округленням до найближчого цілого; файли зображень не змінювати. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 1920:1080:1280 1200:800:600. Для кожного набору обчислити нову висоту зі збереженням пропорцій і округленням до найближчого цілого; файли зображень не змінювати; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 21. Масштаб карти
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має відстань 4 см і знаменник масштабу 50000 як дані в коді. Обчислити та вивести відстань на місцевості cm*N/100000 у кілометрах. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує відстань на карті в сантиметрах і знаменник масштабу 1:N з аргументів командного рядка, обчислює та виводить відстань на місцевості cm*N/100000 у кілометрах. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 4:50000 2.5:100000. Для кожного набору обчислити відстань на місцевості cm*N/100000 у кілометрах; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 22. Часові пояси
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має момент 2026-09-16T12:00:00+00:00 і пояс Europe/Madrid як дані в коді. Обчислити та вивести місцевий час через datetime.fromisoformat і ZoneInfo; для Windows встановити tzdata. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує ISO-момент зі зміщенням UTC та назву IANA часового поясу з аргументів командного рядка, обчислює та виводить місцевий час через datetime.fromisoformat і ZoneInfo; для Windows встановити tzdata. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом tzdata, який отримує ISO-момент зі зміщенням UTC першим аргументом, а далі кілька IANA-поясів, наприклад Europe/Madrid Europe/London Asia/Tokyo. Для кожного поясу вивести місцеву дату, час і зміщення UTC. Відхилити момент без зміщення та невідомі пояси з поясненням. Додати --help, перевірити перехід на іншу дату; зафіксувати pyproject.toml, uv.lock, README і три змістовні коміти. Підтвердити відтворення через uv sync --locked.
Варіант 23. Архімедова сила
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має об’єм 0,01 м³ і густину рідини 1000 кг/м³ як дані в коді. Обчислити та вивести силу rho*9.81*V у ньютонах. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує об’єм зануреної частини в м³ і густину рідини з аргументів командного рядка, обчислює та виводить силу rho*9.81*V у ньютонах. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом tabulate, який обробляє кілька наборів даних з аргументів, наприклад 0.01:1000 0.02:800. Для кожного набору обчислити силу rho*9.81*V у ньютонах; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 24. Нагрівання води
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має масу 2 кг, температури 20 і 80 °C та потужність 2000 Вт як дані в коді. Обчислити та вивести енергію 4200*m*(t2-t1) і час Q/P; 0 <= t1 < t2 <= 100, втрати тепла не враховувати. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує масу, початкову й кінцеву температури та потужність нагрівача з аргументів командного рядка, обчислює та виводить енергію 4200*m*(t2-t1) і час Q/P; 0 <= t1 < t2 <= 100, втрати тепла не враховувати. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 2:20:80:2000 1:15:95:1500. Для кожного набору обчислити енергію 4200*m*(t2-t1) і час Q/P; 0 <= t1 < t2 <= 100, втрати тепла не враховувати; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 25. Гроза
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має затримку грому 3 с як дані в коді. Обчислити та вивести відстань 343*t у метрах і кілометрах; часом проходження світла знехтувати. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує затримку між блискавкою та громом у секундах з аргументів командного рядка, обчислює та виводить відстань 343*t у метрах і кілометрах; часом проходження світла знехтувати. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 3 5 8. Для кожного набору обчислити відстань 343*t у метрах і кілометрах; часом проходження світла знехтувати; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 26. Вигідна піца
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має діаметр 30 см і ціну 180 грн як дані в коді. Обчислити та вивести площу pi*d*d/4 і ціну одного см². Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує діаметр піци в сантиметрах та ціну з аргументів командного рядка, обчислює та виводить площу pi*d*d/4 і ціну одного см². Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 30:180 40:260. Для кожного набору обчислити площу pi*d*d/4 і ціну одного см²; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 27. Розстрочка
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має ціну 12000 грн та строк 6 місяців як дані в коді. Обчислити та вивести щомісячний платіж price/months без відсотків і комісій; показати два знаки після крапки. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує ціну і цілу додатну кількість місяців з аргументів командного рядка, обчислює та виводить щомісячний платіж price/months без відсотків і комісій; показати два знаки після крапки. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом tabulate, який обробляє кілька наборів даних з аргументів, наприклад 12000:6 18000:12. Для кожного набору обчислити щомісячний платіж price/months без відсотків і комісій; показати два знаки після крапки; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 28. Електроприлади
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має потужність 1000 Вт, час 3 год і тариф 4 грн/кВт·год як дані в коді. Обчислити та вивести енергію power*hours/1000 у кВт·год і її вартість. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує потужність у ватах, час у годинах та тариф з аргументів командного рядка, обчислює та виводить енергію power*hours/1000 у кВт·год і її вартість. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 1000:3:4 2000:1.5:4. Для кожного набору обчислити енергію power*hours/1000 у кВт·год і її вартість; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 29. Формула Герона
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має сторони 3, 4 і 5 см як дані в коді. Обчислити та вивести півпериметр p і площу sqrt(p*(p-a)*(p-b)*(p-c)); сума кожних двох сторін має перевищувати третю. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує три сторони трикутника в сантиметрах з аргументів командного рядка, обчислює та виводить півпериметр p і площу sqrt(p*(p-a)*(p-b)*(p-c)); сума кожних двох сторін має перевищувати третю. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 3:4:5 5:5:6. Для кожного набору обчислити півпериметр p і площу sqrt(p*(p-a)*(p-b)*(p-c)); сума кожних двох сторін має перевищувати третю; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Варіант 30. Математичний маятник
1. Початковий рівень. Створити у PyCharm програму Python 3.14, що має довжину 1 м як дані в коді. Обчислити та вивести період 2*pi*sqrt(L/9.81) для малих коливань і кількість повних коливань за 60 с. Запустити файл у середовищі проєкту, показати одиниці результату та зберегти код і .gitignore одним локальним комітом.
2. Базовий рівень. Створити окремий проєкт із .venv, який отримує довжину маятника в метрах з аргументів командного рядка, обчислює та виводить період 2*pi*sqrt(L/9.81) для малих коливань і кількість повних коливань за 60 с. Перевірити кількість аргументів, числовий формат і допустимість значень. Описати в README запуск і контрольний результат, показати шлях інтерпретатора та зробити два змістовні коміти. Зовнішні залежності, якщо вони потрібні, зафіксувати в requirements.txt.
3. Високий рівень. Створити uv-проєкт із пакетом rich, який обробляє кілька наборів даних з аргументів, наприклад 1 0.5 2. Для кожного набору обчислити період 2*pi*sqrt(L/9.81) для малих коливань і кількість повних коливань за 60 с; вивести вирівняну таблицю та кількість успішно оброблених наборів. Додати --help; відхиляти нечислові, нескінченні й недопустимі дані з поясненням у потік помилок. Завершувати з кодом 1, якщо є відхилені набори, інакше 0. Зберегти опис залежностей, lock-файл і README, зробити три змістовні коміти та перевірити uv sync --locked у чистій копії.
Порядок виконання та захисту роботи
- Перевірте Python 3.14 і PyCharm. Створіть окремий каталог для свого варіанта та переконайтеся, що IDE використовує інтерпретатор цього проєкту.
- Реалізуйте обраний рівень, поясніть формули та одиниці. Порівняйте результат принаймні з одним ручним обчисленням і одним граничним випадком.
- Запустіть програму з PyCharm та з термінала. Збережіть команди, параметри та результати; для перевірки середовища покажіть
sys.executable. - Опишіть залежності, створіть чисте середовище й повторіть запуск за README. Не переносіть
.venvміж комп’ютерами як спосіб встановлення. - Перевірте
.gitignore, різницю файлів і історію. Подайте каталог локального репозиторію з прихованою.git, але без середовищ та кешів. Посилання GitHub може доповнювати здачу, але не є обов’язковим. - У звіті вкажіть тему, мету, варіант і рівень, версії інструментів, код, контрольні запуски та короткий висновок. На захисті відтворіть запуск, поясніть шлях інтерпретатора й покажіть один змістовний коміт.