Programming Concepts Course
  • Економіка & Великі дані
  • Математика
  • Бізнес Економіка
  1. Змінні, типи даних. Математичні операції в Python
  2. Practice Session 2
  • 👋🏻 Вітаємо на курсі!
  • Змінні, типи даних. Математичні операції в Python
    • Practice Session 2
  • Списки
    • Practice Session 6
  • Функції
    • Practice Session 8
  • Основи Git
    • Practice Session 9
  • Словники. List Comprehension
    • Practice Session 10
  • Базова робота з файлами. Обробка помилок
    • Practice Session 12
  • Обробка даних з JSON та CSV
    • Practice Session 13
  • Вступ до ООП
    • Practice Session 14
  • Базова робота з бібліотеками
    • Practice Session 15
    • Practice Session 16

Зміст

  • 🧊 План заняття: Верхівка айсберга
  • 📝 Operations Cheat Sheet
  • 🔢 Цілі числа
    • 👨‍💻 Live Coding: Конвертація часу
    • 🛠 Guided Practice: Reverse Engineering
  • 💠 Дійсні числа
    • 👨‍💻 Live Coding: Рух тіла
    • 🛠 Guided Practice: Евклідова відстань
  • Самойтійна робота
    • Проблема з яблуками (Integers)
    • Гіпотенуза трикутника (Floats)
    • Сума цифр
  • 🐛 Bug Hunter
    • №1
    • №2
    • №3
    • №4

Інші формати

  • Typst
  1. Змінні, типи даних. Математичні операції в Python
  2. Practice Session 2

Practice Session 2

🧊 План заняття: Верхівка айсберга

На сьогоднішньому занятті ми спробуємо змусити комп’ютер підкорятися нашим наказам, пірнемо в світ математичних операцій та напишемо наші перші програми - і все це завдяки неймовірній мові програмування Python.

Детальніше про наш план:

  • Цілі числа
    • 👨‍💻 Live Coding: Конвертація часу
    • 🛠 Guided Practice: Reverse Engineering
  • Дійсні числа
    • 👨‍💻 Live Coding: Рух тіла
    • 🛠 Guided Practice: Евклідова відстань
  • Самостійна робота
    • Проблема з яблуками
    • Гіпотенуза трикутника
    • Сума цифр
  • 🐛 Bug Hunter

📝 Operations Cheat Sheet

Операція Опис Приклад Результат
* Множення 2 * 3 6
** Піднесення до степеня 2 ** 3 8
/ Ділення (завжди float) 7 / 2 3.5
// Цілочисельне ділення 7 // 2 3
% Остача від ділення 7 % 2 1

🔢 Цілі числа

Перш ніж ми перейдемо до вирішення певних проблем, маємо поглянти на типову помилку початківців у програмуванні.

a = input("Введіть перше число: ")
b = input("Введіть друге число: ")
print(a + b)

Чому запропонований код не виконається так, як очікується?

👨‍💻 Live Coding: Конвертація часу

Контекст: Ми розробляємо підсистему для роботи з сервером. Час роботи, який повертає сервер подано в секундах. Наша задача - перевести кількість секунд у зрозумілий для користувача формат: години, хвилини, секунди.

Вхідні дані: Кількість секунд s = 5490.

Вихідні дані: Кількість годин, хвилин, та секунд.

🛠 Guided Practice: Reverse Engineering

Контекст: Тепер, припустимо, що користувач хоче ввести свій час, та передати його на сервер. Він користується форматом години, хвилини, секунди. Оскільки сервер розуміє тільки час в секундах, нам потрібно перевести наданий користувачем час у секунди.

Вхідні дані: Ввід від користувача hours=int(input()), minutes=int(input()), seconds=int(input()).

Вихідні дані: Загальний час у секундах

💠 Дійсні числа

На цьому етапі, в гру вступає, її величність, floating point, яка дозволяє нам розширити кількість можливих чисел в нескінченну кількість разів (майже). Але для того, аби оперувати цими числами, на відміну від цілих чисел, ми будемо користуватись типом float.

👨‍💻 Live Coding: Рух тіла

Контекст: Ми працюємо з обчисленням руху об’єкту в комп’ютерній грі. Ми маємо машину, яка рухається з прискоренням, та знаємо початкову швидкість \(v_0\), прискорення \(a\) та час \(t\). Наша задача - знайти зміщення \(S\) за наступною формулою:

\[S = v_0 t + \frac{at^2}{2}\]

Вхідні дані: Початкова швидкість v = 10, a=20,t=10`.

Вихідні дані: Зміщення

🛠 Guided Practice: Евклідова відстань

Контекст: Працюючи над тією ж відеогрою, перед нами постала задача вирахувати відстань між спостерігачем і ціллю. Ми знаємо координати спостерігача \(A(x_1, y_1)\) та цілі \(B(x_2, y_2)\). Для цього потрібно скористатись наступною формулою: \[ d = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2} \]

Вхідні дані: x1 = 10, x2=5, y1 = 20, y2 = 3

Вихідні дані: Відстань d

ПорадаПідказка

Для вирішення даної задачі маєте скористатися оператором піднесення до степеня **

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

Проблема з яблуками (Integers)

\(N\) школярів ділять \(K\) яблук порівну, залишок, що не ділиться, залишається у кошику.

Вхідні дані: Два числа \(N\) і \(K\).

Вихідні дані: Два числа: скільки яблук дісталося кожному студенту і скільки залишилось у кошику.

Гіпотенуза трикутника (Floats)

Дано два катети прямокутного трикутника. Знайдіть гіпотенузу.

Вхідні дані: Два числа \(a\) і \(b\).

Вихідні дані: Довжина гіпотенузи.

Сума цифр

Дано трицифрове число (наприклад, 179). Знайдіть суму його цифр.

ПопередженняОбмеження

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

ПорадаПідказка

Для вирішення даної задачі маєте скористатися оператороми цілочисельного ділення та ділення з остачею аби отримати та відкинути останню цифру.

🐛 Bug Hunter

І нарешті, остання частина нашої практики - Bug Hunter! Погляньте на фрагменти коду, та поясніть, чому вони не виконаються, або виконаються не так, як очікується.

№1

width = input("Введіть ширину: ")
height = input("Введіть висоту: ")

area = width * height
print(f"Площа: {area}")

№2

num1 = 10
num2 = 20

average = num1 + num2 / 2
print(f"Середнє значення: {average}")

№3

R = 5
pi = 3.14159

length = 2 * pi * r 
print(length)

№4

x = 10
y = 0,5

result = x + y
print(result)
 

© 2025 Vadym Katsel. All rights reserved.