Найти в текстовом файле, содержащем текст программы на Паскале, идентификаторы функций - Pascal ABC
Формулировка задачи:
всем привет^_^, препод задал дамашек, 1 я сделал другую не могу ни как, осилить, хотя и алгоритм придумал.
как устроен мой алгоритмЖ
программа находит строку со словом 'function' затем копирует с первого символа до скобки(copy(s,1,pred(pos('(',s)))); затем бивает индетификатор функции в массив.
вроди сделал все как задумал в алгоритме, но чет ничаго не выводит, помогите плз^_^. Зарание спс.
Ps: если можно нарисуйте к ней блок схему, я толком не учил а щас уже времени не хватает>_<
Решение задачи: «Найти в текстовом файле, содержащем текст программы на Паскале, идентификаторы функций»
textual
Листинг программы
Uses CRT; Var i:integer; f:text; s,l:string; begin Assign(f,'D:\1.txt'); reset(f); while not eof(f) do begin readln(f,s); if pos('function',s)<>0 then begin l:=copy(s,pos('function',s),pos('(',s)-1); writeln(copy(l,pos(' ',s)+1,length(l))); end; end; Close(f); end.
Объяснение кода листинга программы
- Объявление переменных:
- i: integer (указывается тип данных переменной i)
- f: text (указывается тип данных переменной f)
- s, l: string (указываются типы данных переменных s и l)
- Установка пути к файлу:
- Assign(f, 'D:\1.txt') (переменная f ссылается на файл 'D:\1.txt')
- Открытие файла:
- Reset(f) (файл открывается для чтения)
- Чтение файла:
- while not eof(f) do (цикл выполняется до тех пор, пока не достигнут конец файла)
- readln(f, s) (читается строка из файла и сохраняется в переменной s)
- Поиск идентификаторов функций:
- if pos('function', s) <> 0 then (если в строке есть слово
function
, то выполняется блок кода)- l := copy(s, pos('function', s), pos('(', s)-1) (создается новая строка l, которая содержит имя функции без скобок)
- writeln(copy(l, pos(' ', s)+1, length(l))) (выводится имя функции на экран)
- if pos('function', s) <> 0 then (если в строке есть слово
- Закрытие файла:
- Close(f) (файл закрывается)
- Завершение программы:
- end. (конец программы)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д