русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Логические операции


Дата добавления: 2015-06-12; просмотров: 1152; Нарушение авторских прав


 

Переменным логического типа можно присвоить результаты операций отношений. Результат операций отношений всегда равен True или False. Как уже было отмечено выше, в качестве условия могут использоваться логические операции. Помимо операций отношений в Pascal существует четыре вида логических операций, которые применимы к переменным логических типов.

 

Значения логического выражения при использовании бинарной логической операции конъюнкции (And) приведены в таблице 1.

 

Таблица 1 - Логическая операция конъюнкция

Значение операндов Результат операции  
A B A and B  
True   True True  
True   False   False  
False True False  
False   False False  

 

Значения логического выражения при использовании бинарной логической операции дизъюнкции (Or) приведены в таблице 2.

 

Таблица 2 - Логическая операция дизъюнкция

Значение операндов Результат операции  
A B A or B  
True   True True  
True   False   True  
False True True  
False   False False  

 

Значения логического выражения при использовании бинарной логической операции дизъюнкции (Xor) приведены в таблице 3.

 

Таблица 3 - Логическая операция исключающее ИЛИ

Значение операндов Результат операции  
A B A xor B  
True   True False  
True   False   True  
False True True  
False   False False  

 

Четвёртая унарная логическая операция отрицания (Not) инвертирующая (изменяющая на противоположное) значение операнда приведена в таблице 4.



 

Таблица 4 - Логическая операция отрицания

Значение операндов Результат операции  
A   not A  
True False
False   True  

 

 

Поскольку у операций сравнения приоритет выполнения ниже, чем у логических операций, при комбинированной записи логического выражения их необходимо брать в скобки.

 

Например:

 

(A<=B) and (B>C) or (A<>D). При значении переменных A=10, B=15, C=20, D=25 значение всего выражения равно True. (A<=B) - истинно, (B>C) - ложно, (A<=B) and (B>C) - ложно, (A<>D) - истинно.

 

(A<=B) or (B>C) xor (A<>D). При значении переменных A=10, B=15, C=20, D=25 значение всего выражения равно False. (A<=B) - истинно, (B>C) - ложно, (A<=B) or (B>C) - истинно, (A<>D) - истинно.

 

not (A<=B) or (B>C). При значении переменных A=10, B=15, C=20 значение всего выражения равно False.

 

(A<=B) or not(B>C). При значении переменных A=10, B=15, C=20 значение всего выражения равно True.

 

В логических выражениях принят следующий порядок выполнения операций:

 

- Not;

- And, *, Div, Mod, /;

- Or, Xor, +, - ;

- все операции сравнения.

 

ПРИМЕРЫ

 

Пример 4.1. Определить большее из двух целых чисел A и B.

 

Блок-схема алгоритма решения задачи:

 

 

Program Example_4_1;

Var A, B : Integer;

Max : Integer;

Begin

Write ('Введите значение A = '); ReadLn (A);

Write ('Введите значение B = '); ReadLn (B);

If A>=B then Max:=A else Max:=B;

WriteLn ('большее из двух целых чисел A и B: ',Max)

End.

 

Пример 4.2. Определить принадлежит ли вводимое с клавиатуры значение A интервалу [0..9].

 

Блок-схема алгоритма решения этой задачи аналогична примеру 4.1.

 

Program Example_4_2;

Var A : Real;

Max : Integer;

Str : String;

Begin

Write ('Введите значение A = '); ReadLn (A);

If (A>=0) and (A<=9) then Str:='принадлежит'

else Str:='не принадлежит';

WriteLn ('Значение A ',Str,' отрезку [0..9]')

End.

 

Пример 4.3. Значения переменных X, Y, Z вводятся с клавиатуры. Если X Y Z, то все значения возвести в квадрат, при X >Y >Z каждое из них разделить на 2, в противном случае изменить знаки чисел. Изменённые значения переменных вывести на экран.

 

Обратите внимание, что при решении данной задачи в каждой ветви условного оператора необходимо использовать составной оператор.

 

Блок-схема алгоритма решения задачи:

 

Program Example_4_3;

Var X,Y,Z:Real;

Begin

Write ('Введите значение X,Y,Z');

ReadLn (X,Y,Z);

If (X<=Y)and(Y<=Z) then

begin

X:=Sqr(X); Y:=Sqr(Y); Z:=Sqr(Z)

end

else If (X>Y)and(Y>Z) then

begin

X:=X/2; Y:=Y/2; Z:=Z/2

end

else

begin

X:= -X; Y:= -Y Z:= -Z

end;

WriteLn('X=', X, ' Y=', Y, ' Z=', Z)

End.



<== предыдущая лекция | следующая лекция ==>
Условный оператор IF | Оператор выбора case


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.023 сек.