Что делает эта программа? Как она работает? Подскажите, какой здесь алгоритм... Понять хочу
var input,output,key:string;
i:byte;
x:integer;
a:char;
begin
repeat
write('C - shifrovat, D - rasshifrovat: ');
readln(a);
writeln('vvedite stroku i kluch odinakovoi dliny:');
write('stroka: ');
readln(input);
write('kluch: ');
readln(key);
until ((a='c')or(a='C')or(a='d')or(a='D'))and(length(input)=length(key));
if (a='c')or(a='C') then
begin
for i:=1 to length(input) do
output:=chr((ord(input)+ord(key)) mod 256);
end else
begin
for i:=1 to length(input) do
x:=ord(input)-ord(key);
if x<0 then x:=x+256;
output:=chr(x);
end;
output[0]:=chr(length(key));
writeln('Vyhodniye danniye:');
writeln(output);
end.