
- •Технология программирования ветвящихся процессов
- •Программирование простых ветвлений
- •Программирование ветвления с элементарным условием
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Оператор безусловной передачи управления
- •Правила составления и использования
- •Операторы условной передачи управления
- •Укороченный оператор условного перехода
- •Правила записи и выполнения
- •Полный оператор условного перехода
- •Правила записи и использования
- •Составление программы по условно-линейной схеме варианта 1
- •Составление программы по условно-линейной схеме варианта 2
- •Программирование ветвлений с составными условиями
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Правила составления и выполнения логических выражений
- •Составление программы по условно-линейной схеме варианта 1
- •Составление программы по условно-линейной схеме варианта 2
- •Программирование сложных ветвлений
- •Программирование сложных многоузловых ветвлений
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Программа по левой условно-линейной схеме
- •Программа по правой условно-линейной схеме
- •Программирование сложных однооузловых ветвлений
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Правила составления и использования
- •Программа по левой условно-линейной схеме «множественное ветвление»
- •Программа по центральной условно-линейной схеме «множественное ветвление»
- •Программа по правой условно-линейной схеме «последовательное ветвление на два»
- •Заключение
- •Вопросы для контроля
Правила составления и выполнения логических выражений
-
В качестве операндов А, В, С, …, Z могут использоваться константы, переменные, выражения любых типов. Результат вычисления каждого операнда оценивается как ИСТИНА (единица, не ноль) или ЛОЖЬ (ноль).
-
Выполнение простейшего логического выражения осуществляется слева направо. Если значение первого операнда позволяет определить результат операции, второй операнд не вычисляется.
-
Результат выполнения логической операции – целая константа 1 (ИСТИНА) или 0 (ЛОЖЬ). Так, для операции && (И) результат есть 1, если оба операнда ненулевые. Если один из операндов – ноль, результат тоже 0. Например, в операции х && у (х=1.2, у=0.7) результат есть 1, т.к. оба операнда не нулевые. Если же х=0, то независимо от значения у результатом вычисления будет 0. Для операции | | (ИЛИ) результат есть 1, если любой (оба) из операндов имеет ненулевые значения. В противном случае (оба операнда – нулевые) результат – 0.
-
Составные логические выражения могут использоваться в качестве выражения P в условных операторах if.
-
При выполнении составных логических выражений в Си/Си++ существует следующая иерархия:
-
отрицание;
-
арифметические операции;
-
операции отношения;
-
операция «И»;
-
операция «ИЛИ».
-
В сложных составных выражениях одноранговые операции И (ИЛИ) выполняются слева направо. При этом результат проверки первой (предыдущей) становится логическим операндом для второй (последующей). Например, в выражении a<b || d>k || z!=5 сначала определяются результаты проверки операций отношения (a<b, d>k, z!=5), а затем логическое выражение (две операции ИЛИ) пооперационно слева направо.
-
При необходимости нарушить порядок выполнения операций отношения используют, как и в арифметическом выражении, круглые скобки.
Соответствие записей некоторых простых и составных логических выражений в математике и на языке программирования Си/Си++ демонстрируются типовыми примерами в табл. 4.6.
Таблица 4.6
Обозначение в математике |
Обозначение в Си/Си++ |
|
! a = = b |
|
a>0 && c<=2 |
|
b<c | | d>0 |
|
0.5<x && x7.5 |
Окончание табл. 4.6
Обозначение в математике |
Обозначение в Си/Си++ |
|
x<=0.5 | | 7.5<x |
|
x<0 && y<0 | | x>0 && y<0 |
|
(a<=2 | | 3<=a) && (a<=8 | | 9<=a) |
|
h= =‘G’ || h= =‘g’ || h= =‘П’ || h= =‘п’ |
С учетом изложенного, осуществим программирование задачи о положении точки. Идентификация переменных представлена в табл. 4.7.
Таблица 4.7
Обозначения в алгоритме |
X |
Y |
N |
Обозначения в программе |
x |
y |
n |
На основании условно-линейных схем алгоритма, правил записи логических выражений и таблицы идентификации, составим программы решения с использованием укороченного и полного условных операторов.