Документ объёмом 20 Мбайт можно передать с одного компьютера на другой двумя Сжать архиватором, передать архив по каналу связи, распаковать. Передать по каналу связи без использования архиватора. Какой быстрее и насколько, если: средняя скорость передачи данных по каналу связи составляет 220 бит в секунду; объём сжатого архиватором документа равен 60% исходного; время, требуемое на сжатие документа, – 10 секунд, на распаковку – 2 секунды? В ответе напишите букву А, если быстрее А, или Б, если быстрее Б. Сразу после буквы напишите число, обозначающее, на сколько секунд один быстрее другого. Так, например, если Б быстрее А на 50 секунд, в ответе нужно написать Б50.
Const
N = 10;
Var
f:text;
S:string;
A:array[1..N] of longint;
i,j,k:integer;
Begin
ClrScr;
WriteLn('Введите имя файла текстового, если он лежит в папке с программой(ВходнойФайл.txt)');
WriteLn('Или введите полное имя файла (C:\...\ВходнойФайл.txt)');
ReadLn(S);
Assign(f,S);
Reset(f);
i:=1;
Repeat
Read(f,A[i]);
i:=i+1;
Until i>N;
Write('Содержимое файла:');
For i:= 1 to N do
Write(' ',A[i]);
WriteLn;
Write('Уникальные элементы:');
For i:= 1 to N do
Begin
k:=1;
For j:= 1 to N do
if i<>j then
if A[i]=A[j] then k:=k+1;
if k=1 then Write(' ',A[i])
End;
ReadLn;
End.
Пример:
Введите имя файла текстового,если он лежит в папке с программой(ВходнойФайл.txt)
Или введите полное имя файла (C:\...\ВходнойФайл.txt)
123.txt
Содержимое файла: 1 2 13 5 2 1 3 17 19 21
Уникальные элементы: 13 5 3 17 19 21
// Внимание! Если программа не работает, обновите версию!
unit ASM;
interface
type SF=(integer,integer);
function AddSF(a,b:SF):SF;
function SubSF(a,b:SF):SF;
function MultSF(a,b:SF):SF;
function DivSF(a,b:SF):SF;
implementation
function Gcd(p:SF):integer;
begin
(var a,var b):=p;
a:=abs(a); b:=abs(b);
while b>0 do (a,b):=(b,a mod b);
Result:=a
end;
function ReductSF(p:SF):SF;
begin
var t:=Gcd(p);
if t>1 then Result:=(p[0] div t,p[1] div t)
else Result:=p
end;
function AddSF(a,b:SF):=ReductSF((a[0]*b[1]+a[1]*b[0],a[1]*b[1]));
function SubSF(a,b:SF):=ReductSF((a[0]*b[1]-a[1]*b[0],a[1]*b[1]));
function MultSF(a,b:SF):=ReductSF((a[0]*b[0],a[1]*b[1]));
function DivSF(a,b:SF):=ReductSF((a[0]*b[1],a[1]*b[0]));
end.
Пример работы с модулем
uses ASM;
begin
var a:=(5,24);
var b:=(7,8);
var c:=AddSF(a,b);
Writeln(a[0],'/',a[1],'+',b[0],'/',b[1],'=',c[0],'/',c[1])
end.
Результат
5/24+7/8=13/12