![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
KIngSpades |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
Здраствуйте, форумчани!
Я недавно занимаюсь Паскалем и у меня появилась одна проблема. Есть две процедуры. При создании программы проверялась работа при одной процедуре. ПРограмма работала. После создания второй процедуры я ввел конструкцию case такого типа: Код Program ... var x:char; a,b,c,d,f:real; Procedure1(a,b:real; var c:real); begin ... end; Procedure2(c,d:real; var f:real); begin ... end; begin readln(x); case x of 'Y':procedure1(a,b,c); 'Z':procedure2(c,d,f); end; readln end. При отсутсвии case и использования одной процедуры программа работает отлично. При использовании программы, приведенной выше программа считывает Х и после етого должна запускаться процедура 1 (или 2). Но после ввода каких либо данных окно программы закрываеться. Помогите пожалуйста решить ету проблему. Надеюсь на понимание. P.S Процедура 2 аналогична Процедуре 1, но только с другими данными. Сообщение отредактировано: KIngSpades - 13.07.2011 11:24 |
![]() ![]() |
IUnknown |
![]()
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Во-первых, так быть не должно. То есть, программа должна нормально работать. Почему она вылетает - это тебе предстоит выяснить. Пройди по программе пошагово (через F7), отладчиком, и выясни, где именно она валится, на какой строке (подробнее об отладке можно почитать здесь)... Я надеюсь, все возможные проверки в Options -> Compiler -> Runtime Errors включены? Это тоже может помочь обнаружить проблему...
А во-вторых, не совсем понятно. Если процедуры одинаковые, и только данные разные, то зачем их две? Передавай в том же Case в одну и ту же процедуру разные данные. Для этого подпрограммы и существуют. Какой смысл делать несколько версий, отличающихся только названиями параметров? |
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 21:14 |