• Предмет: Информатика
  • Автор: sergijkalmikov768
  • Вопрос задан 3 месяца назад

Задача 3: На кожнiй сторiнцi книжки відомо, що є певна кількість рядкiв i кожен рядок містить певну кількість символів. Потрібно обчислити обсяг даних (довжину двійкового коду) на сторінці та обсяг даних всієї книжки, якщо книжка має певну кількість сторінок.
Вхідні дані:
Кількість рядків на сторінці (30).
Кількість символів у кожному рядку (50). Кількість сторінок у книжці (500).

Вихідні дані: Обсяг даних на сторінці в мегабайтах (МБ), округлений до двох знакiв пiсля коми.
Обсяг даних на всій книжці в мегабайтах (МБ), округлений до двох знаків після коми.
Результат вивести у МБ.
Примітка: Припустимо, що кожен символ кодується 8-бiтним двiйковим кодом (1 байт).​

Ответы

Ответ дал: archery
1

Ответ:

(0.0, 0.72)

Объяснение:

решение вручную

(I - информационный объем текста, K - кол-во символов, i - вес одного символа/бит на символ, N - мощность алфавита)

Дано:

K = 30 * 50 * 500 = 750000 шт

i = 8 бит

I - ?

Решение:

I = K \cdot i = 750000 \cdot 8 = 6000000.0 бит

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 вопроса по алгоритмам можете помочь пожалуйста?
Вас заинтересует