Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Логические операторы. Лайфхаки. Список использованных источников




Логические операторы

Логические операторы чаще всего используются в проверке условия оператора if.

& & (логическое И)

Истина, если оба операнда истина (true).

 

if (digitalRead(2) == HIGH & & digitalRead(3) == HIGH) { // считывает состояние двух портов

//...

}

Истина если оба порта вход/выхода HIGH

 

|| (логическое ИЛИ)

Истина, если хотя бы один операнд истина, например:

 

if (x > 0 || y > 0) {

//...

}

будет верно (истина) если x или y больше 0.

 

! (логическое отрицание)

True, если операнд false, и наоборот, например:

 

if (! x) {

//...

}

условие верно, если x - false (x равно 0).

 

Важно различать логический оператор " И" - & & и битовый оператор " И" - &. Тоже самое относится к логическому оператору " ИЛИ" - || и битовому оператору " ИЛИ" - |.

 

Пример

if (a > = 10 & & a < = 20){} // условие верно, если a больше или равно 10, но меньше или равно 20

Лайфхаки

Цикл for в Си гораздо более гибкий, чем циклы for в других языках программирования, например, в Бейсике. Любой из трех или все три элемента заголовка могут быть опущены, хотя точки с запятой обязательны. Также операторы для инициализации, условия и приращения цикла могут быть любым допустимым в Си операторами с независимыми переменными, и использовать любой тип данных Си, включая данные с плавающей точкой (floats). Эти необычные для цикла for типы операторов позволяют обеспечить программное решение некоторых нестандартных проблем.

Например, использование умножения в операторе счетчика цикла позволяет создавать логарифмическую прогрессию:

for(int x = 2; x < 100; x = x * 1. 5){

println(x);

}

Генерируется: 2, 3, 4, 6, 9, 13, 19, 28, 42, 63, 94

 

Другой пример, плавное уменьшение или увеличение уровня сигнала на светодиод с помощью одного цикла for:

void loop()

{

int x = 1;

for (int i = 0; i > -1; i = i + x){

analogWrite(PWMpin, i);

if (i == 255) x = -1;         // переключение управления на максимуме

delay(10);

}

}

Список использованных источников

 

Книги Ревич Ю. В. Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера. -2-е изд., испр. – СПб.: БХВ-Петербург, 2011. 352 с.: ил. –(Электроника). ISBN 978-5-9775-0657-1. УДК 681. 3. 068, ББК 32. 973. 26-018. 1. Петин В. А. Arduino и Rasberry Pi в проектах Internet of Things. – СПб.: БХВ-Петербург, 2016. – 320с.: ил. – (Электроника). ISBN 978-5-9775-3646-2, ББК 32. 973. 26-018. 2, УДК 004. 4. Блум Джереми. Изучаем Arduino: инструменты и методы технического волшебства: Пер. с англ. -СПб.: БХВ-Петербург, 2015. – 336с.: ил. ISBN 978-5-9775-3585-4. ББК 32. 973. 26. УДК 004. Петин В. А. Проекты с использованием контроллера Arduino. — СПб.: БХВ-Петербург, 2014. — 400 с.: ил. — (Электроника). ISBN 978-5-9775-3337-9. ББК       32. 973. 26-018. 2. УДК      004. 4. Бокселл Дж. Изучаем Arduino. 65 проектов своими руками. — СПб.: Питер, 2017. — 400 с.: ил. — (Серия «Вы и ваш ребенок»). ISBN 978-5-496-02421-1. ББК 32. 973. 23-018. 2. УДК 004. 3. Рюмик С. М. 1000 и одна микроконтроллерная схема. Вып. 2/ С. М. Рюмик. - М.: Додэка –ХХI, 2011. – 400 c.: ил. + СД. – (Серия «Программируемые системы»). - ISBN 978-5-94120-270-6. ББК 32. 973. 26-04-018. 2. УДК 004. 312. 46. Петин В. А., Биняковский А. А. Практическая энциклопедия Arduino. – М.: ДМК Пресс, 2017. -152 с. ISBN 978-5-97060-344-4. УДК 681. 4: 004. 9 Arduino. ББК 32. 816с515+32. 965с515. С. Монк. Программируем Arduino. Профессиональная работа со скетчами. - СПб.: Питер 2017. ISBN 978-5-496-02385-6    

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...