Использование составных логических выражений в условном операторе Паскаля
2 Логические величины В основе логической величины лежит высказывание Высказывание – это повествовательное предложение, в котором что-либо утверждается или отрицается. По поводу любого высказывания можно сказать, истинно оно или ложно. Сейчас идет урок Информатика. Х = Сейчас идет урок Информатика
3 Логическое выражение – это простое или сложное высказывание, представленное в символической форме. Примеры логических выражений арифметические выражения, соединенные операциями сравнения: =, , >, =,Y, принимает значения ИСТИНА или ЛОЖЬ при различных значениях X и Y
4 Логическая переменная – символически обозначенная логическая величина, которая может принимать значение TRUE (ИСТИНА) или FALSE (ЛОЖЬ) B – логическая переменная. Принимает значения TRUE, FALSE На языке программирования Паскаль описывается: Var B:boolean; B:=X*X+5>Y
5 Логические выражения Простые – например, алгебраические выражения, соединенные операциями сравнения (=; ; >; >=;
6 Логические операции Операция AND для двух логических значений дает TRUE только тогда, когда оба значения истинны. Операция OR для двух логических значений дает FALSE только тогда, когда оба значения ложны. Операция отрицания NOT для одного логического значения. Дает FALSE, если значение истинно, и наоборот.
7 II – *; /; DIV; MOD; AND (; ) – скобки изменяют порядок выполнения операций. Порядок выполнения операций – I – NOT III – +; -; OR; XOR IV – =; ; >; >=;
8 Записать логические выражения, которые имеют значение «истина» только при выполнении указанных условий: a) X > 2 и y > 3; b) X > 1 или y > -2; c) X > 3 или x < -1; d) Неверно, что x > 0 и x < 5; e) 10 < x 20; f) 0 < y 4 и x < 5;
9 Записать условие, которое будет истинным когда: a) Каждое из чисел А и В больше 100; b) Хотя бы одно из чисел А и В положительно; c) Только одно из чисел Х и Y меньше 20; d) Хотя бы одно из чисел Х и Y равно 0; e) Только одно из чисел А, В и С меньше 50; f) Хотя бы одно из чисел А,В,С отрицательно; g) Только одно из чисел Х и Y четное; h) Целое А кратно двум или трем; i) Целое А не кратно трем и оканчивается нулем.
Пример 1 Рассмотрим примеры: Запишем логическое выражение для случая т. X принадлежит отрезку [-6, 6] : Математическая запись: -6 Х 6. Логическое выражение: (Х -6) И (х 6) Запись выражения в Паскале: (Х >= -6) AND (х
Решение Пусть переменная a обозначает стаж кандидата, а b – его возраст. Тогда должно соблюдаться условие: ( a >= 5) and (b = 5) and (b
Решение задач 12
Принадлежит ли точка кругу Если точка лежит на окружности, то расстояние от этой точки до начала координат равно радиусу. Если точка лежит внутри круга, то расстояние от неё до начала координат меньше радиуса Если точка вне круга – расстояние больше радиуса Расстояние от любой точки до начала координат определяем по теореме Пифагора: S 2 =X 2 +Y 2 0,0 R Y X Y S
Принадлежит ли точка кругу ДА Вывод No Вывод Yes НЕТ Ввод X, Y, R X 2 +Y 2
X*X + Y*Y
(X*X + Y*Y =1) 2 1
(X*X + Y*Y =0) OR (Y = -X/2 - 1) AND (X
1 1 (abs(X)
12
Y=x/2 1
1 1 Y = -x + 1 Y = x + 1 Y = -x - 1 Y = x - 1
1 Y= X Y= - X
24 Определить принадлежит ли точка с координатами (х, у) (вводятся с клавиатуры) заштрихованной области.. Program tochka; Var x,y: integer; Begin Write('x,y= ');Read(x,y); if ((sqr(x) + sqr(y))0) and (x 0)) then write('Да') else write('Нет'); end.
25 Определить принадлежит ли точка с координатами (х, у) (вводятся с клавиатуры) заштрихованной области.. VAR X,Y: Real; B: boolean; BEGIN Write('X= '); Readln(X); Write('Y= '); Readln(Y); Write(R= '); Readln(R); B:=((X>=0) and (Y>=0) and (X0) and (Y =-R) and (Sqrt(sqr(X-R)+sqr(y+R))>=R)) or ((X 0) and (X>=-R) and (Y =R)); Writeln(B); END.
Домашнее задание 1. Написать программу, которая спрашивает «Который час?» и, в зависимости от введенного времени, выводит на экран приветствие: «Доброе утро», «Добрый день», «Добрый вечер», «Спокойной ночи». 2. Написать программу, которая определяет, принадлежит ли точка с координатами (X, Y) заштрихованной области, ограниченной точками (X1, Y1) (X2, Y2) (X1, Y1) (X2, Y2) Входные данные: координаты точек (X, Y), (X1, Y1), (X2, Y2) Результат: слова «Да» или «Нет».
Самостоятельная работа 27
I вариант 1.Составить программу, которая определяет попадание точки с заданными координатами (x;y) в закрашенную область на рисунке. 2. Указать координаты точек: a) A( ; ) – на границе области; б) B( ; ) – вне закрашенной области; в) C( ; ) - внутри закрашенной области.
II вариант 1.Составить программу, которая определяет попадание точки с заданными координатами (x;y) в закрашенную область на рисунке. 2. Указать координаты точек: a) A( ; ) – на границе области; б) B( ; ) – вне закрашенной области; в) C( ; ) - внутри закрашенной области
30 Определите принадлежность точки заштрихованной области (на рисунках даны окружности с единичным радиусом и парабола y=x 2 ):
31