Шифрование методом Атбаш (проблемы с кодировкой) - Pascal

Узнай цену своей работы

Формулировка задачи:

Вот сам код(функция взята с форума):
function Atbash(tc: string): string;
var i:integer;
begin
  for i:=1 to length(tc) do
    tc[i]:=Chr(256-Ord(tc[i]));
  Atbash:=tc;
end;
 
var
  s:string;
  f,t:text;
 
begin
  assign(f,'in.txt'); reset(f);
  assign(t,'out.txt'); rewrite(t);
  while not eof(f) do
   begin
     readln(f,s);
     s:=Atbash(s);
     writeln(t,s);
   end;
   close(f);
   close(t);
  readln;
end.
Проблема в том, что если в файле in.txt : abcdefghijklmnopqrstuvwxyz , то в файле out.txt : џћќњ›љ™˜—–•”“’‘ђЏЋЌЊ‹Љ‰?‡† Хотя должно быть : ZYXWVUTSRQPONMLKJIHGFEDCBA Знает кто в чем дело ?

Решение задачи: «Шифрование методом Атбаш (проблемы с кодировкой)»

textual
Листинг программы
function Atbash(tc: string): string;
var i:integer;
begin
  for i:=1 to length(tc) do
  if ((tc[i]>='a') and (tc[i]<='z')) or ((tc[i]>='A') and (tc[i]<='Z'))
   then tc[i]:=Chr(187-Ord(tc[i]));
  Atbash:=tc;
end;
 
var
  s:string;
  f,t:text;
 
begin
  assign(f,'in.txt'); reset(f);
  assign(t,'out.txt'); rewrite(t);
  while not eof(f) do
   begin
     readln(f,s);
     s:=Atbash(s);
     writeln(t,s);
   end;
   close(f);
   close(t);
end.

Объяснение кода листинга программы

  1. В функции Atbash перебираются все символы строки tc.
  2. Если символ является буквой верхнего регистра (от 'A' до 'Z') или буквой нижнего регистра (от 'a' до 'z'), то он заменяется на символ, который получается путем сдвига символа на 186 позиций влево в ASCII таблице.
  3. Функция возвращает измененную строку tc.
  4. В основной части программы открываются файлы in.txt и out.txt для чтения и записи соответственно.
  5. Чтение файла in.txt происходит в переменную s до тех пор, пока не достигнут конец файла.
  6. После чтения каждой строки из in.txt вызывается функция Atbash, которая заменяет символы в строке s на символы, полученные путем сдвига на 186 позиций влево.
  7. Измененная строка s записывается в файл out.txt.
  8. После окончания чтения файла in.txt и записи в файл out.txt файлы закрываются.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы