Скорость передачи: разбор задач
Учимся находить объём, время и скорость передачи данных и решать составные задачи, где к передаче добавляется обработка или сжатие.
Скорость передачи (пропускная способность канала) — количество информации, проходящее через канал за единицу времени, обычно в битах в секунду (бит/с).
Эти задачи встречаются и в ЕГЭ, и в ОГЭ. В основе — простейшая связь объёма, скорости и времени, но баллы теряются на переводе единиц и на «составных» сюжетах, где данные сначала передают, а потом, например, распаковывают. Урок продолжает тему скорости передачи, доводя её до экзаменационной техники.
Базовая формула
Объём переданных данных равен скорости, умноженной на время:
$$V = v \cdot t$$
Здесь $V$ — объём (бит), $v$ — скорость (бит/с), $t$ — время (с). Отсюда два следствия:
$$t = \frac{V}{v}, \qquad v = \frac{V}{t}$$
Главное — следить за единицами. Скорость почти всегда в битах в секунду, а объём в задаче часто в байтах, Кбайтах или Мбайтах. Приводите обе величины к битам и секундам.
Задача 1
Файл объёмом 1,5 Мбайта передаётся по каналу со скоростью 2 Мбит/с. Сколько секунд займёт передача?
Шаг 1. Объём в битах: $1{,}5 \cdot 2^{20} \cdot 8 = 1{,}5 \cdot 8388608 = 12582912$ бит. (Здесь Мбайт = $2^{20}$ байт.)
Шаг 2. Скорость в битах в секунду: $2$ Мбит/с $= 2 \cdot 10^{6}$ бит/с $= 2000000$ бит/с. Внимание: в скоростях каналов «М» — это миллион ($10^6$), а не $2^{20}$, если в условии единица записана как Мбит/с в десятичном смысле; на ЕГЭ чаще берут степени двойки, поэтому всегда читайте, какие приставки заданы. Возьмём экзаменационный (двоичный) вариант: $2$ Мбит/с $= 2 \cdot 2^{20} = 2097152$ бит/с.
Шаг 3. Время: $t = 12582912 / 2097152 = 6$ с.
На ЕГЭ по информатике почти всегда подразумевают двоичные приставки ($\text{К}=2^{10}$, $\text{М}=2^{20}$). Тогда Мбайт и Мбит «сокращаются» красиво, и ответ выходит целым — это хороший признак, что единицы выбраны верно.
Задача 2
За 16 секунд по каналу передали 3 Мбайта данных. Найдите скорость канала в битах в секунду.
Объём: $3 \cdot 2^{20} \cdot 8 = 25165824$ бит. Скорость: $v = 25165824 / 16 = 1572864$ бит/с $= 1{,}5 \cdot 2^{20}$ бит/с $= 1{,}5$ Мбит/с.
# Передача файла: считаем время при двоичных приставках (К=1024, М=1024*1024).
KB = 1024
MB = 1024 * 1024
volume_bytes = 1.5 * MB # файл 1,5 Мбайта
volume_bits = volume_bytes * 8
speed_bps = 2 * MB # 2 Мбит/с в битах в секунду
time_s = volume_bits / speed_bps
print('Объём, бит:', int(volume_bits))
print('Скорость, бит/с:', int(speed_bps))
print('Время, с:', round(time_s, 2))Вывод:
Объём, бит: 12582912 Скорость, бит/с: 2097152 Время, с: 6.0
Составные задачи: передача плюс обработка
В сложных вариантах к чистой передаче добавляют этап обработки: данные распаковывают, перекодируют или, наоборот, перед отправкой сжимают. Тогда общее время складывается, а объёмы «до» и «после» обработки могут различаться.
Задача 3 (передача + распаковка)
Файл передаётся по каналу со скоростью $2^{18}$ бит/с за 32 секунды. После приёма он распаковывается, и на распаковку уходит ещё 8 секунд. Каков объём переданных данных в Кбайтах и сколько всего длится процесс?
Шаг 1. Объём передачи: $V = v \cdot t = 2^{18} \cdot 32 = 2^{18} \cdot 2^{5} = 2^{23}$ бит.
Шаг 2. В байтах: $2^{23} / 2^{3} = 2^{20}$ байт. В Кбайтах: $2^{20} / 2^{10} = 2^{10} = 1024$ Кбайт.
Шаг 3. Общее время: $32 + 8 = 40$ секунд (передача и распаковка идут последовательно).
Задача 4 (два канала)
Одно и то же сообщение объёмом 9 Мбайт передают сначала по каналу A со скоростью 3 Мбит/с, затем такое же сообщение — по каналу B со скоростью 1,5 Мбит/с. На сколько секунд дольше идёт передача по каналу B?
Время по A: при двоичных приставках Мбайт и Мбит сокращаются, $t_A = \frac{9 \cdot 2^{20} \cdot 8}{3 \cdot 2^{20}} = \frac{9 \cdot 8}{3} = 24$ с. Время по B: $t_B = \frac{9 \cdot 8}{1{,}5} = 48$ с. Разница: $48 - 24 = 24$ секунды. Заметьте: скорость вдвое меньше — время вдвое больше, объём можно было и не раскрывать до бит.
Как это работает
Формула $V = v \cdot t$ — это та же линейная зависимость, что «путь = скорость × время». Объём играет роль «расстояния», пропускная способность — «скорости». Поэтому здесь работают те же приёмы: если две передачи переносят одинаковый объём, отношение времён обратно отношению скоростей:
$$\frac{t_1}{t_2} = \frac{v_2}{v_1}$$
Это позволяет решать многие задачи без перевода объёма в биты вообще — достаточно отношения скоростей. А вот когда нужен абсолютный ответ (сколько секунд, сколько Кбайт), без аккуратного перевода единиц не обойтись. Полезная цепочка переводов:
$$\text{Кбайт} \xrightarrow{\times 1024} \text{байт} \xrightarrow{\times 8} \text{бит} \xrightarrow{\div v} \text{секунды}$$
Частые ошибки
- Смешивают биты и байты. Скорость задана в бит/с, а объём в байтах — забыли умножить на 8 и ошиблись ровно в 8 раз.
- Берут десятичные приставки на ЕГЭ. Здесь К = 1024, М = 1024², Г = 1024³; деление на 1000 даёт «некрасивый» дробный ответ — сигнал, что что-то не так.
- Складывают объёмы вместо времён в составных задачах. Если этапы идут последовательно, складывается время, а объёмы могут быть разными.
- Считают, что распаковка меняет время передачи. Передаётся сжатый объём; распаковка — отдельный этап, который добавляет своё время, но не уменьшает время передачи.
- Путают, что во что переводить. Чтобы получить секунды, объём приводят к битам и делят на скорость в бит/с — единицы должны «сократиться» до секунд.
Итоги
- Базовая связь: $V = v \cdot t$; отсюда $t = V/v$ и $v = V/t$.
- Скорость — в бит/с, объём приводите к битам: Кбайт ×1024 ×8 = биты.
- На ЕГЭ приставки двоичные: К = $2^{10}$, М = $2^{20}$, Г = $2^{30}$.
- При равных объёмах время обратно пропорционально скорости: $t_1/t_2 = v_2/v_1$ — иногда объём раскрывать не нужно.
- В составных задачах последовательные этапы дают сумму времён; следите, какой объём передаётся и какой обрабатывается.