Реферат: Помехоустойчивое кодирование, распознавание символов
c0 := 0; {сброс счетчиков}
c1 := 0;
tmp := (z[ent] shr i) and 1; {выделяем разряд}
for j := 1 to n do {цикл по разрядам (n,1)-кода}
case tmp of {определяемм помеху}
0 : if flag(p01) then inc(c1) else inc(c0);
1 : if flag(p10) then inc(c0) else inc(c1)
end;
if c1 > c0 then out := out or (1 shl i)
end; {вносим помеху в выходной код}
end;
procedure set_codes; {-----по алгоритму Шеннона - Фэно-----}
var i3,j2 : byte;
function numb(v:real):byte;{номер вероятности, находящейся}
var i2 : byte; {"" той, что передается как параметр}
begin
for i2 := 1 to m do {цикл по вероятностям}
if(v >= p[i2 + 1]) and (v <= p[i2]){если нашли границы}
then
numb := i2; {присваиваем номер "верхнего"}
end;
begin {-------------of procedure------------}
for i := 1 to m do {обнуляем коды и длины}
begin
z[i] := 0;
dl[i] := 0
end;
range := 8; {разряд - в максимальное значение}
c := 0; {счетчик по "вертикали" - на начало}