praktika5_223_226
.pdfПрограммирование разветвляющихся алгоритмов
Отличие: наличие нескольких возможных ветвей
решения Выбор конкретной ветви зависит от выполнения
(или не выполнения) заданных условий на значения переменных алгоритма
Значение переменной y зависит от значений переменной x и определяется выражением:
Пример |
x2 , |
если x ≤ 0; |
|||
|
|
y = |
|
|
|
|
|
|
|
|
|
|
|
|
x, |
в противном случае. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Блох-схема:
ДА (1) |
НЕТ (0) |
x<=0?
y=x2 |
y=sqrt(x) |
||
|
|
|
|
|
|
|
|
|
|
|
|
Каким образом подобные алгоритмы реализуются
вMathCAD?
Спомощью:
•конструкций, проверяющих выполнение
заданных условий
• конструкций, выбирающих нужную ветвь вычислений в зависимости от результатов проверки заданных условий
ДА (1) |
|
|
|
НЕТ (0) |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
Для проверки заданных условий в MathCAD используются:
•логические отношения
•логические операции
•логические выражения
Горячие клавиши операций отношения
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Знаки |
Клавиши |
|
|
|
операции |
|
|
|
|
|
< |
[<] |
|
|
|
|
|
|
|
|
|
|
|
≤ |
[Ctrl] + [9] |
|
|
|
> |
[>] |
|
|
|
|
|
≥ |
[Ctrl] + [0] |
|
|
|
= |
[Ctrl] + [=] |
|
|
|
|
|
≠ |
[Ctrl] + [3] |
|
|
|
|
|
|
|
|
Внимание! Знак операции сравнения = не является знаком вывода значений переменных =. Знак операции = имеет больший размер и более жирное начертание
Логические выражения (условия)
Логические выражения строятся из операндов, операций отношения, логических операций и круглых скобок
Результатом вычисления логического выражения является
одно из двух логических значений: TRUE или FALSE (1 либо 0)
В качестве операндов используются константы, переменные и арифметические выражения.
Оператор отношения
Пример:
A > B
Операнды (переменные)
Пример
Внимание! Использование оператора вывода позволяет сразу увидеть результат вычисления
Логические операции
Название операции |
ЗНАК |
Логическое отрицание (NOT)
Логическое |
ИЛИ (OR) |
|
|
|
|
Логическое |
И (AND) |
|
|
|
|
Исключающее ИЛИ (XOR) |
|
Логические операции
NOT ← |
AND |
OR |
XOR |
|
|
|
|
|
|
|
|
0← = 1 |
0 0 = 0 |
0 0 = 0 |
0 0 = 0 |
1← = 0 |
0 1 = 0 |
0 1 = 1 |
1 0 = 1 |
|
1 0 = 0 |
1 0 = 1 |
0 1 = 1 |
|
1 1 = 1 |
1 1 = 1 |
1 1 = 0 |
|
|
|
|
Результат выполнения логических операций
Логические операции:
Пример: x [a, b]
(x>=a) Λ (x<=b)
a b
x
x [ a , b ] |
a |
b |
x |
|
|
|
(x<a) V (x>b) или ← (x>=a) Λ (x<=b)
Приоритет операций: 1. NOT
2.AND, OR, XOR
3.Операции отношения.
Поскольку отношения имеют самый низкий приоритет, то их
! |
необходимо заключать в круглые скобки |
|