Top.Mail.Ru
Ответы
Аватар пользователя
12 лет назад от Изменено

[PASCAL] А что там с goto??

Не пойму, что, нельзя делать переход на метку из процедуры? ? о_О
Сабж:
В программе много вычислений и в большинстве случаев (почти всегда) производить все вычисления не имеет смысла! Достаточно, чтобы не выполнилось одно крохотное условие и можно выводить прощание и выходить из программы (собственно для этого goto и понадобился) .
Так вот, условий таких в программе предостаточно и при невыполнении хотя бы ОДНОГО из условий нужно вывести одно сообщение и перейти к метке 1:end. Ну я и решил оформить вывод и выход через процедуру. А pascal то, ругается! Что в таком случае делать? Как я понял, что из-за использования goto в процедуре:

Провести все вычисления и уже затем проверять условия? (такое возможно) или писать каждый раз writeln('-_-); goto 1; ?
Спасибо за ответы :)

Дополнен

Как я понял, что из-за использования goto в процедуре:
:)

Дополнен

*writeln('-_-')

Дополнен

> Andrey Vec
А как быть тогда? Провести все вычисления и потом в условиях (в конце программы) уже делать проверку?

Дополнен

> Евгений Ломега
Все говно один ты святой? Подожди минутку, выложу скрин программы, скажешь, как тут без goto обойтись, ок?

Дополнен Дополнен

> Krab Bark
По поводу exit не знал. Тогда goto вообще не нужен. Сейчас попробую...

Дополнен

код ошибки 201, выход за пределы массива наверное...

Дополнен

> Евгений Ломега
23 минуты? не выполнил школьный норматив? Ну и кто теперь ты?

Дата
Популярность
Аватар пользователя
12 лет назад

Для досрочного выхода из подпрограммы в Pascal используется exit. В некоторых реализациях он реализован как оператор, в некоторых в виде системной процедуры, на использование это не влияет.

Аватар пользователя
12 лет назад

В Pascal имеется оператор goto (требование стандарта) , но т. к. это один из немногих способов выстрелить себе в ногу использовать его не рекомендуется. В принципе на Pascal любую программу можно написать без использования goto. Если тебе понадобился этот оператор то ты можешь с радостью назвать себя великим говнокодером.
пришли свой чудо код на почту гляну что там у тебя

PS. оператор break такое же совершенно не нужное говно как и goto

Аватар пользователя
12 лет назад

Программирование с goto это просто ужасный стиль. Программа вообще нечитабельной становится. Существует например break для резкого прерывания выполнения процедур и функций. Также можно вполне вложить условия. if...else...elseif

Аватар пользователя
12 лет назад

Про Goto лучше забыть.