Исходные данные:
- Объём файла \(I = 40\) Мбайт.
- Общее время упаковка + распаковка: \(t_{\text{общ}} = 20\) с.
- Размер сжатого файла \(I_{\text{сжат}} = 0.2 \cdot I\).
- Время распаковки \(t_{\text{распак}} = 2 \cdot t_{\text{упак}}\).
1. Находим время упаковки (\(t_{\text{упак}}\)) и распаковки (\(t_{\text{распак}}\)):
- \(t_{\text{упак}} + t_{\text{распак}} = 20\) с.
- \(t_{\text{упак}} + 2 \cdot t_{\text{упак}} = 20\) с \(\to 3 \cdot t_{\text{упак}} = 20\) с \(\to t_{\text{упак}} = 20/3 \approx 6.67\) с.
- \(t_{\text{распак}} = 2 \cdot 20/3 = 40/3 \approx 13.33\) с.
2. Находим время передачи данных (требуется по условию):
В задаче спрашивается, сколько времени ушло бы на пересылку данных. Это время передачи сжатого файла \(t_{\text{пер}}\).
- Время на пересылку сжатого файла в \(5\) раз меньше времени на пересылку исходного, так как объём меньше в \(1/0.2 = 5\) раз.
- Время, затраченное на пересылку при способе 2: \(T_2 = t_{\text{упак}} + t_{\text{пер}} + t_{\text{распак}} = 20\) с. (Это общее время, включая сжатие/распаковку).
Из условия \(T_2 = 20\) с, мы можем найти \(t_{\text{пер}}\), но для этого нужна скорость канала \(v\), которая в задании не указана. Если допустить, что \(20\) с — это общее время для второго способа, и нам нужно найти \(t_{\text{пер}}\), то: \(t_{\text{пер}} = 20 \text{ с} - (t_{\text{упак}} + t_{\text{распак}})\). Но по условию \(t_{\text{упак}} + t_{\text{распак}} = 20\) с. Это означает, что \(t_{\text{пер}}\) должно быть \(0\) с, что невозможно. Вероятно, \(20\) с — это время \(T_2\), а время упаковки/распаковки неизвестно.
Если предположить, что в тексте задания ошибка, и \(20\) с — это время передачи для Способа 2:
- Если \(t_{\text{пер}} = 20\) с, то \(v = I_{\text{сжат}} / t_{\text{пер}} = (0.2 \cdot 40 \cdot 2^{23}) / 20 = 0.4 \cdot 2^{23}\) бит/с.
- Время передачи исходного файла: \(t_1 = I / v = (40 \cdot 2^{23}) / (0.4 \cdot 2^{23}) = 40 / 0.4 = 100\) с.
Если следовать строго заданию (с возможной ошибкой в нём):
Общее время \(\text{Упаковка} + \text{Распаковка} = 20\) с. Время распаковки \(t_{\text{распак}} = 2 \cdot t_{\text{упак}}\). \(t_{\text{упак}} + 2 \cdot t_{\text{упак}} = 20 \text{ с} \to t_{\text{упак}} = 20/3\) с, \(t_{\text{распак}} = 40/3\) с. Без скорости канала невозможно вычислить время пересылки данных.
Если задание является частью Примера 3 на стр. 56, где \(\text{Общее время} = 25\) с. (Это время, которое достаточно, чтобы скачать файл), а \(t_1 = 30\) с, то: \(t_1 = 30\) с, \(t_{\text{упак}} = 5\) с, \(t_{\text{распак}} = 3\) с, \(t_{\text{пер}} = 22\) с. Исходный объём был \(10\) Мбайт.
Если считать, что нам нужно найти только время передачи сжатого файла, исходя из предоставленных данных, не смотря на их противоречивость:
Время, которое ушло бы на пересылку сжатого документа \(\mathbf{t_{\text{пер}} = 20 \text{ с} - 40/3 \text{ с} - 20/3 \text{ с} = 0 \text{ с}}\), что противоречит здравому смыслу. Если предполагается, что \(20\) с — это время для Способа 2, и надо найти \(t_{\text{пер}}\), то это время передачи сжатого файла.
Ввиду противоречивости условий, предполагается, что ответ должен быть в виде формулы, или задача должна быть решена на основе данных из примера 3 (стр. 56), но с новыми числами.
Ответ (наиболее вероятный вариант с подгонкой под контекст учебника): Если бы в задании была указана скорость канала, или время передачи без упаковки, то ответ был бы точным. В текущем виде задача некорректна. Но, если требуется найти время пересылки, зная, что общее время \(T_{\text{общ}} = 20\) с, и \(\text{Упаковка} + \text{Распаковка} = 20\) с, то \(\mathbf{t_{\text{пер}} = 0}\) с. Другой вариант: если \(20\) с - это время передачи для сжатого файла, то \(\mathbf{t_{\text{пер}} = 20}\) с.