Итак. Общий размер файла 1,5 = 1536 Мбайт. Размер буфера T 128 Мбайт. Значит, для передачи файла через этот буфер его потребуется заполнить 1536 / 128 = 12 раз. Получилось целое число, поэтому мы посчитаем время, которое требуется на шаги 1-6, и умножим его на 12.
Так как ничего не сказано о времени на закрытие соединения, будем считать, что на это время не тратится.
1) Устанавливаем соединение с А - 1 секунда
2) Принимаем от устройства А 128 Мбайт со скоростью 8 Мбайт в секунду - 128 / 8 = 16 секунд
3) Закрываем соединение с А
4) Открываем соединение с В - 4 секунды
5) Передаём устройству В 128 Мбайт со скорость 2 Мбайта в секунду - 128 / 2 = 64 секунды
6) Закрываем соединение с В
Итого: 1+16+4+64 = 85 секунд
85 * 12 = 1020 секунд = 17 минут.
ответ: 17 минут.
begin
var n:=ReadInteger('Кол-во элементов:');
var a:=ArrRandomReal(n,-10,20); a.Println;
Writeln('С округлением если |x|<1');
for var i:=0 to n-1 do
if abs(a[i])<1 then a[i]:=Round(a[i]);
a.Println
end.
Тестовое решение:
Кол-во элементов: 10
-0.751956142835299 5.95022566427953 3.58861613254464 7.42331713783709 -4.75036238075717 -9.41228387384316 -0.700975591643235 3.85500546258642 -1.94321916994789 19.3021338336645
С округлением если |x|<1
-1 5.95022566427953 3.58861613254464 7.42331713783709 -4.75036238075717 -9.41228387384316 -1 3.85500546258642 -1.94321916994789 19.3021338336645