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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2016, 18:58   #1
РинатДуан
 
Регистрация: 24.01.2016
Сообщений: 6
Вопрос Что делает программа на паскале

Объясните пожалуйста что делает программа где что делает? (хочу помочь девушке)
Код:
 program subst;
     type
       str80 = string[80];

     var
       inf, outf: str80;
       start: integer;
       ch: char;

     procedure code (inf, outf: str80; start: integer);
     var
       infile, outfile: file of char;
       ch: char;
       t: integer;

     begin
       assign(infile, inf);
       reset(infile);
       assign(outfile, outf);
       rewrite(outfile);
       while not eof(infile) do
       begin
         Read(infile, ch);
         ch := upcase(ch);
         if (ch>='A') and (ch<='Z') then
         begin
           t  := ord(ch)+start;
           if t>ord('Z') then t  := t-26;
           ch  := chr(t);
         end;
         Write(outfile, ch);
       end;
       WriteLn('файл закадирован');
       close(infile); close(outfile);
     end;

     procedure decode(inf, outf: str80; start: integer);
     var
        infile, outfile: file of char;
        ch: char;
        t: integer;

     begin
       assign(infile, inf);
       reset(infile);
       assign(outfile, outf);
       rewrite(outfile);

       while not eof(infile) do
       begin
         read(infile, ch);
         ch  := upcase(ch);
         if (ch>='A') and (ch<='Z') then
         begin
           t  := ord(ch)-start;
           if t<ord('A') then t  := t+26;
           ch  := chr(t);
         end;
         Write(outfile, ch);
       end;
       WriteLn('Файл декодирован');
       close(infile); close(outfile);
     end;

     begin
       Write('введите имя исходного файла ');
       ReadLn(inf);
       Write('введите имя выходного файла ');
       ReadLn(outf);
       Write('позиция смещения (1-26): ');
       ReadLn(start);
       Write('Шифровать или дешифровать (C or D): ');
       ReadLn(ch);
       if upcase(ch)='C' then code(inf, outf, start)
       else if upcase(ch)='D' then decode(inf,outf,start);
     end.

Последний раз редактировалось Вадим Мошев; 24.01.2016 в 20:27.
РинатДуан вне форума Ответить с цитированием
Старый 24.01.2016, 20:27   #2
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Шифрует и дешифрует.
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 25.01.2016, 09:36   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от zvygin1964 Посмотреть сообщение
Шифрует и дешифрует.
+1

шифрует так:
Ко всем буквам латинского алфавита (к их кодам в таблице) прибавляет заданное смещение start.
(циклически, т.е. если к букве z прибавить 2 получится буква b)
расшифровка - отнимает от кодов заданное смещение, тоже циклически.

гуглите Шифр Цезаря
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обьясните пожалуста как и что делает эта программа и почему она это делает. Dimka-novitsek Общие вопросы C/C++ 7 16.10.2013 12:02
что делает программа? Настёнка1512 Помощь студентам 1 19.12.2011 06:50
что делает программа& Chena Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 04.05.2011 12:40
Обьясните, что делает это программа??? ~Леди~ Общие вопросы Delphi 2 05.04.2011 10:47
Что делает программа (забыл) С\С++ Айдар Помощь студентам 6 27.06.2010 12:39