Метод перестановки

Программа реализована в среде Turbo Pascal 7.0. Длина блока шифра перестановки равняется 8 символам. Ключ вводится пользователем.

Текст программы (LR1.pas)

Program Shifr_Perestanovka;

uses crt;

type ftype = text;

var

fs,fe,fd: ftype;

s, e, d, k: string[8];

key: array [1..8] of byte;

ish,zash,desh: string;

i,j,L,N,numero,code: integer;

m: char; fl:boolean; t:real; br:integer;

begin

clrscr;

writeln (' Шифровка/Дешифровка методом перестановки ');

writeln ('1 - Шифровка');

writeln ('2 - Дешифровка');

writeln ('0 - Выход');

repeat

m:=readkey;

fl:=true;

if (m='1') or (m='2') then

begin

repeat

write ('Введите ключ без повторов из 8 цифр: ');

readln(k);

val(k,t,br);

if br<>0 then writeln('Vvedi chislo');

until br=0;

while fl=true do

if length(k)<>8 then

begin

writeln('Ошибка. Повторите ввод');

write ('Введите ключ без повторов из 8 цифр: ');

readln(k);

val(k,t,br);

if br<>0 then writeln('Vvedi chislo');

end

else

fl:=false;

for i:=1 to 8 do

begin

val(k[i],numero,code);

key[i]:=numero;

end;

end;

case m of

'1':

begin

assign (fs,'ishodn.txt'); reset(fs);

assign (fe,'zashifr1.txt'); rewrite(fe);

while not eof(fs) do

begin

zash:='';

readln (fs,ish);

L:=length(ish) mod 8;

if L>0 then

for i:=1 to 8-L do ish:=ish+' ';

L:=length(ish) div 8;

N:=1;

for i:=1 to L do

begin

s:=copy(ish,N,8);

for j:=1 to 8 do e[key[j]]:=s[j];

N:=N+8;

for j:=1 to 8 do zash:=zash+e[j];

end;

if not eof(fs) then writeln(fe,zash)

else write(fe,zash);

end;

close(fs); close(fe);

writeln('Текст зашифрован');

end;

'2':

begin

assign (fe,'zashifr1.txt'); reset(fe);

assign (fd,'desh1.txt'); rewrite(fd);

while not eof(fe) do

begin

desh:='';

readln(fe,zash);

L:=length(zash) div 8;

N:=1;

for i:=1 to L do

begin

e:=copy(zash,N,8);

for j:=1 to 8 do d[j]:=e[key[j]];

N:=N+8;

for j:=1 to 8 do desh:=desh+d[j];

end;

if not eof(fe) then writeln(fd,desh)

else write(fd,desh);

end;

close(fe); close(fd);

writeln('Текст дешифрован');

end;

end;

until m='0';

end.

Исходный текст (ishodn.txt)

Программирование - процесс создания компьютерных программ.

По известному выражению Никлауса Вирта «Программы = алгоритмы + структуры данных»

иными словами, ключевыми непосредственными задачами программирования являются создание

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

понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии

программ - программного обеспечения. Эта инженерно-техническая дисциплина называется

«программная инженерия». Сюда входят анализ и постановка задачи, проектирование программы,

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

и тестирование программы (испытания программы), документирование, настройка (конфигурирование),

доработка и сопровождение.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: