Создание шифратора и дешифратора - Pascal ABC
Формулировка задачи:
Решение задачи: «Создание шифратора и дешифратора»
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
для тестовой строки за окном шёл дождь и рота красноармейцев
.