Зашифровать строку, изменив код каждого символа на число N - Pascal ABC
Формулировка задачи:
Дана строка(Любое предложение). Зашифровать её, изменив код каждого символа на число N
Решение задачи: «Зашифровать строку, изменив код каждого символа на число N»
textual
Листинг программы
var i,n:integer;
s:string;
begin
write('s = ');readln(s);
write('n = ');readln(n);
for i:=1 to length(s) do s[i]:=chr(abs(255+ord(s[i])+n mod 255)mod 255);
writeln(s)
end.
Объяснение кода листинга программы
В данном коде происходит шифрование строки.
- Переменная
iинициализируется значением 1, а переменнаяn- значением, полученным от пользователя. - Строка
sсчитывается с помощью функцииreadln(). - Значение переменной
nпреобразуется в абсолютное значение с помощью функцииabs(). - В цикле
forпроисходит преобразование каждого символа строкиs. Для этого используется функцияord(), которая возвращает числовое представление символа. Затем это число преобразуется в строку с помощью функцииchr(). - Полученное число шифруется с помощью формулы
abs(255 + ord(s[i]) + n mod 255) mod 255. Здесьord(s[i])- это числовое представление символаs[i], аn mod 255- это остаток от деления значенияnна 255. - Шифрованный символ заменяет исходный символ в строке
s. - После выполнения цикла
forшифрованная строка выводится на экран с помощью функцииwriteln().