Создание шифратора и дешифратора - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, у меня такая идея, но я не могу воплотить ее. Что если сделать что то типа шифратора и дешифратора, допустим: Вы пишете "Привет" а программа заменяет каждый символ переменной на другой, например "П" на английскую "U", и так все русские буквы на определенные английские. Дешифратор работает также только наоборот. Вы отправляете другу зашифрованное письмо, он копирует строку в дешифратор и получает нормальный, русский текст.

Решение задачи: «Создание шифратора и дешифратора»

textual
Листинг программы
Const
  y = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
  z = 'щбгфпзсэйхкялширыцжчвнтомдъьеаюуё';
 
Function Code(s : String) : String;
Var i : Byte;
Begin
  For i:=1 to Length(s) do
    If Pos(s[i],y)>0 then s[i]:=z[Pos(s[i],y)];
  Code:=s;
end;
 
Function DeCode(s : String) : String;
Var i : Byte;
Begin
  For i:=1 to Length(s) do
    If Pos(s[i],z)>0 then s[i]:=y[Pos(s[i],z)];
  Decode:=s;
end;
 
Begin
  Writeln(Code('за окном шёл дождь и рота красноармейцев'));
  Writeln(DeCode(Code('за окном шёл дождь и рота красноармейцев')));
end.

Объяснение кода листинга программы

В данном коде создаются функции шифратора и дешифратора. Функция Code принимает на вход строку s и возвращает её закодированную версию. Для этого используется цикл For, который проходит по каждому символу строки s. Если текущий символ встречается в шифровальной строке y, то он заменяется на соответствующий символ из шифровальной строки z. В конце функция возвращает закодированную строку s. Функция DeCode принимает на вход закодированную строку s и возвращает её расшифрованную версию. Для этого также используется цикл For, который проходит по каждому символу строки s. Если текущий символ встречается в шифровальной строке z, то он заменяется на соответствующий символ из шифровальной строки y. В конце функция возвращает расшифрованную строку s. В основной части кода выводится результат работы функций Code и DeCode для тестовой строки за окном шёл дождь и рота красноармейцев.

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы