- •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
Кузнецов Л.К.
Министерство финансов Российской Федерации
Всероссийская государственная налоговая академия
ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ
Бакалавры: 230700 "Прикладная информатика"
Язык программирования С++
Лабораторная работа № 06
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ
ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ
Автор профессор кафедры "Прикладной информатики в экономике"
кандидат технических наук Л.К. Кузнецов
27 марта 2012 г.
Москва
ВГНА
2012
Лабораторная работа № 06
Программирование разветвляющихся вычислительных процессов
Цель работы:
Ознакомиться:
c операциями сравнения
c логическими операциями;
со старшинством (приоритетом) операций;
с понятием разветвлявшегося вычислительного процесса (РВП);
со средствами реализации РВП в языке С++;
с оператором перехода;
с пустым оператором;
с условным оператором и его формами в языке С++;
с понятием группы операторов (с понятием составного оператора);
с оператором выбора switch;
с особенностями задания исходных значений переменных с при объявлении переменных помощью модификатора const;
с рекомендациями по заданию исходных значений переменным.
Получить практические навыки по программированию:
простых РВП;
сложных (произвольных) РВП.
Овладеть:
средствами языка С++ для реализации РВП.
1. Краткие теоретические сведения
1.1. Операции сравнения и логические операции
1.1.1. Операции сравнения
В языке С++ определены следующие операции сравнения: < (меньше), > (больше), <= (меньше или равно), >= (больше или равно), == (равно), != (не равно). Все эти операции являются бинарными (двуместными). Четыре последних знака операций – составные: оба символа вместе образуют единый знак операции, их нельзя отделять пробелом.
Примеры: a<b, x!=5, y==c, t>=8.1, d<>(w-c).
Операции сравнения применяются при работе с двумя операндами и воз-вращают значение true (1), если результат сравнения – истина, и – значение false (0), если результат сравнения – ложь.
Примечание. Строго говоря, в С++ значению ИСТИНА соответствует не только значение 1, но и любое другое ненулевое значение.
В С++ допускаются три типа сравнений:
арифметическое – между арифметическими величинами (переменными и константами типа);
битовое – между строками бит (переменными и константами);
символьное – между строками символов (переменными и константами типа).
Результат операции сравнения всегда есть битовая строка единичной длины: значение есть 1, если отношение истинно (например, 7> 3.5, 'АС' > 'В'), и 0, если отношение ложно (например, 7 <= 3.5, 'АС' <= 'В').
Операции сравнения в основном используются в условном операторе if, обеспечивающем условный переход в программе. Например,
if (у >z) x = y – z; else x = z – y;
Вычисление выражения у >z дает значение 1 или 0в. если это 1, выполняется ветвь "Да" (оператор x = y – z;), если же 0 - else-ветвь (оператор x = z – y;).
Однако операции сравнения применяются не только в операторах if, Так, допустим, оператор присваивания
x = у > z;
Если у больше z, переменной x будет присвоено значение 1, если нет – значение 0.
Допустим также оператор
х = у ==z; (или x = ( у==z);)
Здесь первый символ = есть символ оператора присваивания, второй символ == есть символ операции сравнения. Если у равно z, значение x будет 1, если у не равно z, значение x будет 0.
Наполним, что если мы хотим переменным x и у присвоить значение переменной z, то оператор присваивания должен быть записан в виде
х = у = z ;
В общем случае могут быть и более сложные конструкции оператора присваивания с операциями сравнения, например к3 = (а < в) * (в <с);
Примеры выполнения операций сравнения в языке С++ приведены в табл. 6.1.
Таблица 6.1
Операции сравнения языка C++
Операция |
Проверка |
Пример |
== |
Если два значения равны |
(score == 100) |
!= |
Если два значения не равны |
(old != new) |
> |
Если первое значение больше второго |
(cost > 50.00) |
< |
Если первое значение меньше второго |
(salary < 20000.00) |
>= |
Если первое значение больше или равно второму |
(stock_price >= 30.0) |
<= |
Если первое значение меньше или равно второму |
(age <= 21) |