К содержанию

Подтема 5 из 5

Передача

Сколько времени идёт передача — ответ задачи темы — и сколько файлов успеет пройти по каналу.

Время передачи

Вернёмся к задаче темы: пакет из 50 снимков по 9 437 184 бит идёт по каналу 2 000 000 бит/с.

Время передачи — объём, делённый на скорость канала: t = V / v. Это та же формула, что «путь = скорость · время» в задачах на движение.

Пакет занимает 50 · 9 437 184 = 471 859 200 бит, время 471 859 200 / 2 000 000 = 235,93 с. В ответе — целая часть: 235. Это ответ задачи темы.

t = 1024 * 768 * bits(3000) * 50 / 2000000print(t, int(t))
235.9296 235

Промежуточные числа выписывать не нужно: программа сразу считает всё выражение. int отбрасывает дробную часть.

Единицы объёма и скорости

Объём и скорость должны быть в согласованных единицах: биты на бит/с, Кбайты на Кбайт/с. Файл 4 Мбайт по каналу 2²⁰ бит/с: 4 Мбайт = 4 · 2²³ бит, время 4 · 2²³ / 2²⁰ = 32 с. Ошибка «4 секунды» — если забыть, что объём в байтах, а скорость в битах.

Если скорость дана как 64 000 бит/с, это готовое число: множители 1000 или 1024 к нему добавлять не нужно.

Запись и передача

Длительность звучания и время передачи — разные величины. Запись стерео, 16 кГц, 16 бит, 90 секунд занимает 46 080 000 бит; по каналу 128 000 бит/с она передаётся 360 секунд.

Одна и та же запись: 90 секунд звучит и 360 секунд передаётся. Время передачи зависит от объёма и скорости.
Тонкости:файл больше, канал быстрее

Время меняется так же, как объём, и обратно скорости: t₂ = t₁ · V₂ / V₁ · v₁ / v₂. Если файл стал втрое больше, а канал вдвое быстрее, время вырастет в 3/2 раза.

Сколько снимков успеет

Сколько снимков пройдёт за отведённое время — вместимость канала, делённая на снимок, с округлением вниз. Канал 64 Кбайт/с за 28 секунд передаст 1792 Кбайт; снимков по 80 Кбайт — 1792 / 80 = 22,4, то есть 22: двадцать третий не успеет.

За 28 секунд канал передаёт 1792 Кбайт: целиком помещаются 22 снимка по 80 Кбайт.

Для снимков задачи темы: за 10 минут канал 2 000 000 бит/с передаст целиком 127 снимков.

photo = 1024 * 768 * bits(3000)print(2000000 * 600 // photo)
127

Реальное время

Чтобы поток передавался без отставания, за секунду канал должен пропускать всё, что запись создаёт за секунду. Стереопоток 32 кГц после сжатия на 75 % идёт по каналу 20 Кбайт/с = 163 840 бит/с: 0,25 · 32 000 · 2 · i ≤ 163 840, i ≤ 10,24. Наибольшая глубина — 10 бит, округление вниз.

При 10 битах поток создаёт 160 000 бит в секунду — канал успевает. При 11 битах — 176 000, больше 163 840: передача отстаёт.

Для снимков то же: если камера снимает каждые n секунд, снимок должен уйти раньше следующего. Здесь n округляют вверх — нужно успеть.

Экономия

Экономия — разность объёмов, умноженная на число файлов. Снимок 1 Мбайт после уменьшения стал 0,125 Мбайт; на 100 снимках экономия 100 · (1 − 0,125) = 87,5 Мбайт. Вопрос «во сколько раз уменьшился объём» — другой: 1 / 0,125 = 8.

«Превышает»

«Превышает» — строгое неравенство: граница не подходит, ответ — следующее целое.

Звуковые данные четырёх треков занимают 600 Кбайт, у каждого трека заголовок H Кбайт (целое), канал 20 Кбайт/с, а скачивание длится больше 32 секунд. (600 + 4H) / 20 > 32, 4H > 40, H > 10 — наименьшее H = 11. Проверка соседним значением: при H = 10 время ровно 32 — не больше.

h = 0while (600 + 4 * h) / 20 <= 32:    h += 1print(h)
11

увеличивает H, пока время ещё не превышает 32 секунды, и останавливается на первом подходящем.

Тонкости:как округляет Python

int(x) отбрасывает дробную часть, ceil(x) округляет вверх, а round(x) — к ближайшему, но ровно половину — к чётному: 12,5 → 12, 13,5 → 14. Если вышло ровно x,5 и нужно школьное округление, реши этот случай руками.

print(int(12.8), round(12.8), round(12.5), round(13.5))
12 13 12 14

Итого

  • Времяt = V / v в согласованных единицах
  • Запись и передачаразные величины: 90 с звучит, 360 с передаётся
  • Сколько снимковвместимость канала / снимок, вниз
  • Реальное времяза секунду создаётся не больше, чем передаётся
  • «Превышает»граница не подходит: H > 10 → 11

Проверьте себя

Ответь сначала сам, потом открой ответ.

Вопрос 1
Файл 6 Мбайт передают по каналу 2²¹ бит/с. Сколько секунд?
ОтветСкрыть ответ
Ответ
24: 6 Мбайт = 6 · 2²³ бит, 6 · 2²³ / 2²¹ = 24. Без перевода в биты вышло бы неверное 6 / 2²¹.
Вопрос 2
Запись длится 90 секунд и занимает 46 080 000 бит. Сколько секунд она передаётся по каналу 128 000 бит/с?
ОтветСкрыть ответ
Ответ
360: 46 080 000 / 128 000. Длительность звучания и время передачи — разные величины.
Вопрос 3
Канал передаёт 64 Кбайт/с, на передачу отведено 28 секунд, снимок занимает 80 Кбайт. Сколько снимков успеют пройти целиком?
ОтветСкрыть ответ
Ответ
22: 64 · 28 / 80 = 22,4, округляем вниз.
Вопрос 4
Передача длилась 239,9 секунды. Какова целая часть времени в минутах? Почему не 4?
ОтветСкрыть ответ
Ответ
3: 239,9 / 60 = 3,998…. Ответ 4 получается, если сначала округлить секунды до 240.
Вопрос 5
Время передачи (600 + 4H) / 20 секунд превышает 32 секунды, H — целое. Каково наименьшее H?
ОтветСкрыть ответ
Ответ
11: 600 + 4H > 640, H > 10. При H = 10 время ровно 32 — не превышает.

Практика

Для проверки ответов нужен JavaScript. Условия, подсказки и решения доступны ниже.

Передача минутной записи

Минутная монозапись сделана при 32 кГц и глубине 16 бит. Сколько секунд займёт передача по каналу 64 000 бит/с?

Введите число.

Пакет из 50 снимков

Снимки 640 × 480 пикселей с палитрой из 256 цветов передают пакетами по 50 штук со скоростью 1 536 000 бит/с. Сколько секунд передаётся пакет?

Введите число.

Пакет из 250 снимков в минутах

Камера делает цветные снимки 1920 × 1080 пикселей с палитрой из 5000 цветов. Снимки группируются в пакеты по 250 штук и передаются со скоростью 25 000 000 бит/с. Сколько минут передаётся один пакет? В ответе запиши целую часть числа.

Введите число.

Скачивание альбома

Альбом записан в формате стерео с частотой дискретизации 44 100 Гц и глубиной 24 бита без сжатия. В альбоме 12 треков общей длительностью 40 минут, каждый трек содержит заголовок объёмом 200 Кбайт. Сколько секунд будет скачиваться альбом по каналу со скоростью 100 000 000 бит/с? В ответе запиши целую часть полученного числа.

Введите число.

6 Мбайт по каналу 2²¹ бит/с

Файл объёмом 6 Мбайт передают по каналу 2²¹ бит/с. Сколько секунд длится передача?

Введите число.

Сколько передаст канал

Сколько Кбайт передаст канал со скоростью 256 000 бит/с за 2 минуты?

Введите число.

Файл больше, канал быстрее

Файл передавался 45 секунд. Новый файл вчетверо больше, а канал втрое быстрее. Сколько секунд передаётся новый файл?

Введите число.

Наибольшая глубина для потока

Стереозвук записывают с частотой 20 000 Гц. После сжатия остаётся 40 % объёма. Скорость канала — 512 000 бит/с. Найди максимальную глубину кодирования.

Введите число.

Снимок в реальном времени

Камера каждые n секунд (n — целое число) делает снимок 1280 × 1024 пикселей с палитрой из 65 536 цветов. Снимки сжимаются на 60 % и передаются по каналу со скоростью 256 Кбайт/с. Определи наименьшее n, при котором возможна передача в режиме реального времени.

Введите число.

Экономия при отправке 40 снимков

Снимок 2048 × 1536 с глубиной цвета 24 бита перед отправкой уменьшают до 1024 × 768 с глубиной 16 бит. Сколько Мбайт экономится при отправке 40 снимков?

Введите число.

Наименьший заголовок

Звуковые данные пяти треков вместе занимают 400 Кбайт. У каждого есть заголовок размером H Кбайт, где H — целое число. Передача по каналу 50 Кбайт/с длится больше 10 секунд. Найди минимальное H.

Введите число.

Заголовок трека альбома

Альбом записан в формате квадро с частотой дискретизации 32 000 Гц и глубиной 20 бит без сжатия. В альбоме 16 треков общей длительностью 30 минут. Каждый трек содержит заголовок — одно и то же целое число Кбайт для всех треков. Известно, что скачивание альбома по каналу со скоростью 300 000 000 бит/с длится больше 16 секунд. Каков минимально возможный объём заголовка трека в Кбайтах?

Введите число.