Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];

Вниз

люди, как выйти из цикла?   Найти похожие ветки 

 
tester1   (2002-12-24 11:09) [0]

допустим у меня есть цикл. Как только сработало какое-то условие, в котором стоит инкремент, нужно сразу выйти из цикла.

for j:=0 to 10 do begin m:=0; n:=0;
m:=j; n:=-j;
if aaa3[i+m,e+h]<>0 then begin h:=h+1;
end;
if aaa3[i+n,e+h]=0 then begin h:=h-1;
end;
end;


как это реализовать?

thanks!


 
MXA   (2002-12-24 11:13) [1]

break;


 
tester1   (2002-12-24 11:34) [2]

спасибо! я в дельфях начинающий...


 
Внук   (2002-12-24 11:34) [3]

Операторы break, continue, равно как и goto и процедуру exit можно без ущерба убрать из программы при грамотном формулировании алгоритма :)


 
Novice   (2002-12-24 11:39) [4]

Внук © (24.12.02 11:34)

Как можно эффективно выйти из группы вложенных циклов без goto?


 
Snap   (2002-12-24 11:40) [5]

Флаг поставить. А ещё можно каждый цикл в отдельную процедуру, и оттуда по exit :)


 
Smithson   (2002-12-24 11:41) [6]

Это если интересует красота кода паскаль, а не быстрота и эффективность...


 
Snap   (2002-12-24 11:42) [7]

А какже быстро?


 
Внук   (2002-12-24 11:53) [8]

Не хочу спорить, тема стара как мир. Скажу только, что всегда обходился без них. И скорость непричем. А борцам за скорость советую тогда все рекурсии сводить в циклам :))


 
Snap   (2002-12-24 11:55) [9]

Борцам за скорость лучше учить ассемблер. И все рекурсии сводить к циклам :))))


 
myor   (2002-12-24 13:32) [10]

>спасибо! я в дельфях начинающий...

это паскаль!

>А какже быстро?


for j:=0 to 10 do
begin
m:=0; // зачем, если дальше идет присвоение
n:=0; //
m:=j;
n:=-j;
if aaa3[i+m,e+h]<>0
then
begin
...
h:=h+1;// inc(h)
...
break; // выход после инкремента
end;
if aaa3[i+n,e+h]=0
then
begin // если у тебя одно действие (только декремент),
// зачем begin...end
h:=h-1; // dec(h)
end;
end;



 
BALU1111   (2002-12-24 14:24) [11]

Не лучше ли проверять условие, и при при нужном завершить цикл.


 
OlDemon   (2002-12-24 14:59) [12]

2 tester> используй while или repeat грамотнее будет :)))



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.037 c
4-15345
Cosmic
2002-11-17 13:03
2003.01.06
Как иконку свернуть в трей?


14-15220
Calm
2002-12-15 16:27
2003.01.06
Трассировка. Как выполнить прогу до конца метода?


3-14952
Scorp
2002-12-14 22:52
2003.01.06
Програмный запуск файла BdeInst.dll


8-15168
Dark Elf
2002-07-04 19:59
2003.01.06
Документация на GLScene


14-15210
Олег777
2002-12-18 21:03
2003.01.06
Подскажите пожалуйста....





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский