![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Форумчанин
Регистрация: 21.10.2010
Сообщений: 588
|
![]() Цитата:
Чем тебе не понравился мой ответ? Функция break является стандартной для паскаля и я не вижу причин её не использовать. Вряд ли можно выиграть много времени, если убрать один вложенный цикл
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681 Последний раз редактировалось MaTBeu; 07.10.2011 в 12:25. |
|
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
![]()
Okay )
К сожалению, Pascal, несмотря на всю его идейность, не вполне удовлетворяет стандартам полностью структурного языка. Скажем, goto вообще не надо было включать. Непонятно, зачем Вирт его все же включил.. break нарушает видимую последовательность выполнения, тем он и плох. Хотя, я признаю, бывают ситуации, когда он очень выручает. Настолько, что можно поступиться принципами )). Но это все же большие исключения (помню в практике, но привести сейчас пример не смогу). А чаще всего получается так.. Я чувствую, что хочу поставить break, и сразу настораживаюсь и продумываю этот кусок еще раз. И в 99% случаев оказывается, что есть более логичное, красивое и компактное решение. А данный случай совсем простой, таких полно. Ты посмотри еще раз на мой код и сравни. Заставлять я тебя не буду - как захочешь, так и будешь делать. А, если быть предельно честным, то я по крайней мере наполовину написал потому, что стало обидно - написал решение, а никто даже не заметил )). Я стараюсь не писать полные решения (хотя сдерживать себя трудно)), чтоб спрашивающие хоть что-то сделали сами.. Но, тем не менее, от слов не отказываюсь. Ты погугли на что-то типа "good bad programming practice break goto pascal" - или русский эквивалент. Только обязательно вставь pascal, потому что в C break имеет другой смысл, там без него никак. Но, правда, не всегда можно верить написанному в Инете.. )) Успехов тебе
Предпочитаю на "ты".
|
![]() |
![]() |
![]() |
#13 | |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
![]() Цитата:
95% сбоев и ошибок приложений, находится в полу метрах от монитора
![]() |
|
![]() |
![]() |
![]() |
#14 | |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
![]() Цитата:
Код:
Предпочитаю на "ты".
|
|
![]() |
![]() |
![]() |
#15 |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
![]()
отлично, при использовании цикла с for элемент находится в ячейке 15, и оно будет после этого в холостую маслать 999985 элементов пока не закончится цикл. Представляю производительность подобной системы с таким подходам к использованию цикла.
При использовании варианта while (i<=n) and (a[i]<>b) do inc(i); нельзя определить другие условия прерывания цикла с выдачей соотвествующего сообщения. Например, прерывания юзером цикла по Application.ProcessMessages() Ваш цикл выглядит вот так: Код:
То что прервался вычисляется по IsBreak а то что i>0 и value<> начальному значению нельзя проанализировать на предмет найдено или не найдено.
95% сбоев и ошибок приложений, находится в полу метрах от монитора
![]() Последний раз редактировалось JUDAS; 11.10.2011 в 12:35. |
![]() |
![]() |
![]() |
#16 |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
![]()
TinMan, как раз сижу и пишу один АРМ.
Задача, имеется динамический массив вот таких записей Код:
Моё решение с Break: Код:
Напишите плиз с условием что на выходе должен быть индекс элемента динамического массива или -1 (если не найдено)
95% сбоев и ошибок приложений, находится в полу метрах от монитора
![]() |
![]() |
![]() |
![]() |
#17 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Досточно цикл FOR заменить на условный цикл и добавить в условие цикла тот фактор, по которому Вы выходите из цикла! например: Код:
![]() p.s. я лично ничего против BREAK не имею. Иногда его использование реально очень удобно! Последний раз редактировалось Serge_Bliznykov; 16.10.2011 в 16:00. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Матрицы в Pascal | katerina2508 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 19.04.2010 16:49 |
pascal матрицы | tanek | Помощь студентам | 4 | 04.04.2009 20:42 |
Матрицы Pascal | bpystep | Помощь студентам | 8 | 02.04.2009 19:12 |