Ðåôåðàò: Êîäîâûå êîìáèíàöèè íà îñíîâå öèêëè÷åñêèõ êîäîâ
íåò
äà
Êîíåö
§ 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<n-n1+1)then Textcolor(9);
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<n1)then TextColor(2);
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<n1) then TextColor(11);
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<n-n1+1)then Textcolor(9);
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<n-n1+1)then Textcolor(9);
Write(m[i]);
end;
TextColor(14);
GotoXY(2,3);
Write('Îáðàçóþùèé ïîëèíîì: ');
TextColor(13);
for i:=n1 downto 0 do
Write(p[i]);