Доделать программу шифр по книге - Pascal ABC
Формулировка задачи:
суть вот в чем, есть 3 файла in.txt out.txt и sh.txt
в файле sh.txt находятся в строчку символи абв...яАБВ...я1234567890_, программа берет символы из файла in.txt находит символ в sh.txt и записывает вместо в out.txt номер символа
например
in.txt содержит авд, после выполнения программы out.txt будет содержать 135
Листинг программы
- const
- k = 76;
- var
- n: integer;
- i:integer;
- inp, out, sh:text;
- st,st1,st2:string;
- begin
- assign(inp,'in.txt');
- assign(out,'out.txt');
- assign(sh,'sh.txt');
- reset(inp);
- reset(sh);
- rewrite(out);
- readln(sh,st);
- while not eof (inp) do
- begin
- readln(inp,st1);
- n:= length (st1);
- for i:= 1 to n do
- begin
- if st1[i]=st[i] then
- str(i,st2);
- end;
- writeln(out, st2);
- end;
- readln;
Решение задачи: «Доделать программу шифр по книге»
textual
Листинг программы
- var n: integer;
- i:integer;
- f,g,h:text;
- st,st1,st2:string;
- begin
- assign(f,'in.txt');
- assign(g,'out.txt');
- assign(h,'sh.txt');
- reset(f);
- reset(h);
- rewrite(g);
- readln(h,st);
- close(h);
- while not eof (f) do
- begin
- readln(f,st1);
- st2:='';
- for i:=1 to length(st1) do
- st2:=st2+inttostr(pos(st1[i],st))+' ';//пробелы чтобы легче проверять тестовый файл,
- // их после тестирования нужно убрать
- writeln(g,st2);
- end;
- close(f);
- close(g);
- write('Файл in.txt прочитан преобразованные строки записаны в файл out.txt')
- end.
Объяснение кода листинга программы
- Переменная n и i инициализируются целочисленными значениями без конкретного назначения.
- Переменные f, g и h инициализируются текстовыми значениями без конкретного назначения.
- Строки st, st1 и st2 инициализируются строковыми значениями без конкретного назначения.
- Функция assign устанавливает значения переменных f, g и h для чтения из файлов 'in.txt', 'out.txt' и 'sh.txt' соответственно.
- Функция reset сбрасывает буферы чтения и записи для переменных f и h.
- Функция rewrite записывает пустую строку в переменную g, которая будет использоваться для записи результатов.
- Функция readln считывает строку из переменной f и сохраняет ее в переменной st1.
- Закрывается переменная h.
- В цикле while считывается следующая строка из переменной f и сохраняется в переменной st1.
- Переменная st2 инициализируется пустой строкой.
- Для каждого символа в строке st1, переменная st2 увеличивается на единицу и к ней добавляется позиция текущего символа в строке st1.
- Функция inttostr преобразует целое число в строку.
- Функция pos возвращает позицию текущего символа в строке.
- Строка st2 записывается в переменную g.
- Цикл while завершается, когда достигается конец файла f.
- Закрываются переменные f и g.
- Выводится сообщение 'Файл in.txt прочитан, преобразованные строки записаны в файл out.txt'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д