Войти

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


IvanIshchuk
19-05-2010, 07:07
Помогите решить задачу по паскалю!

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

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

IvanIshchuk
19-05-2010, 19:30
Да!

Hector
20-05-2010, 00:30
Попробуй это

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.




© OSzone.net 2001-2012