---
# System prepended metadata

title: Практика 5. Лінійні програми
tags: [Python]

---

---
tags: Python
---

# Практика 5. Лінійні програми

Для *реєстрації* на сайті snakify використовуйте *запрошувальне посилання* https://snakify.org/join_class/roman.yatsenko/hneu.net/

## Базовий рівень

### [Задача 1. Остання цифра числа](https://snakify.org/en/lessons/integer_float_numbers/problems/last_digit/)

Дано натуральне число. Виведіть останню цифру.

:::spoiler Відповідь
```python=
number = int(input())
last_digit = number % 10
print(last_digit)
```
<!--
```
ввести n с помощью int(input())
найти и вывести последнюю цифру n 
как остаток от деления на 10 (n % 10)
```
-->
:::

### [Задача 2. Число десятків](https://snakify.org/en/lessons/integer_float_numbers/problems/tens_digit/)

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

:::spoiler Відповідь
```
ввести n
вивести залишок від ділення на 10 для результату
ділення n на 10
```
![](https://i.imgur.com/GK425kz.png)
<!--
``` python
n = int(input())
print(n // 10 % 10)
```
-->
:::

### [Задача 3. Сума цифр](https://snakify.org/en/lessons/integer_float_numbers/problems/sum_of_digits/)

Дано тризначне число. Знайдіть суму його цифр.

:::spoiler Відповідь
```
ввести n
знайти суму цифр числа (див. лекцію на тему 3)
вивести суму
```
![](https://i.imgur.com/Iei18jb.png)
<!--
``` python
n = int(input())
print(n // 100 + n // 10 % 10 + n % 10)
```
-->
:::

## Середній рівень

### [Задача 4. Дробова частина](https://snakify.org/en/lessons/integer_float_numbers/problems/fractional_part/)

Дано позитивне дробне число `X`. Виведіть його дрібну частину.

:::spoiler Відповідь
```
ввести дробове число (float)
вивести різницю між числом та його цілою частиною (int)
```
![](https://i.imgur.com/pBJM8eI.png)
<!--
``` python
x = float(input())
print(x - int(x))
```
-->
:::

### [Задача 5. Перша цифра після точки](https://snakify.org/en/lessons/integer_float_numbers/problems/digit_after_decimal_point/)

Дано позитивне дробове число `X`. Виведіть першу цифру після десяткової точки.

:::spoiler Відповідь
```
ввести дробове число
знайти цілу частину від добутку числа на 10,
а потім для результату знайти залишок від делення на 10
```
![](https://i.imgur.com/yhcJ81v.png)
<!--
``` python
x = float(input())
print(int(x * 10) % 10)
```
-->
:::

### [Задача 6. Автопробіг](https://snakify.org/en/lessons/integer_float_numbers/problems/car_route/)

За день машина проїжджає `n` кілометрів. Скільки днів потрібно, щоб проїхати маршрут завдовжки `m` кілометрів? Програма отримує на вхід числа `n` та `m`.

:::spoiler Відповідь
```
ввести n
ввести m
застосувати округлення вгору
або обчислити m // n + (m % n + n - 1) // n 
```
![](https://i.imgur.com/3NxhEzV.png)
<!--
``` python
n = int(input())
m = int(input())
print(m // n + (m % n + n - 1) // n)
```
-->
:::

## Підвищений рівень

### [Задача 7. Електронний годинник](https://snakify.org/en/lessons/integer_float_numbers/problems/digital_clock/)

Дано число `n`. З початку доби пройшло `n` хвилин. Визначте, скільки годин і хвилин буде показувати електронний годинник у цей момент. Програма має вивести два числа: кількість годин (від 0 до 23) та кількість хвилин (від 0 до 59). Врахуйте, що число `n` може бути більше, ніж кількість хвилин на добу.

:::spoiler Відповідь
<!--
```
ввести n
вивести одним print
залишок від ділення на 24 кількості минулих годин
і кількість хвилин (залишок від ділення на 60)
```
![](https://i.imgur.com/Y9eyEkK.png)
``` python
n = int(input())
print((n // 60) % 24, n % 60)
```
-->
:::

### [Задача 8. Вартість покупки](https://snakify.org/en/lessons/integer_float_numbers/problems/total_cost/)

Пиріжок у їдальні коштує `a` гривень і `b` копійок. Визначте, скільки гривень та копійок потрібно заплатити за `n` пиріжків. Програма отримує на вхід три числа: `a`, `b`, `n`, і має вивести два числа: вартість покупки в гривнях та копійках.

:::spoiler Відповідь
<!--
```
ввести a
ввести b
ввести n
обчислити вартість покупки у копійках
вивести відповідь у гривнях та копійках
```
![](https://i.imgur.com/9lViLRL.png)
``` python
a = int(input())
b = int(input())
n = int(input())
value = (a * 100 + b) * n
print(value // 100, value % 100)
```
-->
:::

### [Задача 9. Годинник - 1](https://snakify.org/en/lessons/integer_float_numbers/problems/clock_face_1/)

З початку доби пройшло `H` годин, `M` хвилин, `S` секунд (`0 ≤ H < 12`, `0 ≤ M < 60`, `0 ≤ S < 60`). За даними числами `H`, `M`, `S` визначте кут (у градусах), на який повернулася годинникова стрілка з початку доби і виведіть його у вигляді дробового числа.

### [Задача 10. Годинник - 2](https://snakify.org/en/lessons/integer_float_numbers/problems/clock_face_2/)

З початку доби годинна стрілка повернулася на кут в `α` градусів. Визначте, на який кут повернулася хвилинна стрілка з початку останньої години. Вхідні та вихідні дані - дробові числа.


<!--
### [Задача 10. Конец уроков](https://pythontutor.ru/lessons/int_and_float/problems/konec_urokov/)

В некоторой школе занятия начинаются в 9:00. Продолжительность урока — 45 минут, после 1-го, 3-го, 5-го и т.д. уроков перемена 5 минут, а после 2-го, 4-го, 6-го и т.д. — 15 минут.

Дан номер урока (число от 1 до 10). Определите, когда заканчивается указанный урок.

Выведите два целых числа: время окончания урока в часах и минутах.

:::spoiler Решение
```
ввести n
найти через сколько минут закончится n-й урок после начала занятий 
как n * 45 + (n - 1) * 10 - (1 - n % 2) * 5
перевести в часы и минуты и вывести
```
![](https://i.imgur.com/jmQfrt9.png)
``` python
n = int(input())
t = n * 45 + (n - 1) * 10 - (1 - n % 2) * 5
print(9 + t // 60, t % 60)
```
:::
-->

<!--
### [Задача 12. Улитка](https://pythontutor.ru/lessons/int_and_float/problems/ulitka/)

Улитка ползет по вертикальному шесту высотой `h` метров, поднимаясь за день на `a` метров, а за ночь спускаясь на `b` метров. На какой день улитка доползет до вершины шеста?

Программа получает на вход натуральные числа `h`, `a`, `b`.

Программа должна вывести одно натуральное число. Гарантируется, что `a>b`.

:::spoiler Решение
```
ввести h
ввести а
ввести b
найти решение по формуле
(h - a - 1) // (a - b) + 2
```
``` python
h = int(input())
a = int(input())
b = int(input())
print((h - a - 1) // (a - b) + 2)
```
:::
-->


<!-- 
### [Задача 15. Часы - 3](https://pythontutor.ru/lessons/int_and_float/problems/watch_3/)

С начала суток часовая стрелка повернулась на угол в `α` градусов. Определите сколько полных часов, минут и секунд прошло с начала суток, то есть решите задачу, обратную задаче [«Часы - 1»](https://pythontutor.ru/lessons/int_and_float/problems/watch_1/). Запишите ответ в три переменные и выведите их на экран.

### [Задача 16. Проценты](https://pythontutor.ru/lessons/int_and_float/problems/percents/)

Процентная ставка по вкладу составляет `P` процентов годовых, которые прибавляются к сумме вклада. Вклад составляет `X` рублей `Y` копеек. Определите размер вклада через год.

Программа получает на вход целые числа `P`, `X`, `Y` и должна вывести два числа: величину вклада через год в рублях и копейках. Дробная часть копеек отбрасывается.
-->

---

(c) Яценко Р.М., 2018-2025 [![kit](https://i.imgur.com/Kh901c1.png =10%x)](http://kit.kh.ua/)
