Українська
Практика
Приклад 1. Вартість поїздки
Ввести відстань у кілометрах, витрату пального в літрах на 100 км і навчальну ціну літра в гривнях. Обчислити обсяг пального та вартість. Початкова версія очікує правильні додатні числа з крапкою; обмеження зазначають у README.
kotlin
import java.util.Locale
fun main() {
print("Відстань, км: ")
val distance = readln().toDouble()
print("Витрата, л/100 км: ")
val rate = readln().toDouble()
print("Ціна, грн/л: ")
val price = readln().toDouble()
val litres = distance * rate / 100
val cost = litres * price
val locale = Locale.forLanguageTag("uk-UA")
println(String.format(locale, "Пальне: %.2f л", litres))
println(String.format(locale, "Вартість: %.2f грн", cost))
}Для 150, 8, 60 результат – 12,00 л і 720,00 грн. Крапка під час введення та кома під час локалізованого виведення є різними правилами. Рядок форматування задає два знаки після коми, але не змінює збережене число. Ціна є синтетичним параметром задачі, а не поточним тарифом.
Приклад 2. Тривалість у днях, годинах і хвилинах
Для невід’ємної кількості секунд знайти повні дні та залишкові години, хвилини, секунди. Long дозволяє працювати з більшими значеннями, ніж Int.
kotlin
fun main() {
print("Секунди: ")
val total = readln().toLong()
val days = total / 86400
val hours = total % 86400 / 3600
val minutes = total % 3600 / 60
val seconds = total % 60
println("$days дн $hours год $minutes хв $seconds с")
}Для 90061 отримаємо 1 дн 1 год 1 хв 1 с; для нуля – усі складові нульові. Це тривалість, а не календарна дата: задача не враховує часові пояси або переведення годинника. Перевірте 59, 60, 3599 та 3600 секунд, щоб побачити межі.
Приклад 3. Кількість плитки та історія проєкту
Прямокутна підлога має додатні розміри в метрах; плитка квадратна зі стороною в метрах. Навчальна модель оцінює кількість за сумарною площею із запасом 10 %, округлюючи вгору. Вона не моделює розкладку й обрізання плиток.
kotlin
import kotlin.math.ceil
fun main() {
val length = 4.0
val width = 3.0
val side = 0.5
val reserve = 1.10
val needed = ceil(length * width / (side * side) * reserve)
println("Орієнтовно плиток: ${needed.toInt()}")
}Результат: Орієнтовно плиток: 53. Тут округлення вниз дало б недостатню кількість навіть у межах спрощеної моделі. Підготуйте три змістовні коміти: початкова структура, програма, README з вхідними даними й перевірками. Файли обгортки додайте до Git, build/ та кеші виключіть.
Після кожного коміту перегляньте git status і git log --oneline. Відкрийте копію проєкту в іншому каталозі та виконайте обгортку. Не переносіть кеш Gradle як частину студентського рішення: залежності мають відновлюватися з описаної конфігурації.