Решенные задачи на языке Паскаль
Условие задачи прислали на e-mail.
Шифр Цезаря.
Этот метод основан на замене каждой буквы шифруемого текста на другую путем смещения в алфавите от исходной буквы на фиксированное количество символов, причем алфавит читается по кругу.
А) В текстовый файл записать произвольное число строк.
Б) Зашифровать полученный текст смещением символов на 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.