Составные условия в разветвляющихся алгоритмах © М.Е.Макарова
Для принятия решений в зависимости от каких-либо условий. Для чего используются разветвляющиес я алгоритмы?
На прошлом уроке мы узнали: Ветвление на три и более рукава можно организовывать с помощью вложенных команд IF, нескольких неполных команд IF, а также, комбинируя обе возможности. Сравнение строк на компьютере основано на том, что каждый символ имеет свой АSСII-код, и при сравнении строк сравниваются коды составляющих их символов. Формы записи условного оператора: 1.Полная: IF логическое выражение Then оператор1 Else оператор2; 2. Неполная: IF логическое выражение Then оператор1;
В качестве условий ветвления действий в алгоритмах могут указываться любые равенства и неравенства над величинами и алгебраическими выражениями.
В операторах условного перехода можно использовать не только простые, но и так называемые составные (или сложные) условия Условия такого типа называют логическими выражениями
Самое сложное логическое высказывание можно выразить с помощью трех основных логических операций: НЕ, И, ИЛИ.
Унарная операция НЕ – логическое отрицание. Смысл этой операции можно выразить словами: "Неверно, что", то есть она меняет значение истина на ложь и наоборот. На слайде приведена таблица истинности операции НЕ. Пример: НЕ (A > 0) Это логическое выражение означает то же самое, что и A 0.
Операция логического умножения И применяется тогда, когда переменная должна удовлетворять одновременно двум более простым условиям. P, Q – простые условия
Операция логического сложения ИЛИ применяется тогда, когда переменная должна удовлетворять хотя бы одному из двух и более простых условий
Пример 1 Рассмотрим примеры: Запишем логическое выражение для случая т. X принадлежит отрезку [-6, 6] : Математическая запись: -6 Х 6. Логическое выражение: (Х -6) И (х 6) Запись выражения в Паскале: (Х >= -6) AND (х
Решение Пусть переменная a обозначает стаж кандидата, а b – его возраст. Тогда должно соблюдаться условие: ( a >= 5) and (b = 5) and (b
Решение Program Pr4; Var a, b, c: real; Begin WriteLn (Задайте величины углов a, b) ; ReadLn (a, b); C:=180-a-b; If (a > 90) or (b > 90) or (c > 90) Then WriteLn ( Треугольник тупоугольный) Else If (a = 90) or ( b = 90) or (c = 90) Then Writeln (Треугольник прямоугольный) Else Writeln (Треугольник остроугольный); End. Пример 4 Написать алгоритм для определения вида треугольника (остроугольный, прямоугольный, тупоугольный), если даны величины двух его углов А и В в градусах. A B C A B C A B C
В логических выражениях логические операции могут связывать несколько логических переменных, например: (Х < 0) И (Y < 0) И (Z < 0) (Х < 0) ИЛИ (Y < 0) И (Z < 0) Для изменения порядка операций можно использовать круглые скобки.
3. ((2 =3)) OR (15>25). Установить, истинны или ложны следующие условия: 1. NOT (( 6 8)), 2. (A 0),
2. Написать программу, которая определяет, принадлежит ли точка с координатами (X, Y) заштрихованной области, которая описывается системой неравенств: Входные данные: координаты точки (X, Y) Результат: слова «Да» или «Нет»
Program Pr7; Uses Crt; Var x, y: Real; Begin ClrScr; Writeln(Введите координаты точки x, y); Readln (x, y); If (abs(x)+abs(y) =1) Then writeln (Да) Else writeln (Нет); Readln; End.
Примеры программ: Ракета запускается с точки на экваторе Земли со скоростью V(км/с) в направлении движения Земли по орбите вокруг Солнца. Каким будет результат запуска ракеты в зависимости от скорости V?
Program PR5; Var V : real; Begin WriteLn (Задайте значение скорости); Readln ( V ); If V < 7.8 Then WriteLn(Ракета упадет на Землю); If ( V >=7.8) and ( V =11.2) and ( V 16.4 then writeLn (Ракета покинет пределы Солнечной системы); Readln; end. V< 7.8 Ракета упадет на Землю 7.8 V
Практическая работа: Составить программу, которая определяет, являются ли разные точки с координатами (X1,Y1) и (X2, Y2) симметричными относительно осей координат или начала координат. -x-xx y -y-y Программу составить двумя способами: 1.С использованием составных условий. 2.Без использование составных условий. Проверить правильность программ для следующих значений параметров: А) X1= -1, Y1=6, X2=1, Y2=6. Б) X1=6, Y1=7, X2=1, Y2=6.
Итоги урока: На этом занятии мы познакомились с логическими операциями И, ИЛИ, НЕ. Научились составлять логические выражения и применять их в качестве сложных условий в команде сравнения IF.
Домашнее задание 1. Написать программу, которая спрашивает «Который час?» и, в зависимости от введенного времени, выводит на экран приветствие: «Доброе утро», «Добрый день», «Добрый вечер», «Спокойной ночи». 2. Написать программу, которая определяет, принадлежит ли точка с координатами (X, Y) заштрихованной области, ограниченной точками (X1, Y1) (X2, Y2) (X1, Y1) (X2, Y2) Входные данные: координаты точек (X, Y), (X1, Y1), (X2, Y2) Результат: слова «Да» или «Нет».