Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.30;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.013 c
14-97037
Snake2000
2003-01-13 15:34
2003.01.30
Не могу подключить сетевой диск


1-96848
msoftware
2003-01-19 05:17
2003.01.30
Работа с TClipBoard


14-96972
vic_774N
2003-01-12 23:10
2003.01.30
Кто использовал кoмпоненты ZipTV ?


3-96611
Zn
2003-01-13 17:41
2003.01.30
Ошибка при работе с параметром в ADODataSet.


3-96602
Chubais
2003-01-13 14:47
2003.01.30
Перепутываются строки в таблицах