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

Тема: Блок схемы. Приложение. Оператор if/else




Тема: Блок схемы.

Цель: Научить представлять алгоритмы работы программы в виде блок схем

Теоретическая часть:

 

Очень удобно алгоритмы представлять в виде блок схем, что собственно и делают многие начинающие программисты, это помогает вам понять логику работы любой программы.

Ниже представлены элементы блок схем

Начало работы Этим фрагментом обозначается начало работы программы то есть точка входа в функцию программу и тд
ввод данных Оператор определяет какие данные мы отправляем на вход программе. В нашем случае это могут быть различные переменные
Выполнение операций над данными В блоке операций обычно размещают то что мы делаем с данными (переменными): присваиваем значение суммируем и тд
Блок, показывающий условие Блок в виде ромба. Это и является условным обозначением нашего условия. Блок имеет 2 выхода), на них подписывается результат сравнения — «да/нет».
Начало и конец цикла Символы начала и конца цикла содержат имя и условие. Условие может отсутствовать в одном. Расположение условия, определяет тип оператора, соответствующего символам на языке высокого уровня — оператор с предусловием (while) или постусловием (do … while).
Подготовка данных Символ «подготовка данных» в произвольной форме задает входные значения. Используется обычно для задания циклов со счетчиком.
Соединитель В случае, если блок-схема не умещается на лист, используется символ соединителя, отражающий переход потока управления между листами. Символ может использоваться и на одном листе, если по каким-либо причинам тянуть линию не удобно.
Комментарий Комментарий может быть соединен как с одним блоком, так и группой. Группа блоков выделяется на схеме пунктирной линией.

 

 

Для записи алгоритма любой сложности достаточно трех базовых структур:

следование - обозначает последовательное выполнение действий Рисунок 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...