
- •1. Краткие теоретические сведения
- •1.1. Операции сравнения и логические операции
- •1.1.1. Операции сравнения
- •1.1.2. Логические операции
- •1.1.3. Логические выражения
- •1.2. Приоритет операций
- •1.3. Разветвляющийся вычислительный процесс
- •1.5. Оператор перехода
- •1.6. Пустой оператор
- •1.7.1. Короткая форма условного оператора
- •1.7.2. Полная форма условного оператора
- •1.9. Понятие составного оператора (группы операторов)
- •1.10.1. Проверка двух или более условий
- •1.10.5. Обработка нескольких условий
- •1.10.6. Вложенный условный оператор
- •1.11. Рекомендации по заданию исходных значений переменным
- •1.11.1. Операторы присваивания
- •1.11.2. Операторы ввода
- •1.11.3. Инициализация переменных
- •1.11.4. Именованные константы
- •1.12. Оператор множественного выбора switch
- •1.13. Использование отступов для улучшения удобочитаемости вашей программы
- •2. Задание
- •2.4. Задания для выполнения на занятиях
- •2.4.1. Задание 1
- •2.4.1.1. Условие задания
- •2.4.2. Задание 2
- •2.4.3. Задание 3
- •2.4.4. Задание 4
- •2.5. Задания для выполнения дома
- •2.5.1. Задание 1
- •2.5.2. Задание 2
- •3.6. Пример программы
- •3.7. Типичные ошибки при выполнении работы
- •2.5.3. Задание 3
- •3. Выводы
- •4. Требование к отчету
- •4. Краткие теоретические сведения.
- •5. Вопросы для самоконтроля
- •Литература
- •1. Краткие теоретические сведения 2
- •1.1. Операции сравнения и логические операции 2
- •1.1.1. Операции сравнения 2
1.1.2. Логические операции
Логические операции работают с операндами скалярных типов и возвра-щают результат булева типа. С++ поддерживает три логические операции:
&& – логическое И;
| | – логическое ИЛИ;
! – отрицание или логическое НЕ.
Операция отрицания НЕ является унарной (одноместной), а операции И (конъюнкция) и ИЛИ ( дизъюнкция) – бинарные (двуместные). Логические операции определены для операндов, имеющих значение битового типа. Операнды другого типа должны быть преобразованы в строки бит.
Логические операции имеют более низкий приоритет, чем операции отношения.
Результаты выполнения логических операций над строками, состоящими из одного бита, приведены в таблице 6.2.
Таблица 6.2
Правила выполнения логических операций
Операция И |
|
Операция ИЛИ |
|
Операция НЕ |
|||||
|
|
|
|
|
|
|
|
|
|
x |
y |
x && y |
|
x |
y |
x || y |
|
x |
!x |
1 |
1 |
1 |
|
1 |
1 |
1 |
|
1 |
0 |
0 |
1 |
0 |
|
0 |
1 |
1 |
|
0 |
1 |
1 |
0 |
0 |
|
1 |
0 |
1 |
|
|
|
0 |
0 |
0 |
|
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Логические операции используется в основном в условном операторе и операторе присваивания.
1.1.3. Логические выражения
Логическое выражение (условие) – выражение, которое содержит знаки операций отношения и/или знаки логических операций. Значением логического выражения может быть только 1, если логическое выражение есть ИСТИНА (true), или 0, если логическое выражение ЛОЖЬ (false).
Например, логическое выражение a>3 && c<7 при a=5, c=6 будет иметь значение ИСТИНА, а при a=3, c=8 – ЛОЖЬ; логическое выражение a>3 || c<7 при a=5, c=6 будет иметь значение ИСТИНА, при a=2, c=6 – ЛОЖЬ; при a=7 логическое выражение !a>2 будет иметь значение ЛОЖЬ.
При составлении логических выражений следует учитывать приоритет выполнения операций (табл. 6.4).
Примеры записи логических выражений приведены в табл. 6.3.
Таблица 6.3
Примеры записи логических выражений
Условие |
Логическое выражение |
x [a, b] |
x>=a && x<=b |
x [a, b] |
x<a || x>b |
x [a, b] или ] x [c, d] |
x>=a && x<=b || x>=c && x<=d |
Хотя бы одно из чисел x, y положительное |
x>0 || y>0 |
Только одно из чисел x, y положительное |
(x>0 && !y>0) || (y>0 && !x>0) |
Ни одно из чисел x, y не является четным |
x % 2 !=0 && y % 2 !=0 |
Точка (x,y) принадлежит заштрихованной области
|
x>=0 && x<=a && y>=0 && y<=b/a*x |