Как только встречается слово 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;

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

  1. Объявлены две процедуры: Search и Output.
  2. В процедуре Search используется переменная Nstr для подсчета количества строк в файле.
  3. В цикле while считывается каждая строка из файла до тех пор, пока не достигнется конец файла.
  4. Для каждой строки выполняется поиск слова Compiling. Если это слово найдено, то процедура завершается.
  5. В процедуре Output используется переменная Nstr, которая инициализируется значением 1.
  6. Вызывается процедура Search для поиска строки с словом Compiling.
  7. Если в строке найдено слово ( и закрывающая скобка ')', то начинается поиск следующего слова.
  8. Если в строке найдено слово ,, то предыдущее найденное слово считается именем и добавляется в результат.
  9. Если в строке найдено слово ```, то следующее слово считается продолжением предыдущего имени и добавляется в результат.
  10. Результат выводится на экран.

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


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

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

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