Ввод нетипизированного файла и поиск в нём - Pascal

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

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

Здравствуйте. Мучаюсь с нетипизированными файлами. Задача состоит в том, чтобы реализовать ввод информации с клавиатуры в файл и организовать поиск в файле с последовательным доступом. Информации по поводу нетипизированных файлов достаточно мало, т.к. они используются редко (но метко). Подскажите, что я делаю не так? Мой набросок: (Pos не работает, знаю, однако иначе осуществлять поиск пока что не умею).

Решение задачи: «Ввод нетипизированного файла и поиск в нём»

textual
Листинг программы
Uses Crt;
Var
F : File;
K,p : string[20];{больше не нужно если пишем слова}
name:string[12];
n:integer;
begin
writeln('Введите имя файла, который мы создадим');
readln(name);
Assign(F,name) ;
Rewrite(F,20) ; {Открыть файл для записи 20 байт, емкость строки}
Writeln('Файл ',Name,' открыт для присоединения нового текста ') ;
Writeln('Вводите текст для записи:');
Writeln;
repeat
Write (' :>') ;
Readln(p);
BlockWrite(F,p,1); {запишем 1 блок в 20 байт}
until readkey=#27;{конец Escape}
Writeln;
Writeln('Присоединение нового текста окончено, нажмите Enter...');
Write('Введите то, что ищем ');
Readln(K) ;
Reset(F,20) ;
N:=0;
While not Eof(F) do
 begin
  BlockRead(F,p,1);
  if p=K then n:=n+1;
 end;
Close(F);
writeln('Количество слов ',K,' в файле - ',n);
readln
end.

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

  1. Объявлены переменные:
    • F - файл
    • K - строка для поиска
    • p - строка для записи
    • name - имя файла
    • n - счетчик найденных слов
  2. Пользователю предлагается ввести имя файла для создания.
  3. Файл открывается для записи с помощью функции Assign(F,name).
  4. Файл записывается с помощью функции BlockWrite(F,p,1).
  5. Пользователю предлагается ввести текст для записи в файл.
  6. Когда введен текст, он записывается в файл с помощью функции BlockWrite(F,p,1).
  7. Файл закрывается для записи с помощью функции Close(F).
  8. Пользователю предлагается ввести строку для поиска.
  9. Файл открывается для чтения с помощью функции Reset(F,20).
  10. Счетчик n инициализируется нулем.
  11. Пока файл не достиг конца, выполняется цикл, в котором читается блок данных из файла с помощью функции BlockRead(F,p,1).
  12. Если прочитанная строка совпадает со строкой поиска, счетчик n увеличивается на единицу.
  13. Файл закрывается для чтения с помощью функции Close(F).
  14. Выводится сообщение о количестве найденных слов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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