Составьте программу шифрования текстового сообщения - Pascal

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

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

Составьте программу шифрования текстового сообщения. Можно использовать такой способ шифрования. Шифровальщик задает ключ шифровки – целое число, который определяет величину смещения букв русского алфавита. Например, ключ = 3, тогда в тексте буква «а» заменяется на «г» и т. д.

Решение задачи: «Составьте программу шифрования текстового сообщения»

textual
Листинг программы
const
  rus='абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
var
  s,rsf:string;
  i:integer;
begin
  writeln('Задайте строку...');
  readln(s);
  writeln('На сколько будем сдвигать...');
  readln(i);
  rsf:=rus;
  repeat
    if i>0 then
    begin
      rsf:=rsf+rsf[1];
      delete(rsf,1,1)
    end;
    Dec(i)
  until
    i<=0;
  {шифруем}
  for i:=1 to length(s) do
    if pos(s[i],rus)<>0 then
      s[i]:=rsf[pos(s[i],rus)];
  writeln('Результат шифровки:');
  writeln(s);
  {дешифруем}
  for i:=1 to length(s) do
    if pos(s[i],rsf)<>0 then
      s[i]:=rus[pos(s[i],rsf)];
  writeln('Результат дешифровки:');
  writeln(s);
end.

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

  1. Создается константа rus, которая содержит все буквы русского алфавита в нижнем регистре.
  2. Создаются две переменные s и rsf типа string.
  3. Выводится сообщение «Задайте строку...» и считывается строка от пользователя.
  4. Выводится сообщение «На сколько будем сдвигать...» и считывается число от пользователя.
  5. Переменная rsf инициализируется значением константы rus.
  6. Запускается цикл повторений, который выполняется до тех пор, пока значение переменной i больше нуля.
  7. Внутри цикла происходит проверка: если значение i больше нуля, то к переменной rsf добавляется сама себя (операция rsf+rsf[1]). Затем удаляется последний символ из переменной rsf с помощью операции delete(rsf,1,1).
  8. Значение переменной i уменьшается на единицу.
  9. После выхода из внутреннего цикла, выполняется проверка: если значение i меньше или равно нулю, то цикл повторяется.
  10. Выводится сообщение «Результат шифровки:» и выводится закодированное сообщение s.
  11. Выводится сообщение «Результат дешифровки:» и выводится исходное сообщение s.

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

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