
Практическая работа №3
РАЗВЕТВЛЯЮЩИЕСЯ АЛГОРИТМЫ
Цель работы:
1 Ознакомиться с логическими операциями.
2 Изучить логические операторы.
3 Научиться составлять разветвляющиеся алгоритмы.
Краткие теоретические сведения
Для реализуется возможность выбора одной альтернативы из множества при составлении блок-схем используется символ “Решение”, имеющий один вход и, в общем случае, несколько выходов. Внутри данного символа записывается логическое выражение, которое может включать в себя: имена переменных, имена подпрограмм, числа, знаки математических операций, а также операторы отношения и логические операторы.
Операторы отношения
В языке программирования Паскаль, как и в большинстве современных языков применяются следующие операторы отношения: равно (=), не равно (<>), меньше (<), меньше чем или равно (<=), больше (>), больше чем или равно (>=). Каждый из операторов отношения вырабатывает значение логического типа: “Ложь” или “Истина”. В качестве операндов могут быть значения одного из нижеприведенного типов: числа, символы, логические значения и значения перечисляемых типов.
В логическом выражении можно объединять в несколько операторов отношения, связывая их между собой логическими операторами.
Логические операторы
Логические операторы вырабатывают только два значения: “Ложь” или “Истина”. В качестве операндов могут выступать также только переменные логического типа. Основные логические операции:
НЕ (Not) – унарный оператор. Инвертирует значение логического типа;
И (And) – бинарный оператор, возвращающий значение “Истина” только в том случае, на вход подаётся два значения “Истина”, и значение “Ложь” в других случаях;
ИЛИ (Or) – бинарный оператор, возвращающий значение “Истина” в тех случаях, когда на вход подаётся хотя бы одно значение “Истина”, и значение “Ложь” в других случаях;
ИСКЛЮЧАЮЩЕЕ ИЛИ (Xor) – бинарный оператор, возвращает значение “Истина” в тех случаях, когда на вход подают разные по значениям операнды, и значение “Ложь” в остальных случаях.
Операторы выполняются в порядке старшинства. Смотри приложение № 5.
Таблица истинности для логических операторов
Таблица 3.1
P |
Q |
Not P |
P And Q |
P Or Q |
P Xor Q |
True (1) |
True (1) |
0 |
1 |
1 |
0 |
True (1) |
False (0) |
0 |
0 |
1 |
1 |
False (0) |
True (1) |
1 |
0 |
1 |
1 |
False (0) |
False (0) |
1 |
0 |
0 |
0 |
Cоставление разветвляющихся алгоритмов
В
Рисунок 3.1
Форма представления символа решения
с двумя альтернативами.
Рисунок 3.2 Форма
представления символа решения с одной
альтернативой.
При
наличии одной или двух альтернатив
используется один символ решения.
Примеры п
Рисунок 3.3 Формы
представления символа решения со
множеством альтернатив
Рис. 3.4 Применение
вложенных символов решения.
При наличии трёх и более альтернатив, количество символов решения определяется путём анализа входных данных.
Если множество входных данных – дискретно, то можно использовать один символ решения. Пример приведён на рис. 3.3.
Если возможное множество входных данных перекрывает всю числовую прямую (непрерывно), тогда количество символов решения равно количество ветвей минус единица. Данная конструкция называется вложенными символами решения. Пример приведён на рисунке 3.4.
Контрольные вопросы
1 Перечислите логические операции в порядке убывания их приоритетов.
2 Сколько символов решения потребуется использовать для выбора одной из четырёх альтернатив, если перекрывается всё множество возможных значений?
3 Сколько символов решения надо использовать для выбора одной альтернативы, если входное значение дискретно.
4 Какие графические символы обязательно должны присутствовать в любой блок-схеме.