Курсовая работа: Разработка программы сжатия и восстановления файлов с помощью фиксированного блочного кода постоянного смещения
BlockRead (f2,buff,1); // считываем файл по 1 байту
conR: =conR+IntToBin (buff); // переводим считанный байт в двоичное число
prog: =prog+1;
end;
if length (conR) >=16 then // проверяем длину переменной
Дальнейший код основан на проверке определенных элементов кодовых слов. Так как кодовые слова имеющие смещение отличаются от предыдущих кодовых слов без смещения появлением в начале кодового слова дополнительных нулей, то необходимо проверять всего два элемента в кодовом слове. Поэтому массив разбивается на промежутки, что ускоряет поиск подходящих кодовых слов. Для первых 6 элементов массива кодовых слов достаточно одного условия проверки.
begin
if conR [1] ='1' then
begin
conW: =copy (conR,1,2); // копируем кодовое слово
fori: =0 to1 do
begin
ifword [i] =conWthen // сравниваем массив кодовых слов в заданном промежутке с выделенным кодовым словом
begin
BlockWrite (f3, inf [i],1); // записываем полученный элемент в файл
Delete (conR,1,2); // удаляем кодовое слово
break; // прерываем цикл
end;
end;
end
else
if conR [2] ='1' then
begin
conW: =copy (conR,1,4);
for i: =2 to 5 do
begin
if word [i] =conW then
begin
BlockWrite (f3, inf [i],1);