Ну так-то вроде просто, уравнение. Объем ролика W Мбит, при передаче каждые 6 бит превращаются в 8 бит. Объем вырастает до 8/6*W = 4W/3 Мбит. 1-ая половина ролика, то есть 2W/3 Мбит, была передана со скор. V Мбит/сек. 2-ые 2W/3 Мбит были переданы со скоростью V+3 Мбит/сек. Общее затраченное время T1 = 2W/(3V) + 2W/(3V+9) сек. Если бы он скачал ролик с файлового сервера, со скоростью V-1,5 Мбит/с, то объем ролика был бы W, потому что при файловой передаче нет преобразования каждых 6 бит в 8. Затраченное время было бы T2 = W/(V-1,5) сек. И оно в 2 раза больше. 2*(2W/(3V) + 2W/(3V+9)) = W/(V-1,5) Делим все на W, получаем 4/(3V) + 4/(3V+9) = 1/(V-1,5) Избавляемся от знаменателей 4(3V+9)(V-1,5) + 4*3V(V-1,5) = 3V(3V+9) Раскрываем скобки 12V^2 + 36V - 18V - 54 + 12V^2 - 18V = 9V^2 + 27V Упрощаем до квадратного уравнения 15V^2 - 27V - 54 = 0 5V^2 - 9V - 18 = 0 D= 9^2 + 4*5*18 = 81 + 360 = 441 = 21^2 V1 = (9 - 21)/10 < 0 V2 = (9 + 21)/10 = 3 Мебибит в сек
Объем ролика W Мбит, при передаче каждые 6 бит превращаются в 8 бит.
Объем вырастает до 8/6*W = 4W/3 Мбит.
1-ая половина ролика, то есть 2W/3 Мбит, была передана со скор. V Мбит/сек.
2-ые 2W/3 Мбит были переданы со скоростью V+3 Мбит/сек.
Общее затраченное время T1 = 2W/(3V) + 2W/(3V+9) сек.
Если бы он скачал ролик с файлового сервера, со скоростью V-1,5 Мбит/с,
то объем ролика был бы W, потому что при файловой передаче нет преобразования каждых 6 бит в 8.
Затраченное время было бы T2 = W/(V-1,5) сек. И оно в 2 раза больше.
2*(2W/(3V) + 2W/(3V+9)) = W/(V-1,5)
Делим все на W, получаем
4/(3V) + 4/(3V+9) = 1/(V-1,5)
Избавляемся от знаменателей
4(3V+9)(V-1,5) + 4*3V(V-1,5) = 3V(3V+9)
Раскрываем скобки
12V^2 + 36V - 18V - 54 + 12V^2 - 18V = 9V^2 + 27V
Упрощаем до квадратного уравнения
15V^2 - 27V - 54 = 0
5V^2 - 9V - 18 = 0
D= 9^2 + 4*5*18 = 81 + 360 = 441 = 21^2
V1 = (9 - 21)/10 < 0
V2 = (9 + 21)/10 = 3 Мебибит в сек
program raf105;
const
n = 4;
var
a,b: array[1..n,1..n] of integer;
Vkol1,Vkol2,Vsum1,Vsum2: array[1..n] of integer;
i,j,sum1,sum2,kol1,kol2: integer;
x1,x2: boolean;
begin
for i:=1 to n do
begin
x1:= False;
x2:= False;
kol1:= 0;
kol2:= 0;
sum1:= 0;
sum2:= 0;
for j:=1 to n do
begin
a[i,j]:= random(-9,9);
b[i,j]:= random(-9,9);
if a[i,j] < 0
then x1:= True;
if b[i,j] < 0
then x2:= True;
if not(x1)
then begin
sum1:= sum1 + a[i,j];
kol1:= kol1 + 1;
end;
if not(x2)
then begin
sum2:= sum2 + b[i,j];
kol2:= kol2 + 1;
end;
end;
Vkol1[i]:= kol1;
Vkol2[i]:= kol2;
Vsum1[i]:= sum1;
Vsum2[i]:= sum2;
end;
writeln('Массив A');
for i:=1 to n do
begin
writeln;
for j:=1 to n do
write(a[i,j]:3);
end;
writeln;
writeln;
writeln('Массив B');
for i:=1 to n do
begin
writeln;
for j:=1 to n do
write(b[i,j]:3);
end;
writeln;
writeln;
write('Вектор "Количество по строкам A": ');
for i:=1 to n do
write(Vkol1[i],' ');
writeln;
write('Вектор "Количество по строкам B": ');
for i:=1 to n do
write(Vkol2[i],' ');
writeln;
write('Вектор "Сумма по строкам A": ');
for i:=1 to n do
write(Vsum1[i],' ');
writeln;
write('Вектор "Сумма по строкам B": ');
for i:=1 to n do
write(Vsum2[i],' ');
end.
PascalABC 3.4.2