АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Логічні операції

Читайте также:
  1. Анатомо-фізіологічні дані
  2. Анатомо-фізіологічні особливості опорно-рухового апарату
  3. Археологічні пам’ятки території.
  4. Біологічні особливості ріпаку озимого
  5. Біологічні особливості ряду Напівтвердокрилі
  6. Біологічні, соціальні та психологічні детермінанти відхилень у поведінці
  7. Валютні операції.
  8. Варіант 13 Західні соціологічні теорії соціальної стратифікації
  9. Вкажіть на характерні морфологічні особливості збудників цестодозів м’ясоїдних.
  10. Вказати, яка із бухгалтерських проводок відповідає здійсненій операції.
  11. Гематологічні показники у дітей різних вікових груп
  12. Геологічні зміни клімату

До цих пір ми використовували тільки два типи операцій: арифметичні операції (+,-,*,/ і %) і операції відношення (<, >, <=, >=, = і!=).

Тепер ми розглянемо третю групу операцій, званих логічними операціями. Ці операції дозволяють проводити дії над булевими змінними, тобто змінними, що володіють тільки двома значеннями, - істина і брехня.

Так, наприклад, вислів «Сьогодні робочий день» має булеве значення, оскільки воно може бути тільки істинним або хибним. Іншим прикладом булева виразу є вислів «Марія поїхала на автомобілі». Ми можемо логічно зв'язати ці два вислови: «Якщо сьогодні робочий день і Марія поїхала на автомобілі, то я повинен скористатися автобусом». Логічний зв'язок в даному прикладі встановлюється за допомогою сполучного союзу і, який визначає істинність або хибність комбінації двох висловів, що сполучаються. Тільки в тому випадку, якщо обидва вислови є істинними, я буду вимушений скористатися автобусом.

- Операція логічного І

Логічні операції сполучають булеві вирази в C++.

Умова, що бере участь у виразі

if(x==7 && y==11)

буде істинною тільки у тому випадку, коли значення х буде дорівнювати 7, а значення у в цей же час буде рівним 11.

Операція логічного І, що позначається &&, зв'язує пару виразів відношень.

Зверніть увагу на те, що брати в дужки вирази відношень, не обов'язково:

((х = 7) && (у == 11)),

оскільки операції відношення мають вищий пріоритет, ніж логічні операції.

В C++ существуют 3 логические операции:

Операція Назва
&& Логічне І
|| Логічне АБО
! Логічне НЕ

- Операція логічного АБО

Вираз

x<5 || x>15

є істинним як у випадку, якщо х менше 5 (герой знаходиться на західних землях), так і у випадку, якщо х більше 15 (герой знаходиться на східних землях). Аналогічно операції &&, логічна операція || має нижчий пріоритет, ніж операції відношення.

- Логічне НЕ

Операція логічного НЕ є унарною, тобто має тільки один операнд (майже всі операції C++, які ми розглядали, були бінарними, тобто мали два операнди; умовна операція служить прикладом тернарной операції, оскільки має три операнди). Дія операції! полягає в тому, що вона міняє значення свого операнда на протилежне: якщо операнд мав дійсне значення, то після застосування операції! він стає хибним, і навпаки.

Наприклад, вираз (х==7) є істинним, якщо значення х рівне 7, а вираз!(х==7) є істинним для всіх значень х, які не рівні 7 (у даній ситуації останній вираз еквівалентний запису х!=7).

- Цілі величини як булеві.

Щоб вираз мав істинне або хибне значення, не обов’язково, щоб цей вираз включав операцію відношення. Насправді будь-який вираз цілого типу можна розглядати як true або false, навіть якщо цей вираз є звичайною змінною. Вираз х розглядається як істинний в тому випадку, якщо його значення не рівне нулю, і як хибний, якщо його значення рівне нулю. Очевидно, що в цьому випадку вираз істинний, якщо х рівний нулю, і хибний, якщо х не рівний нулю.

Логічні операції && і || мають нижчий пріоритет, ніж операції відношення. Але ми ставимо дужки навколо х%7 і у%7 тому, що, не дивлячись на приналежність операції! до логічного типу, ця операція є унарною і має вищий пріоритет, ніж бінарні операції відношення.

- Пріоритети операцій C++.

Тип операцій Операції Пріоритет
Унарні !, ++, - +, - Вищий
Арифметичні бінарні *, /, %  
+, -  
Відносини Нерівності <,>,<=,=>  
  Рівність ==,!=  
Логічні І &&  
  АБО ||  
Умовна ?:  
Привласнення =, +=, -=, *=, /=, %= Нижчий

Приклади.

1.Сума цифр заданого чотиризначного числа N перевершує добуток цифр цього ж числа на 1.

(N / 1000 + N / 100 % 10 + N/10 %10 + N % 10 - 1 == (N / 1000) * (N / 100 % 10) * (N/10 %10) * (N % 10))

2. Сума двох останніх цифр заданого тризначного числа N менше заданого K, а перша цифра N більше 5.

(N / 10 % 10 + N % 10 < K && N / 100 > 5)

3. Задане натуральне число N є двозначним і кратно K.

(N >= 10 && N <= 99 && N % K == 0)

4. Сума двох перших цифр заданого чотиризначного числа N дорівнює добутку двох останніх.

(N \ 1000 + N \ 100 % 10 == (N % 100 \ 10) * (N % 10))

5. Кожна подальша цифра тризначного числа N, починаючи зі старшого розряду, більше попередньої на 1.

(N % 10 - N / 10 % 10 == 1 && N / 10 % 10 - N / 100 == 1)

6. X – від’ємне ціле число, що ділиться на 3 без остачі.

(X < 0 && X % 3 == 0)

7. Задано три додатних дійсних числа A, B, C, які є сторонами рівнобедреного трикутника.

((A + B > C && A + C > B && B + C > A) && (A == B || B == C || A == C))

8. Серед заданих цілих чисел A, B, C, D є хоч би два парних.

A%2 + B%2 + C%2 + D%2 >= 2

10. Дріб A / B є правильною.

(A < B && B > 0)

 


Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.)