Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР6-С++-27 марта-2012.doc
Скачиваний:
17
Добавлен:
28.08.2019
Размер:
6.55 Mб
Скачать

Кузнецов Л.К.

Министерство финансов Российской Федерации

Всероссийская государственная налоговая академия

ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ

Бакалавры: 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)