Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Помогите решить задачу по паскалю! (http://forum.oszone.net/showthread.php?t=176026)

IvanIshchuk 19-05-2010 07:07 1416480

Помогите решить задачу по паскалю!
 
Помогите решить задачу по паскалю!

нужно : в текстовом файле на языке паскаль отыскивать все циклы вида for - to (downto) - do , выделять у них тело цикла и печатать его .

Hector 19-05-2010 15:34 1416782

Я правильно понял: в файле *.pas найти конструкции вида for - to (downto) - do и вывести их на экран?

IvanIshchuk 19-05-2010 19:30 1416928

Да!

Hector 20-05-2010 00:30 1417124

Попробуй это
Код:

program oszone;
{(c) Hector}
uses crt;

var
f:text;
fn, str:string;

begin
clrscr;
write('Введите полный путь к файлу, включая расширение: ');
readln(fn);
assign(f,fn);
reset(f);
writeln;
while not eof(f) do
  begin
  readln(f,str);
  if pos('for ',str)<>0 then  {если строка содержит for - выводим её}
    begin
      writeln(str);
      readln(f,str);
      if (pos('begin',str)<>0) or (pos('if ',str)<>0) then  {если следующая содержит begin или if}
      begin
        repeat       
        writeln(str);
        readln(f,str);
        until pos('end',str)<>0; {то выводим строки, пока не найдем строку с end}
        if pos('end',str)<>0 then writeln(str);
      end
      else writeln(str);
    writeln;
    end;
  end;
close(f);
writeln('Обработка завершена');
readln;
end.



Время: 16:43.

Время: 16:43.
© OSzone.net 2001-