Опубликовано 26.01.2018 по предмету Информатика от Гость

Написать процедуру кодирования строки по шифру Цезаря (сдвиг каждого символа по алфавиту с указанным ключом). Проверить ее работу для введенной строки с ключом, равным 3 и обратно с ключом, равным -3.

Ответ оставил Гость

Const n=26; ab=ABCDEFGHIJKLMNOPQRSTUVWXYZ;
procedure Caesar(s:string;k:integer; var t:string);
var i,p,j:integer;
begin
t:=;
for i:=1 to length(s) do
 begin
 p:=pos(s[i],ab);
 if p>0 then begin
  j:=(p+k-1) mod n+1;
  if j<=0 then j:=n+j;
  t:=t+ab[j];
  end
 else t:=t+s[i];
 end;
end;
var t:string;
begin
Caesar(ANZ,3,t);
writeln(t);
Caesar(t,-3,t);
writeln(t);
end.

Пример:
DQC
ANZ

Не нашел нужный ответ?

Если ответ по предмету Информатика отсутствует или он оказался неправильным, то попробуй воспользоваться поиском других ответов во всей базе сайта.


Найти другие ответы