Наташа закачает себе весь файл за 8192 / 16 = 512 секунд. Из них первый мегабайт (до начала ретрансляции) за 1024 / 16 = 64 секунды, остаток за 512-64 = 448 секунд.
То есть процесс будет идти так: 1. скачивание Наташей первого мегабайта (64 секунды) 2. скачивание Наташей остатка (448 секунд) 3. пересылка файла Максиму (1024 секунды)
Но! 2. и 3. этапы идут одновременно, поэтому их времена не суммируются, а берется самое большое время (это время до окончания процесса).
Программирование многие путают с кодированием, что совершенно неверно. Программирование - это процесс написания программы, который начинается от постановки задачи, а кодирование - это запись уже сконструированного алгоритма в виде программы на языке, понятном исполнителю этой программы.
Заданный вопрос - отличная иллюстрация к написанному выше. Алгоритма нет, поскольку, что автор вопроса не понимает о чем идет речь, но зато он спрашивает, как выполнить кодирование на язык Паскаль. Вполне понятно, что автор самостоятельно этого сделать не может.
Вернемся к заданию. Насколько его можно попытаться понять, речь идет о кусочной функции.
Кусочная функция содержит условия, определяющие её части на различных интервалах. Поскольку в условиях есть операции сравнения, в Паскале понадобится условный оператор if - then - else, причем не один.
// PascalABC.NET 3.3, сборка 1547 от 07.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var x:=ReadReal('x='); var s:real; if x<0 then s:=x*x else if x=0 then s:=5 else s:=x-12; Writeln(s) end.
2^16 бит/с = (2^16 / 8) байт/с = 8192 байт/с = 8 кБайт/с
8 МБайт = (8 * 1024) кБайт = 8192 кБайт
Наташа закачает себе весь файл за 8192 / 16 = 512 секунд. Из них первый мегабайт (до начала ретрансляции) за 1024 / 16 = 64 секунды, остаток за 512-64 = 448 секунд.
Пересылка всего файла Максиму займет 8192 / 8 = 1024 секунды.
То есть процесс будет идти так:
1. скачивание Наташей первого мегабайта (64 секунды)
2. скачивание Наташей остатка (448 секунд)
3. пересылка файла Максиму (1024 секунды)
Но! 2. и 3. этапы идут одновременно, поэтому их времена не суммируются, а берется самое большое время (это время до окончания процесса).
Итого: общее время 64 с + 1024 с
ответ: 1088
Заданный вопрос - отличная иллюстрация к написанному выше. Алгоритма нет, поскольку, что автор вопроса не понимает о чем идет речь, но зато он спрашивает, как выполнить кодирование на язык Паскаль. Вполне понятно, что автор самостоятельно этого сделать не может.
Вернемся к заданию. Насколько его можно попытаться понять, речь идет о кусочной функции.
Кусочная функция содержит условия, определяющие её части на различных интервалах. Поскольку в условиях есть операции сравнения, в Паскале понадобится условный оператор if - then - else, причем не один.
// PascalABC.NET 3.3, сборка 1547 от 07.10.2017
// Внимание! Если программа не работает, обновите версию!
begin
var x:=ReadReal('x=');
var s:real;
if x<0 then s:=x*x else
if x=0 then s:=5
else s:=x-12;
Writeln(s)
end.