1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
| Вячеслав Л. |
4.10.2009 9:45
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 227 Пол: Мужской Реальное имя: Вячеслав Репутация: 3 |
Такой вопрос: вщзможно ли использованием метки (label) заменить использование цикла? И если да то как это будет выглядеть?
-------------------- Само знание есть сила
|
![]() ![]() |
| Вячеслав Л. |
5.10.2009 13:21
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 227 Пол: Мужской Реальное имя: Вячеслав Репутация: 3 |
Так что я понимаю, что goto'м лучше не увлекаться и по возможности заменять циклами, case'ом и. т. д. Буду стараться обходиться без goto. Спасибо за совет. Буду знать.
-------------------- Само знание есть сила
|
| TarasBer |
5.10.2009 14:53
Сообщение
#3
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Буду стараться обходиться без goto. Но и в этом деле тоже увлекаться не стоит. Например выход из вложенного цикла намного проще и читабельнее делается как раз меткой. Впрочем, пока не наберётесь опыта, лучше считайте, что я этого не говорил. -------------------- |
| andriano |
7.10.2009 6:46
Сообщение
#4
|
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Например выход из вложенного цикла намного проще и читабельнее делается как раз меткойэтого не говорил. Спорное утверждение.Проше, пожалуй, лишь в одном - можно меньше думать о структуре программы. Но меньше думать - это не всегда хорошо. Необходимость выхода из тела цикла помимо стандартных мест (т.е. начала или конца) обычно возникает вследствие ошибок проектирования. Получается, вместо того, чтобы подумать, как исправить ошибку, мы просто "затыкаем" ее оператором перехода. Ну а в том, что в тщательно спроектированной программе разобраться легче (и, соответственно, легче отлаживать и поддерживать), чем в беспорядочно написанной, я думаю, сомнений ни у кого не возникает. Другими словами, оператор перехода плох не сам по себе, а исключительно тем, что является индикатором плохо спроектированного алгоритма. |
| SKVOZNJAK |
15.10.2009 0:10
Сообщение
#5
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: 11 |
Спорное утверждение. Проше, пожалуй, лишь в одном - можно меньше думать о структуре программы. Но меньше думать - это не всегда хорошо. Необходимость выхода из тела цикла помимо стандартных мест (т.е. начала или конца) обычно возникает вследствие ошибок проектирования. Получается, вместо того, чтобы подумать, как исправить ошибку, мы просто "затыкаем" ее оператором перехода. Ну а в том, что в тщательно спроектированной программе разобраться легче (и, соответственно, легче отлаживать и поддерживать), чем в беспорядочно написанной, я думаю, сомнений ни у кого не возникает. Другими словами, оператор перехода плох не сам по себе, а исключительно тем, что является индикатором плохо спроектированного алгоритма. Программы пишутся не только по проектам но и методом добавления новых возможностей работающему прототипу программы. Пока пишется проект и код, программа может морально устареть. В этом случае придётся переписывать проект, переделывать программу. С прототипом проще - автор одиночка может создать работающий прототип малого объёма и при необходимости в любой время добавить в него всё что понадобится. Не всегда известно, какие новые возможности потребуются программе через Х лет. GOTO поможет добавить новые возможности с минимальной переделкой уже написанного и отлаженного кода. К тому же этот замечательный оператор отлично применяется не только для выхода из циклов но и для входа Наследие спектрум бейсика - куда от него убежишь. Сообщение отредактировано: SKVOZNJAK - 15.10.2009 0:26 |
Вячеслав Людской Использование метки 4.10.2009 9:45
volvo Смотря как и где используется метка... Вообще-то м... 4.10.2009 9:56
kosyak Всегда можно обойтись без меток и Goto. Лучше их н... 4.10.2009 10:55
SKVOZNJAK Практически любой цикл можно заменить метками, и в... 5.10.2009 0:43
andriano Вообще-то GOTO с меткой может использоваться для о... 5.10.2009 10:03
Lapp Другими словами, оператор перехода плох не сам по ... 7.10.2009 7:34
TarasBer
Другими словами, оператор перехода плох не сам по... 7.10.2009 18:57

andriano
Давайте отменим Exit, Break, Continue?
Мне без р... 7.10.2009 20:33

SKVOZNJAK
Мне без разницы, ни одним из них никогда не польз... 14.10.2009 23:46

andriano Я вместо этого:
procedure MyProc;
begin
If A=B th... 15.10.2009 20:52
Вячеслав Людской Действительно, буду считать, что ты мне этого не г... 5.10.2009 17:06
volvo Сквозняк, вот ты агитируешь за GoTo, а ты пробовал... 15.10.2009 0:42
SKVOZNJAK Я не агитирую всех и всегда использовать GOTO а ли... 15.10.2009 2:21
SKVOZNJAK
А я давно его и не использую, goto гибче, а для а... 17.10.2009 1:55
andriano Но лучше обходиться минимумом goto, от лишних вред... 17.10.2009 21:51
SKVOZNJAK
Нужен - он тот самый оператор из которого состоит... 18.10.2009 23:45![]() ![]() |
|
Текстовая версия | 8.12.2025 15:06 |