русс | укр

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

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

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

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


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

Базовые логические операции


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


 

Операнды Результат выполнения операции
X Y X And Y X Or Y Not (X) X Xor Y
False False False False True False
False True False True True True
True False False True False True
True True True True False False

 

В таблице перечислены результаты четырех логических операций; в качестве операндов этих операций используются операции отношения.

Операции And, Or, Xor являются двуместными (требуют двух операндов), операция Not – одноместной (второй операнд не требуется).

And – логическое умножение (конъюнкция), математические знаки: & и ⋀; операция вырабатывает значение Истина (True) только в том случае, когда оба операнда имеют значение Истина; в противном случае, когда хотя бы один из операндов имеет значение Ложь, операция And вырабатывает значение Ложь. Чтобы легче было понять это, проведем аналогию: Ложь – 0, Истина – 1, тогда:

0 * 0 = 0, 0 * 1 = 0, 1 * 0 = 0, 1 * 1 = 1. Данная операция используется в логических выражениях в тех случаях, когда необходимо проверить одновременное выполнение двух (и более) операций отношения.

Or – логическое сложение (дизъюнкция), математический знак v. Операция Or вырабатывает значение Истина, если хотя бы один из операндов имеет значение Истина, и только в том случае, когда оба операнда имеют значение Ложь, операция Orвырабатывает значение Ложь.Используя аналогию операцииAnd, можно записать: 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 2 (хоть и не 1, но не 0, т.е. истина). Данная операция используется в логических выражениях в тех случаях, когда для выполнения условия достаточно выполнения хотя бы одной операции отношения.

Not – «Не» (отрицание), математический знак - ך. Результат выполнения операции противоположен значению операнда.



Xor – «исключающее или». Результатом выполнения операции является Истина, если операнды имеют разные значения, в противном случае вырабатывается Ложь.

Порядок выполнения операций при вычислении значения логического выражения:

1) определяется значение операций отношения (операндов логических операций);

2) если перед операндом стоит операция Not, то определяется ее значение;

3) And;

4) Or, Xor;

5) если логическое выражение заключено в скобки, и перед ними стоит операция Not, то вычисляется содержимое скобок, а потом применяется Not.

 

Рассмотрим пример логического выражения и попробуем вычислить его значение: Not ((a=b) And (b = c) Or ((d = 60) And (f = 60))) при а = 4, b = 7, c = 9, d = 45, f = 100.

Сначала определяем значение операций отношения, затем выполняем операции логичеcкого умножения And, затем логического сложения Or и отрицания Not:

Not (False And False Or (False And False)) = Not (False Or False) = Not (False) = True.

 

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

Задача № 9

Даны три произвольных числа a, b, c (вводятся с клавиатуры). Если выполняется соотношение a <= b <= c, заменить числа их квадратами; если выполняется соотношение a >b > c, то числа заменить наименьшим их них (т.е. с); в противном случае изменить знак каждого числа на противоположный. Результаты вывести на экран монитора.

Сначала нарисуем блок-схему:

 
 

 

 


Нет Да

       
   
 

 

 


Нет Да

 
 

 


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

Теперь можно написать программу:

Program Primer;

Var a, b, c: Real;

Begin

Writeln (‘Введите три числа’);

Readln (a, b, c);

If (a <= b) And (b <= c) Then Begin a:= a * a; b:= b * b; c:= c *c; End Else

If (a > b) And (b > c) Then Begin a:= c; b:= c; End Else

Begin a:= - a; b:= - b; c:= -c; End;

Writeln (a, ‘ ‘, b, ‘ ‘, c);

Readln

End.

 

Задача № 10

С клавиатуры вводятся три произвольных числа x, y, Найти максимальное из следующих чисел: x + y + z, x * y * z, x – y – z. Результат вывести на экран монитора.

Сначала создадим алгоритм в виде блок-схемы:

 

 


Нет Да

 

Да Нет

 

 

Нет Да

 

 
 

 


Примечание. В блок-схеме алгоритма использованы дополнительные переменные: P – произведение исходных чисел, S – их сумма, R – их разность. Это сделано исключительно для того, чтобы графическое изображение алгоритма не было слишком громоздким. В программе вместо этих величин можно было бы просто писать x * y * z x + y + y x – y – z соответственно.

Теперь можно написать программу:

Program maximum;

Var x, y, z, P, S, R: Real;

Begin

Writeln (‘Введите три числа’); Readln(x, y, z);

P:= x * y * z; S:= x + y + z; R:= x – y – z;

If (P > R) And (P > S) Then Writeln (‘P (произведение) - max’, P) Else

If (S > P) And (S > R) Then Writeln (‘S (сумма) – max’, S) Else

If (R > P) And (R > S) Then Writeln (‘R (разность) – max’, R) Else

Writeln (‘ Максимальное не определено’);

Readln; End.

 

Задача № 11 (для самостоятельного написания программы по блок-схеме)

C клавиатуры вводятся четыре числа a, b, c, d. Определить является ли число d делителем хотя бы одного из чисел a, b, c. Вывести на экран соответствующее сообщение.

Блок-схема задачи:

Нет Да

 

Нет Да

 

Нет Да

 


 

Задача № 12(для самостоятельного написания программы по блок-схеме)

 

Дано (вводится с клавиатуры) три числа. Определить, могут ли эти числа быть сторонами треугольника, и если да, то какой это треугольник: равносторонний, равнобедренный или прямоугольный. Вывести на экран соответствующее сообщение.

Блок-схемa алгоритма:

 

 


 

Нет Да

 

 

Нет Да

 

Нет Да

 

 

Нет Да

 

 


 

 



<== предыдущая лекция | следующая лекция ==>
Ветвление на Pascal | по основным операторам языка Pascal и ветвлению


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


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

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

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


 


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

 
 

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

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