Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Описание: Добавление оператора break для прерывания циклов loop while for
Kibor
Отправлено: 12 Июля, 2018 - 14:39:19
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Добавлен оператор break
Его назначение прерывать циклы loop, looptime, while и for

Оператор break прерывает цикл в теле которого он находится, передавая управление на строку находящуюся непосредственно после прерванного цикла.

Примеры и пояснения
Применение break в
CODE:
loop()
{
break;
}

равносильно
CODE:
loop()
{
goto a;
}
a:;


Применение break в
CODE:

while(1==1)
{
break;
loop()
{
break;
}
}

равносильно
CODE:

while(1==1)
{
goto b;
loop()
{
goto a;
}
a:;
}
b:;


Применение break в
CODE:

for (int n=0; n<5; n++)
{
while(1==1)
{
break;
loop()
{
break;
}
}
if (n==2) break;
}

равносильно
CODE:

for (int n=0; n<5; n++)
{
while(1==1)
{
goto b;
loop()
{
goto a;
}
a:;
}
b:;
if (n==2) goto c;
}
c:;
 
 Top
Dantes3000
Отправлено: 12 Июля, 2018 - 20:44:46
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1465
Дата рег-ции: Июнь 2016  
Репутация: 58




Превосходно
 
 Top
AdryV
Отправлено: 13 Июля, 2018 - 15:11:43
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 449
Дата рег-ции: Май 2016  
Репутация: 11




Kibor , эммм тут вы написали что-то насчет конструкции цикла и скорости... меня интересует: это относится к самой логике цикла который в примере или к оператору break?...
 
 Top
Kibor
Отправлено: 13 Июля, 2018 - 16:02:00
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




AdryV , ну лишняя проверка равенства в while которая берет на себя одну функцию сделать замкнутый цикл не рационально.
В кибор для этого есть loop, который по производительности равен

CODE:

a:

goto a;


а while
CODE:

a: if (1==1)
{


goto a;
}


break сам по себе быстрый, это goto
 
 Top
Skycrew
Отправлено: 14 Июля, 2018 - 13:02:25
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 123
Дата рег-ции: Июль 2014  
Репутация: 0




Полезно
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« О программе Кибор »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by