| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Object Pascal: кроссплатформенные технологии > Глюк паскаля??? |
| Автор: vicq 8.7.2007, 13:10 |
| Написал прогу. при пошаговом выполнении считает верно. ответ сходится с точным. а по Ctrl-F9 совсем другие результаты выдает. Паскаль или прога? в чем косяк? |
| Автор: m0ro 8.7.2007, 13:17 |
| код в студию? |
| Автор: vicq 8.7.2007, 13:22 | ||
в коде бардак... и без коментов:
|
| Автор: vicq 8.7.2007, 13:54 |
| дело не в коде наверное... почему пошагово одно, а целиком - другое???? |
| Автор: volvo877 8.7.2007, 15:04 |
| Можно посмотреть, с какими данными программа ВООБЩЕ работает? У меня на любых - зацикливается... Добавлено через 3 минуты и 51 секунду А вообще - очень интересная позиция: задания - нет, комментариев - нет, исходных данных - нет, что ищем - непонятно. Но "не работает", и сразу виноват во всем Паскаль. |
| Автор: vicq 8.7.2007, 20:59 |
| есть вапще разница между обычным выполнением проги и пошаговым??? |
| Автор: Crot 9.7.2007, 05:19 | ||||||
| Программу не запускал, просто просмотрел. В твоём коде есть потенциальная ошибка. Читай комментарии:
Надо учитывать, что: Значения глобальных переменных к моменту начала выполнения программы обнуляются. Значения же локальных переменных к моменту начала выполнения ПОДПрограммы - не определены. P.S.: На всякий случай: Глобальные переменные - те, которые описанны внутри самой программы. Локальные переменные - те, которые описанны в любой подпрограмме. Подпрограмма - процедура или функция.
В твоём случае - есть, так как, ещё раз повторюсь, при вызове процедуры min_d, значение переменной min может быть любое, причём различное при каждом вызове. Добавлено через 6 минут и 58 секунд Ещё кое-что заметил:
Следует избегать таких конструкций, используя операторные скобки BEGIN..END. Иначе не ясно, к какому условному оператору IF принадлежит ветка ELSE. |
| Автор: vicq 9.7.2007, 09:11 |
| Спасибо огромное! определил min и заработало. правда там ещё косяк, но это уже в алгоритме вроде бы. я 2 дня не вставая из-за компа исправлял эту прогу, вот и получилась кривая, с минимумом подпрограмм. |
| Автор: Nite 10.7.2007, 13:58 |
| vicq, второе замечание Крота про if не забудь. надо делать так if ... then if ... then begin ... end else begin ... end else ; иначе конструкция else begin ... end будет отнесена к внешнему if ! |