Задача 3: На кожнiй сторiнцi книжки відомо, що є певна кількість рядкiв i кожен рядок містить певну кількість символів. Потрібно обчислити обсяг даних (довжину двійкового коду) на сторінці та обсяг даних всієї книжки, якщо книжка має певну кількість сторінок.
Вхідні дані:
Кількість рядків на сторінці (30).
Кількість символів у кожному рядку (50). Кількість сторінок у книжці (500).
Вихідні дані: Обсяг даних на сторінці в мегабайтах (МБ), округлений до двох знакiв пiсля коми.
Обсяг даних на всій книжці в мегабайтах (МБ), округлений до двох знаків після коми.
Результат вивести у МБ.
Примітка: Припустимо, що кожен символ кодується 8-бiтним двiйковим кодом (1 байт).
Ответы
Ответ дал:
1
Ответ:
(0.0, 0.72)
Объяснение:
решение вручную
(I - информационный объем текста, K - кол-во символов, i - вес одного символа/бит на символ, N - мощность алфавита)
Дано:
K = 30 * 50 * 500 = 750000 шт
i = 8 бит
I - ?
Решение:
бит
6000000.0 бит = 750000.0 байт = 732.421875 Кбайт = 0.7152557373046875 Мбайт
Ответ: 6000000.0
Код
def calcBookWeigth(n1, n2, pages):
k = n1 * n2
i = 8 # бит
w_page = k * i
w_page /= 1024 * 8 * 1024 # перевод в МБ
w_book = w_page * pages
return round(w_page, 2), round(w_book, 2)
print(calcBookWeigth(30, 50, 500))
вывод
(0.0, 0.72)
fctdgsygfdhngfxzgsac:
archery, здравствуйте! у меня в профиле 3 вопроса по алгоритмам можете помочь пожалуйста?
Вас заинтересует
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
1 год назад
7 лет назад