Xreferat.com » Рефераты по информатике и программированию » Кодовые комбинации на основе циклических кодов

Кодовые комбинации на основе циклических кодов

00000000000000000000000101

00000000000000000000000101

00000000000000000000000101

0000000000000000000000011001001


3. Процесс исправления однократной ошибки аналогичен описанному

в § 4.1.


§ 5. Разработка схемы алгоритма


Ciclic code







нет


да






нет


да


Конец


§ 6. Разработка текста программы


Для представления информационного слова в памяти используется

массив. В состав программы входит основная программа и два модуля,

реализующие алгоритм кодирования и декодирования информационных слов и диалога с пользователем соответственно.

Program Cyclic_Code;

Uses

Crt,_CC31,_Serv;

Var

m,mm:Move_code;

p:Polinom;

r:Rest;

i,Mainflag,From,Error:integer;

Switch:byte;

Key:boolean;

begin

Repeat

Key:=true;

TextColor(11);

TextBackGround(7);

Clrscr;

SetWindow(24,10,45,14,2,' Главное меню ');

Switch:=GetMainMenuChoice;

case Switch of

1:begin

About;

Readln;

Key:=False;

end;

2: begin

TextColor(0);

ClrScr;

SetWindow(25,10,40,13,1,' Образовать ');

Switch:=GetSubMenuChoice;

case Switch of

1:begin

TextBackGround(0);

TextColor(15);

ClrScr;

SetWindow(1,1,79,24,2,' Демонстрация');

TextColor(14);


GotoXY(2,2);

Init(m,p,r,MainFlag);

Write(‘Информационный полином ');

TextColor(2);

for i:=n downto 0 do

begin

if(i

Write(m[i]);

end;

TextColor(14);

GotoXY(2,3);

Write('Образующий полином ');

TextColor(13);

for i:=n1 downto 0 do

Write(p[i]);

TextColor(14);

GotoXY(2,4);

Write('Сложение по модулю 2 (F(x)+P(x)): ');

FxPx(m);

TextColor(9);

for i:=n downto 0 do

begin

if(i

Write(m[i]);

end;

TextColor(14);

GotoXY(2,5);

Write('Остаток: ');

Divizion(m,r,p,Mainflag);

TextColor(11);

for i:=n1 downto Mainflag do

Write(r[i]);

GotoXY(2,6);

TextColor(14);

Write('Передаваемый полином: ');

BildMoveCode(m,r,Mainflag);

TextColor(9);

for i:=n downto 0 do

begin

if(i

Write(m[i]);

end;

GotoXY(2,7);

TextColor(14);

Write('Произошла ошибка... ');


MakeError(m,Error);

TextColor(9);

for i:=n downto 0 do

begin

if(i=Error)then

TextColor(12)

else

TextColor(9);

write(m[i]);

end;

GotoXY(2,8);

TextColor(14);

Write('Ошибка исправлена! ');

TextColor(9);

Correction(m,p,r);

for i:=n downto 0 do

begin

if(i=Error)then

TextColor(10)

else

TextColor(9);

write(m[i]);

end;

TextColor(14);

GotoXY(2,9);

Write('Исходный полином: ');

Decoder(m);

TextColor(2);

for i:=n downto 0 do

begin

if(i

Write(m[i]);

end;

Key:=false;

end;

2:begin

TextBackGround(0);

TextColor(15);

ClrScr;

SetWindow(1,1,79,24,2,'Демонстрация');

TextColor(14);

GotoXY(2,2);

Init(m,p,r,MainFlag);

Write('Информационный полином: ');

TextColor(2);

for i:=n downto 0 do


begin

if(i

Write(m[i]);

end;

TextColor(14);

GotoXY(2,3);

Write('Образующий полином: ');

TextColor(13);

for i:=n1 downto 0 do

Write(p[i]);

TextColor(14);

GotoXY(2,4);

Write('Результат умножения: ');

BildMoveCodeMultiplication(m);

TextColor(9);

for i:=n downto 0 do

Write(m[i]);

GotoXY(2,5);

TextColor(14);

Write('Произошла ошибка ... ');

MakeError(m,Error);

TextColor(9);

for i:=n downto 0 do

begin

if(i=Error)then

TextColor(12)

else

TextColor(9);

write(m[i]);

end;

GotoXY(2,6);

TextColor(14);

Write('Ошибка исправлена ! ');

TextColor(9);

Correction(m,p,r);

for i:=n downto 0 do

begin

if(i=Error)then

TextColor(10)

else

TextColor(9);

write(m[i]);

end;

Key:=false;

end;

end;


TextColor(14);

GotoXY(2,22);

Write('Нажмите любую клавишу...');

Readln;

end;

3:begin

ClrScr;

GotoXY(1,24);

TextColor(14);

Writeln('Работа программы завершена ...');

Readln;

TextBackGround(0);

TextColor(15);

ClrScr;

Key:=true;

end;

end;

Until Key;

end.


§ 7 .Результаты работы программы


Результат работы программы при образовании кода добавлением остатка


Демонстрация

Информационный полином: 0000011010111110011110110110110

Образующий полином: 111101

Cложениe по модулю 2 (F(x)+P(x)): 1101011111001111011011011000000

Остаток: 010101

Передаваемый полином: 1101011111001111011011011010101

Произошла ошибка... 1101011111001110011011011010101

Ошибка исправлена! 1101011111001111011011011010101

Исходный полином: 0000011010111110011110110110110


Нажмите любую клавишу...


Результат работы при образовании кода умножением


Демонстрация

Информационный полином: 0000001010110000011111010001011

Образующий полином: 111101

Результат умножения: 0110000011111010000100100101111

Произошла ошибка... 0110000011111010000100100101101

Ошибка исправлена! 0110000011111010000100100101111

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: