- •3.Алгоритмизация и программирование
- •1. Понятие алгоритма, его свойства и способы описания
- •Графический способ описания алгоритма
- •3.1. Структуры алгоритмов
- •3.2. Базовая структура следования
- •3.3. Управляющая структура повторения (цикл)
- •3.4. Управляющая структура разветвления
- •Управляющие структуры разветвления с одним
3.4. Управляющая структура разветвления
У
правляющая
структура разветвления обеспечивает
выбор выполняемого действия S1 или S2 в
зависимости от некоторого условия Р.
(См блок-схему на рис. 18).
Рис. 16
Условие P может принимать только одно из двух значений истинно или ложно. Если условие Р принимает значение "истинно", то выполняется действие S1 в противном случае — S2.
В системе MathCAD значение «истинно» равно нулю. Значение «ложно» рано единице. Действия S1 и S2 называются ветвями. S1 — это ветвь, соответствующая условию «Истинно». S2 — это ветвь, соответствующая значению условия «Ложно». Управляющая структура разветвления может иметь модификацию, когда одна ветвь не содержит никаких действий. Эту модификацию называют обход: (см. рис. 19)
Условие P может состоять из одного или нескольких операций сравнения (= равно, < больше, > меньше, больше или равно, меньше или равно, ≠ не равно). Операция сравнения — это простейший вид логической операции. Если операций сравнения несколько, то они соединяются между собой логическими операциями: логическое «И» (обозначается символом ∧), логическое «ИЛИ» (обозначается символом ∨), логическое отрицание «НЕ» (обозначается символом ¬). В общем случае условие Р может представлять собой логическое выражение содержащее операции сравнения и логические операции. В сложных логических выражениях могут использоваться скобки для указания приоритета. Результатом любого логического выражения любой сложности является одно из двух значений: истинно или ложно.
Рис.
17
В
вод
символов, используемых при составлении
условия =, <, ,
>, ,
≠
,¬,
,,
производится
с палитры Boolean
(см. рис. 20) или нажатием соответственно
следующих сочетаний клавиш: [Ctrl][=],
[<], [>], [Ctrl][9],
[Ctrl][0],
[Ctrl][3],
[Ctrl][Shift][1],
[Ctrl][Shift][7],
[Ctrl][Shift][6].
Рис. 20
Все сочетания клавиш появляются во всплывающей подсказке при зависании мыши над соответствующей кнопкой палитры Boolean. Палитра Boolean вызывается командой меню View / Toolbars / Boolean.
Управляющие структуры разветвления с одним
выражением в каждой ветви
Пример 7.
Вычислить значения функции f(x), при x = a = 0, x = b = 1, x = c = 3.
На рис. 21 представлен алгоритм решения этой задачи в виде блок-схемы и в виде программы, на алгоритмическом языке.
Рис. 18
Порядок решения
1. Вводим с клавиатуры f(x) и знак присваивания
2. Щелкаем кнопку Add Line на панели Programming.
Появляется структура следования, показанная на рис. 19.
Рис. 19
3. В верхнем пустом поле щелчком мыши устанавливаем курсор и щелкаем кнопку if на панели Programming. Появляется структура, показанная на рис. 20.
Ф
рагмент
программного блока, содержащий слово
if
и поля слева и справа от него (см. рис.
20), соответствуют блок-схеме алгоритма
Обход,
показанной на рис. 19 слева. На рис. 18
поле, расположенное левее ключевого
слова if
программного блока соответствует
Действию
S1
этой блок-схемы. Поле, расположенное
правее ключевого слова if,
служит для ввода Условия
P.
Поле, расположенное ниже соответствует
оператору, следующему после структуры
разветвления.
Рис. 20
4. В поле, расположенное ниже ключевого слова if щелчком мыши устанавливаем курсор и щелкаем кнопку otherwise на панели Programming. Появляется структура, показанная на рис. 18.
Ф
рагмент
программного блока, показанный на рис.
19, соответствует блок-схеме показанной
на рис. 18. Поле расположенное левее
ключевого слова if
программного блока соответствует
действию S1
этой блок-схемы. Поле, расположенное
левее ключевого слова otherwise
программного блока, соответствует
действию S2
блок-схемы.
Рис. 21
В соответствии с условиями примера 7 заполняем пустые поля структуры рис. 19, и выводим на экран результаты вычислений, как показано на рис. 20.
Рис. 22
Из рис. 22 и 19 следует, что в соответствии с алгоритмом задачи обращение к функции пользователя (ее использование) осуществляется три раза. При каждом обращении происходит передача соответствующего значения одного из фактических аргументов в программный блок из основного документа MathCAD. При каждом обращении значение фактического аргумента подставляется на место формального. Например, при первом обращении значение фактического аргумента a = 0 подставляется на место формального аргумента x.
Контрольные вопросы
Что такое алгоритм?
Перечислите свойства алгоритма.
Перечислите и охарактеризуйте способы описания алгоритма.
Как вызвать панель Programming?
Как с помощью панели Programming ввести структуру Следование?
Как с помощью панели Programming ввести структуру разветвления Обход?
Как с помощью панели Programming ввести структуру разветвления с двумя ветвями?
Что такое арифметический цикл? Как он задается?
Как с помощью панели Programming создать структуру арифметического цикла?
Что такое рекурсия?
