Шифр Цезаря Код Delphi 7, XE

Если интересуют "Атака", "Взлом" - то ищите здесь «Шифрование, Кодирование и/или Сжатие Информации»

  1. Формулировка учебного задания по Шифру Цезаря
  2. Классы, упрощающие решение задачи Delphi
  3. Перебор символов строки в цикле Delphi
  4. Работа с файлами
  5. Исходный код на Delphi 7, XE

С использованием ООП (классов) !


Формулировка учебного задания по Шифру Цезаря

Разработать программу, кодирующую входную строку «шифром Цезаря», используя метод моноалфавитной подстановки.

Допустимые символы : все символы английского (латинского) и русского алфавитов, цифры и другие знаки вводимые с клавиатуры

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

Формулировка учебного задания  по Шифру Цезаря
Рис.1        Формулировка учебного задания по Шифру Цезаря





Классы, упрощающие решение задачи Delphi

Использование Классов (ООП) значительно сокращает исходный код программ.

Класс TCaesar, своим единственным методом Codec(m:string; key:integer):string; (всего 11 строк), позволяет закодировать открытую строку или раскодировать закрытую строку.

Класс TLent, своим единственным методом Repl(m:string; key:integer):string; (всего 8 строк), позволяет сдвинуть любой символ вперед или назад на заданное количество шагов, и возвращает новый символ.



Перебор символов строки в цикле Delphi

Поскольку любая строка является индексированным множеством символов, то ее обработку проводим с использование цикла…

по коду:

var tmp,res :string;
       i :integer;

//------------------------------
for i:=1 to Length(m) do begin
       tmp:=L1.Repl(m[i],key); //
       if tmp='' then tmp:=L2.Repl(m[i],key);
       if tmp='' then tmp:=L3.Repl(m[i],key);
       if tmp='' then tmp:=L4.Repl(m[i],key);
       if tmp='' then tmp:=L5.Repl(m[i],key);
       if tmp='' then tmp:=L6.Repl(m[i],key);

       if tmp='' then tmp:=m[i];        //tmp возможно пустая строка, тогда тот же символ без изменения

       res := res + tmp;
end;
//------------------------------





Работа с файлами

Работа с файлами представляет дополнительные возможности и удобства для пользователей данного учебного приложения.

Чтобы не вводить длинный текс в первое окно, можно использовать либо копирование и вставку из буфера обмена, либо загрузку из файла…, а проведя "полезную работу" по кодированию или раскодированию, полученный результат из нижнего окна целесоорбазно сохранить в виде файла.

Работа с файлами
Рис.2        Работа с файлами





Исходный код на Delphi 7, XE

Тестирование - это наиболее важный этап в жизненном цикле программного продукта. Поэтому не верьте картинкам, фильмам и сказкам…

Только личное тестирование во всех наиболее сложных сочетаниях данных - должно убедить Вас в доброкачественности алгоритма и исходного кода!

скачать ехе-файл для тестирования



Другие примеры на языке «Delphi»

Другие примеры на тему «Шифрование, Кодирование и/или Сжатие Информации»





Если у Вас остались вопросы, то задать их Вы можете, нажав на эту кнопочку ...


Поделиться в соц сетях:



Если на этой странице не нашлось того, что Вы так искали...

         Не расстраивайтесь, не все потеряно... Смело щелкайте...
исходный код на заказ. orenstudent.ru Автоматизация документов MS Office. orenstudent.ru исходный код на заказ. orenstudent.ru Помогите найти и устранить ошибку в исходном коде программы. orenstudent.ru Skype-консультирование по программированию
Скайп-консультации

Акция !!!
исходный код комментарии цена минимальная


Не попадайтесь на удочку мошенников-кидал...
Сайт помощи студентам по программированию и информатике

Program code