Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2012, 12:24   #1
Студент2009
 
Регистрация: 18.01.2009
Сообщений: 5
Вопрос Шифрование (Paskal)

Здравствуйте... Задача состоит в том чтобы реализовать программный модуль шифрования и дешифрования файлов на жестком диске ПК, алгоритм шифрования: простая моноалфавитная замена, ключ: a=3, K=2.
Вывести на экран открытые данные, результат шифрования, результат дешифрования.
Сам код программы выглядит так, а как реализовать вывод открытых данных, результат шифрования, результат дешифрования не могу разобраться.


Код:
program MonoaJIoIoaBuT;
var
s:string;
i:byte;
begin
 readln(s);
 for i:=1 to length(s) do
  begin
    if(s[i]='a')then s[i]='3';
    if(s[i]='K')then s[i]='2';
  end;
writeln(s);
readln;
end.
По методу Цезаря это выглядит так и в файле 1.txt содержиться текст: laboratory WORK.

Код:
program II,e3apb;
var
    f: text;
    s: string;
    a: char;
    i: byte;
begin
      assign(f,'c:\1.txt');
      reset(f);
      while not eof(f) do
      read(f,s);
      close(f);
      writeln(s);
      for i:=1 to length(s) do
      begin
             a:=s[i];
             if (ord(a)>96)and(ord(a)<123) then a:=chr((((ord(a)-97)+4) mod 26)+97)
             else if (ord(a)>64)and(ord(a)<91) then a:=chr((((ord(a)-65)+4) mod 26)+65)
                  else if (a=' ') then a:=' ';
             s[i]:=a;
      end;
      writeln(s);
      for i:=1 to length(s) do
      begin
             a:=s[i];
             if (ord(a)>96)and(ord(a)<123) then a:=chr((((ord(a)-97)+22) mod 26)+97)
             else if (ord(a)>64)and(ord(a)<91) then a:=chr((((ord(a)-65)+22) mod 26)+65)
                  else if (a=' ') then a:=' ';
             s[i]:=a;
      end;
      writeln(s);
      writeln;
      readln;
end.
И выводит:
Открытые данные: laboratory WORK
Результат шифрования: pefsvexsvc ASVO
Результат дешифрования: laboratory WORK

Последний раз редактировалось Студент2009; 19.04.2012 в 12:26.
Студент2009 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
paskal abc,turbo paskal andrei57 Паскаль, Turbo Pascal, PascalABC.NET 3 08.09.2011 05:33
Free Paskal и Turbo Paskal Polly~Sunbeam Паскаль, Turbo Pascal, PascalABC.NET 7 18.04.2011 16:00
while(paskal) Артл Помощь студентам 12 10.12.2010 17:28
Paskal Dima169 Паскаль, Turbo Pascal, PascalABC.NET 2 20.05.2009 18:38