Delphi-Help

Главная

Задача 579 на Pascal - Шифр Цезаря

Оцените материал
(4 голосов)


Задача 579 на Pascal - Шифр Цезаря

Шифр Цезаря.

Этот метод основан на замене каждой буквы шифруемого текста на другую путем смещения в алфавите от исходной буквы на фиксированное количество символов, причем алфавит читается по кругу.

А) В текстовый файл записать произвольное число строк.

Б) Зашифровать полученный текст смещением символов на 9 позиций вправо. Сохранить зашифрованный текст в новом файле

В) Расшифровать полученный код, предполагая, что шифр (т.е. число 9) неизвестен. Результат сохранить в новом файле.

var
f1,f2,f3:text;
s:char;
 
{1. открываем исходный файл
 2. создаем новый файл
 3. считываем символы из исходного файла и записываем новый символ со смещением
    в новый файл
 4. открываем зашифрованный файл и расшифровываем его в новый файл    }
BEGIN
{1.}
{$I-}
assign(f1,'text1.txt');
reset(f1);
{$I+}
if ioresult<>0 then
 begin
  writeln('Создайте текстовый файл text1.txt и запустите программу снова!');
  readln;
  halt;
 end;
{2.}
assign(f2,'text2.txt');
rewrite(f2);
while not eof(f1) do
begin
 {3.}
 read(f1,s);               {считываем один символ в s}
 write(f2,chr(ord(s)+9));  {получаем код символа ord(s),
                            прибавляем к коду символа число 9,
                            записываем в файл f2 символ с кодом ord(s)+9)}
end;
close(f1);
close(f2);
writeln('Создан зашифрованный файл text2.txt');
writeln;
{4.}
reset(f2);
assign(f3,'text3.txt');
rewrite(f3);
while not eof(f2) do
begin
 read(f2,s);
 write(f3,chr(ord(s)-9));
end;
close(f2);
close(f3);
writeln('Создан расшифрованный файл text3.txt из зашиврованного файла text2.txt');
writeln;
readln;
END.
Прочитано 13908 раз
Другие материалы в этой категории: « Задача 578 на Pascal

Авторизация



Счетчики