Курсовая работа: Расчет оптимального кода по методике Шеннона Фано
s:=0;
for i:=n1 to n2 do s:=s+a[i];
s1:=0; s2:=0;
i:=n1-1;
repeat
inc(i);
s1:=s1+a[i];
s2:=s1+a[i+1];
until abs(s/2-s1)<abs(s/2-s2);
nS:=i;
for x:=n1 to nS do
if (s/2-s1)>=0 then code[x]:=code[x]+'0'
else code[x]:=code[x]+'1';
for x:=nS+1 to n2 do
if (s/2-s1)<0 then code[x]:=code[x]+'0'
else code[x]:=code[x]+'1';
end;
var
tmp: real;
j,n1,n2,nS: integer;
begin
for i:=1 to k do code[i]:='';
for i:=1 to k do a[i]:=b[i];
for i:=1 to k do
for j:=k downto(i+1) do
if a[i]<a[j]
then
begin
tmp:=a[i];