Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Текст Паскаль-Программы

Автор: Asmodeus 20.05.2007 12:38

здравствуйте))) сне снова нужна помощь)))

В файле записан текст паскаль-программы. Проверить, описаны ли в программе все используемые переменные, указав те из них,которые не описаны, но используются.

Автор: compiler 20.05.2007 20:58

а может ли там использоваться то что описано в другом месте(библиотеки) например числи пи из математической?

Автор: Asmodeus 20.05.2007 21:32

наверно нет...

Автор: Asmodeus 21.05.2007 21:29

Ну помогите пожалуйста! мне надо в четверг эту программу сдать))) к экзамену не допустят...

Автор: Rusted-Razor 22.05.2007 12:26

Вопрос в том, какая по сложности прога будет проверяться.
Теоретически алгоритм таков:
Открыть *.pas исходник, найти Var и зачитать в массив все элемениы вара, разделенные заптыми ислючая спец символы и слова. Потом в тексте программы искать примерно следующее A:=, A<, -A, A-, A),(A... и т.д.
Если нашел а в варе не потреблялось, то вот оно и попалось.
Возможно это тупой метод и есть лучще, но я пока ничего другого не вижу.

Автор: Asmodeus 22.05.2007 19:49

да уж... я впринципе так и думал)) но хотел бы как-нибудь попроще сделать)))
Я какбы понимаю этот алгоритм, но вот как его написать сообразить не могу wink.gif

Автор: мисс_граффити 22.05.2007 19:59

Rusted-Razor, проблема с использованием функций...
ну например:

function mysinus(x: real);
begin
mysinus:=1-sin(а);
end;

mysinus - неизвестная переменная получается. а неизвестная а просто пригнорируется.

Автор: volvo 22.05.2007 20:43

Цитата
проблема с использованием функций...

Не только... Будут проблемы с:
1) комментариями;
2а) записями;
2б) объектами.