Тема: Блок схемы. Приложение. Оператор if/else
Тема: Блок схемы. Цель: Научить представлять алгоритмы работы программы в виде блок схем Теоретическая часть:
Очень удобно алгоритмы представлять в виде блок схем, что собственно и делают многие начинающие программисты, это помогает вам понять логику работы любой программы. Ниже представлены элементы блок схем
Для записи алгоритма любой сложности достаточно трех базовых структур: следование - обозначает последовательное выполнение действий Рисунок 82 (а) ветвление - соответствует выбору одного из двух вариантов действий Рисунок 82 (б) цикл-пока - определяет повторение действий, пока не будет нарушено условие, выполнение которого проверяется в начале цикла Рис. 12 (в) . Рис. 120‑ 1 пример структуры алгоритмов. Кроме этого, при описании алгоритмов используются дополнительные алгоритмические структуры, которые возникли от основных, то есть используя этот графический язык вы можете быстро и доступно для других представить работу своей программы. Вот некоторые примеры Рис. 13. Давайте посмотрим принцип их работы, и убедимся насколько это удобный инструмент Рис. 0‑ 2 Реализация условных действий применяя блок схемы.
Пример 1. Линейный алгоритм. Алгоритм вычисления значения выражения K=3b+6а (рис. 14).
Рисунок 14 Пример блок-схемы линейного алгоритма. Рисунок 15 – Пример блок-схемы разветвляющегося алгоритма. Рисунок 16 - Пример блок-схемы. Циклического алгоритма. Пример блок схемы разветвляющегося алгоритма. Рис. 15. Блок-схема разветвляющегося алгоритма.
Рис. 16. Блок-схема циклического алгоритма.
Приложение Оператор if/else Оператор If if (условие) и ==, ! =, <, > (операторы сравнения)
if, используется в сочетании с операторами сравнения, проверяет, достигнута ли истинность условия, например, превышает ли входное значение заданное число. Формат оператора if следующий:
if (someVariable > 50) { // выполнять действия } Программа проверяет, значение someVariable больше чем 50 или нет. Если да, то выполняются определенные действия. Говоря иначе, если выражение в круглых скобках истинно, выполняются операторы внутри фигурных скобок. Если нет, программа пропускает этот код.
Скобки после оператора if могут быть опущены. Если так сделано, только следующая строка (обозначенная точкой с запятой) становится оператором, выполняемым в операторе if.
if (x > 120) digitalWrite(LEDpin, HIGH);
if (x > 120) digitalWrite(LEDpin, HIGH);
if (x > 120){ digitalWrite(LEDpin, HIGH); }
if (x > 120){ digitalWrite(LEDpin1, HIGH); digitalWrite(LEDpin2, HIGH); } // все правильно Выражения, которые вычисляются внутри круглых скобок, могут состоять из одного или нескольких операторов.
Операторы сравнения x == y (x равно y)
x! = y (x не равно y)
x < y (x меньше чем y)
x > y (x больше чем y)
x < = y (x меньше чем или равно y)
x > = y (x больше чем или равно y)
Внимание!
Следите, чтобы случайно не использовать знак простого равенства (например, if (x = 10)). Знак простого равенства – это оператор присваивания, и устанавливает значение х равное 10 (заносит значение 10 в переменную х). Вместо этого используйте знак двойного равенства (например, if (x == 10)), который является оператором сравнения и проверяет, х равен 10 или нет. Последнее из двух выражений будет истинно, только если х равен 10, но предыдущее выражение всегда верно.
Это связано с тем, что С вычисляет выражение if (x=10) следующим образом: значение 10 присваивается х (помним, что простой знак равенства – это оператор присваивания), таким образом, х теперь равен 10. Затем условный if вычисляет 10, которое уже равно ИСТИНА, так как любое число, неравное 0, равно ИСТИНА. Поэтому if (x=10) будет всегда иметь логическое значение ИСТИНА, которое не является желательным результатом, когда используется оператор if. Вдобавок, переменной х будет присвоено значение 10, что также не является желаемым действием.
If также может быть частью разветвленной управляющей конструкции с использованием if... else
Оператор If.. else Конструкция if.. else предоставляет больший контроль над процессом выполнения кода, чем базовый оператор if, позволяя осуществлять несколько проверок, объединенных вместе. Например, аналоговый вход может быть проверен и выполнено одно действие, если на входе меньше 500, или другой действие, если на входе 500 или больше. Код при этом может выглядеть так:
if (pinFiveInput < 500) { // действие A } else { // действие B } Другой способ создания переходов со взаимоисключающими проверками использует оператор switch case.
Else позволяет делать отличную от указанной в if проверку, чтобы можно было осуществлять сразу несколько взаимоисключающих проверок. Каждая проверка позволяет переходить к следующему за ней оператору не раньше, чем получит логический результат ИСТИНА. Когда проверка с результатом ИСТИНА найдена, запускается вложенная в нее блок операторов, и затем программа игнорирует все следующие строки в конструкции if.. else. Если ни одна из проверок не получила результат ИСТИНА, по умолчанию выполняется блок операторов в else, если последний присутствует, и устанавливается действие по умолчанию.
Отметим, что конструкция else if может быть использована с или без заключительного else и наоборот. Допускается неограниченное число таких переходов else if.
if (pinFiveInput < 500) { // выполнять действие A } else if (pinFiveInput > = 1000) { // выполнять действие B } else { // выполнять действие C } Другой способ создания переходов со взаимоисключающими проверками использует оператор switch case.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|