Форум: "Основная";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];
ВнизDreak Найти похожие ветки
← →
gsu (2003-01-21 15:01) [0]У мя сложная система циклов, обусловленная применением нетривиальных методов.
Допустим, я нахожусь на 5 цикле вложенности и мне необходимо отBreakнуться на 3 уровень.
Пройдет ли такая конструкция:
Break;
Break;
и, главное, имеется ли более правильный путь решения данной задачи ?
← →
gsu (2003-01-21 15:02) [1]Dreak в смысле Вreak
← →
Skier (2003-01-21 15:03) [2]>gsu
Goto должен устроить...
← →
Smithson (2003-01-21 15:04) [3]goto?
← →
gsu (2003-01-21 15:07) [4]>> Skier ©
Спасибо, но бытует мнение, что применение данного оператора неправильно. Кстати какие у вас на этот счет мнения ?
← →
gsu (2003-01-21 15:07) [5]Торможу, масло масленное (-:|~
← →
Y (2003-01-21 15:09) [6]>система циклов, обусловленная применением нетривиальных методов
Может, методы пересмотреть? :)
или исп-ть доп.условие и цикл While
← →
Skier (2003-01-21 15:11) [7]>gsu
Мнения есть всякие...но сам дедушка Borland не стесняеться
использовать goto.
Например загляни в ...:\...\Source\Decision Cube\MXDSSQRY.pas
← →
gsu (2003-01-21 15:11) [8]нет методы, пересмотреть, конечно, можно (я бы так и сделал), но ...
← →
Kair (2003-01-21 15:11) [9]>gsu © (21.01.03 15:07)
>>> Skier ©
>Спасибо, но бытует мнение, что применение данного оператора >неправильно. Кстати какие у вас на этот счет мнения ?
Применение данного оператора считается дурным тоном программирования.
← →
Smithson (2003-01-21 15:13) [10]У кого считается?
← →
REA (2003-01-21 15:14) [11]Можно вынести циклы в локальную функцию и из середины сделать Exit. Вылетишь соответственно из всех циклов функции, но надо еще память почистить - кажется она чистится в блоках finally при Exit.
← →
Игорь Шевченко (2003-01-21 15:14) [12]Применение логики из 5 вложенных циклов тоже считается дурным тоном.
Goto здесь - рулез фарева!
> Применение данного оператора считается дурным тоном программирования
Если к месту, то не считается.
← →
gsu (2003-01-21 15:15) [13]>> У кого считается?
Кстати, у нас в универе так считалось
← →
Kair (2003-01-21 15:15) [14]>Smithson © (21.01.03 15:13)
>У кого считается?
Не помню. Я это в какой-то книге прочитал.
← →
Игорь Шевченко (2003-01-21 15:16) [15]gsu © (21.01.03 15:15)
Верующий ? :-)
← →
gsu (2003-01-21 15:17) [16]>> Применение логики из 5 вложенных циклов тоже считается дурным тоном
Ничего не могу поделать, честно, была стройная система, а сейчас потребовалось ввести в низ еще цикл и -> выйти надо из 2 сразу. А времени переделать ..., но я не виноват !
← →
jee (2003-01-21 15:17) [17]Да уж, я не ожидал такого количества goto. Правда у борланда только в одном вышеуказанном файле. Надо заметить там действительно немалая вложенность. Зато в Rx,Fastreport-е и LMD ребята совсем не стесняются. Я в шоке!!!
← →
Skier (2003-01-21 15:18) [18]Ну началось ! :))
← →
Smithson (2003-01-21 15:20) [19]Дикие вы люди. Когда мне говорят о неприличности goto, я сразу вспоминаю ассемблер. И долго смеюсь.
← →
gsu (2003-01-21 15:21) [20]>> Игорь Шевченко ©
У мя ранее ни одного go to не было. Наверное, надо с чего нибудь начинать (-:|~
← →
REA (2003-01-21 15:22) [21]Я уже молчу что Борланд в системных файлах (типа system.pas) с именами делает и функциями - шифровка просто.
← →
gsu (2003-01-21 15:22) [22]>> Smithson ©
Дикие, но обучаемые. А поподробней ...
← →
Smithson (2003-01-21 15:24) [23]Поподробнее.
Листинг на ассемблере состоит на 20% из jmp (тот же goto, называется по другому) и условных переходов (if then goto).
← →
gsu (2003-01-21 15:25) [24]>> Листинг на ассемблере состоит на 20% из jmp (тот же goto, называется по другому) >> и условных переходов (if then goto)
это я знаю, спасибо
← →
uw (2003-01-21 15:32) [25]Я посмотрел свой проект, в нем 34000 строк. Goto использую 2 раза. Один раз лень было придумывать переменную, второй раз - выбираюсь из внутреннего цикла. И не стыдно.
← →
gsu (2003-01-21 15:39) [26]>> uw ©
мне еще пару тысяч не хватает (-:|~
← →
Anatoly Podgoretsky (2003-01-21 15:39) [27]Smithson © (21.01.03 15:24)
С чего бы это равентство между системой команд процессора и язывами программированя, в ассемблере нет GOTO, только мнемокоды инструкций процессора
← →
Smithson (2003-01-21 15:41) [28]Во что что транслируется язык прогрммирования?
Но это уже флуд, так что sorry.
← →
han_malign (2003-01-21 15:48) [29]goto является неприличным в блочно-структурированном программировании, но в некоторых конкретных случаях, в однопоточных приложениях, позволяет обойтись без применения конечных автоматов и лишних дублирующих проверок.
Example(утрированно):
1.
b2:=false;
while(eval1 and not b2)do begin
b2:=eval2;
end;
if(b2)then ...;
или
2.
while(true)do begin
if(not eval1)then goto skip1;
if(eval2)then goto do1;
end;
do1: ...
skip1:
- в последнем случае на одно вычисление логического выражения, две проверки условия, на один или два(в случае (not b1)) прыжка и, как минимум, на два присваивания - меньше, зато первый - структурный...
← →
gsu (2003-01-21 15:52) [30]for (-:|~
← →
bis (2003-01-21 16:08) [31]А чем по вашему мнению являются exception? Это тоже можно сказать однонаправленные прыжки, причем не только из каких-то циклов, а намного дальше.
Goto не виноват, что с помощью него можно делать неправильные с точки зрения структурного программирования вещи. Если уж никак и
он сойдет (не помню правда, когда я последний раз его использовал)
И нож холодное оружие и масло на булочки им можно мазать)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.008 c