Цикл while
Описание:
Цикл while позволяет выполняться сколь угодно долго время вплоть до бесконечности, пока условие внутри () не станет ложным. Что- В теле цикла что-то должно менять значение, иначе из кцикла мы никогда не выйдем.
Синтаксис:
while(expression){
// statement(s)
}
Параметры:
expression - Выражение, возвращающее true или false
Пример:
var = 0;
while(var < 200){
// Делаем что-то повторяющееся 200 раз
var++;
}
Do - while
Цикл do работает по тому же принципу чтои while, однако сначала выполняется тело цикла, а уже потом проверяется условие. Таким образом, цикл выполнится у нас хотя бы один раз.
do
{
// statement block
} while (test condition);
Пример:
do
{
delay(50); // wait for sensors to stabilize
x = readSensors(); // check the sensors
} while (x < 100);
Break
break используется для выхода из циклов do, for, или while. Он также используется для выхода из switch.
Пример:
for (x = 0; x < 255; x ++)
{
digitalWrite(PWMpin, x);
sens = analogRead(sensorPin);
if (sens > threshold){ // bail out on sensor detect
x = 0;
break;
}
delay(50);
}
Continue
continue пропускает текущую итерацию циклов (do, for, or while).
Пример:
for (x = 0; x < 255; x ++)
{
if (x > 40 && x < 120){ // create jump in values
continue;
}
digitalWrite(PWMpin, x);
delay(50);
}
Return
Прекращает выполнение функции и возвращает значение в родительскую функцию, если таковое имеется.
Синтаксис:
return;
return value; // both forms are valid
Параметры:
value: переменная любого типа или константа
Пример:
Фукнция сравнивающая входное напряжение с определенным значением.
int checkSensor(){
if (analogRead(0) > 400) {
return 1;
else{
return 0;
}
}
Весь программный код, написанный после оператора return; будет висеть мертвым грузом в памяти программ, поскольку никогда не будет выполнен.
void loop(){
// гениальный код
return;
// бесполезный код
//он никогда не познает, что такое жизнь...
}
Goto
Переносит точку выполнения программы к определенной метке
Ситаксис:
label:
goto label; // посылает программу к нашей метке
Совет:
Использование этого оператора в настоящее время является дурным тоном программирования, хотя и делает некоторые программы более легкими. Однако, легкость алгоритма предоставляет возможную невозможность ( :) ) последующего дебаггинга такой программы.
Одним из вариантов использование оператора goto является выход из вложенных циклов, к примеру:
for(byte r = 0; r < 255; r++){
for(byte g = 255; g > -1; g--){
for(byte b = 0; b < 255; b++){
if (analogRead(0) > 250){ goto bailout;}//как только выполняется условие бежим из этой тьма-тараканьи...
// больше параметров ...
}
}
}
bailout;
Дата добавления: 2015-03-23; просмотров: 669;