Как только встречается слово Compiling, нужно передать в основную программу переменную Nstr - Free Pascal
Формулировка задачи:
Добрый день!
Помогите пожалуйста с программой. Есть функция, которая считывает из файла строки. Как только встречается слово Compiling, нужно передать в основную программу переменную Nstr. Подскажите, пожалуйста, как это сделать
Листинг программы
- Procedure Search(var str0:string; Nstr:integer);
- var
- f:text;
- prov, str:string;
- j:integer;
- begin
- assign(f,str0);
- reset(f);
- while not Eof(f) do
- begin
- readln(f,str);
- Nstr:=Nstr+1;
- prov:='';
- for j:=1 to length(str) do
- begin
- prov:=prov+str[j];
- if prov='Compiling' then
- ?????? <-----что делать здесь?
- end;
- end;
- end;
Решение задачи: «Как только встречается слово Compiling, нужно передать в основную программу переменную Nstr»
textual
Листинг программы
- Procedure Search(var str0:string; var Nstr:integer);
- var
- f:text;
- prov, str:string;
- j:integer;
- begin
- assign(f,str0);
- reset(f);
- while not Eof(f) do
- begin
- readln(f,str);
- Nstr:=Nstr+1;
- prov:='';
- for j:=1 to length(str) do
- begin
- prov:=prov+str[j];
- if prov='Compiling' then Exit;
- end;
- end;
- end;
- Procedure Output(var str0:string);
- var
- f:text;
- x,y,Nstr,i,j:integer;
- str,str1,str2:string;
- flag1,flag2:boolean;
- begin
- initgraph(x, y,' ');
- assign(f,str0);
- reset(f);
- Nstr:=1;
- Search(str0, Nstr);
- j:=0;
- while not Eof(f) do
- begin
- j:=j+1;
- if j>=Nstr then
- begin
- readln(f,str);
- flag1:=false;
- flag2:=false;
- for i:=1 to length(str) do
- begin
- if str[i]='(' then
- flag1:=true;
- if (str[i+1]=')') or (str[i+1]=',') then
- flag2:=true;
- if flag2=true then
- begin
- str1:=str1 + ' ';
- if str[i]='"' then
- str2:=str2+str[i+1];
- flag1:=false;
- flag2:=false;
- end;
- if flag1=true then
- str1:=str1 + str[i+1];
- end;
- end;
- end;
- end;
Объяснение кода листинга программы
- Объявлены две процедуры: Search и Output.
- В процедуре Search используется переменная Nstr для подсчета количества строк в файле.
- В цикле while считывается каждая строка из файла до тех пор, пока не достигнется конец файла.
- Для каждой строки выполняется поиск слова
Compiling
. Если это слово найдено, то процедура завершается. - В процедуре Output используется переменная Nstr, которая инициализируется значением 1.
- Вызывается процедура Search для поиска строки с словом
Compiling
. - Если в строке найдено слово
(
и закрывающая скобка ')', то начинается поиск следующего слова. - Если в строке найдено слово
,
, то предыдущее найденное слово считается именем и добавляется в результат. - Если в строке найдено слово ```, то следующее слово считается продолжением предыдущего имени и добавляется в результат.
- Результат выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д