4383

Операторы выбора в С++

Лабораторная работа

Информатика, кибернетика и программирование

Операторы выбора в С++ Цель: понимать как работают операторы выбора, для чего используются и какой их синтаксис написания. Теоретический материал Операторы выбора — это операторы управления потоком выполнения программы. К операторам выбора отно...

Русский

2012-11-18

96 KB

12 чел.

Операторы выбора в С++

Цель: понимать как работают операторы выбора, для чего используются и какой их синтаксис написания.

Теоретический материал

Операторы выбора — это операторы управления потоком выполнения программы. К операторам выбора относят:

  •  условный оператор с единственным выбором — if(условие){действие};
  •  условный оператор с двойным выбором  — if(условие){действие 1} else {действие 2};
  •  switch-структура с множественным выбором.

Синтаксис условного оператора с единственным выбором [if () {}]:

Запись для одного оператора при выполнении условия

Запись для нескольких операторов при выполнении условия

if ( условие )

оператор_1;

if ( условие )

{

оператор_1;

оператор_2;

оператор_n;

};

Синтаксис условного оператора с двойным выбором [if () {} else {}]:

Запись для одного оператора при выполнении условия

Запись для нескольких операторов при выполнении условия

if ( условие )

оператор_1;

else

оператор_2;

if ( условие )

{

оператор_1;

оператор_2;

оператор_n;

}

else

{

оператор_n+1;

оператор_n+2;

оператор_m;

};

Оператором может быть любая команда или арифметическое выражение. Что касается условия, то оно должно быть логическим. Условие даёт ответ либо ложь, либо истину. Для написания условия необходимо знать, какие допустимы операции для использования, которые представлены в таблице 4.1.

Таблица 4.1: Операции, используемые в задании условия

Операция

Название

<

меньше

>

больше

< =

меньше или равно

> =

больше или равно

= =

равно

! =

не равно

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

Условный оператор с двойным выбором if()else можно записать в следующем виде: ()?():(). В таблице 4.2 приведены аналогичные действия, но различными способами записи.

Таблица 4.2: Пример использования if()else и ()?():()

if()else

()?():()

int x = 0, y = 0;

cin>>x>>y;

if(x>y)

{

cout<<”x больше y \n”;

}

else

{

cout<<”y больше или равно x \n”;

}

(x>y)?(cout<<”x больше y \n”;):(cout<<”y больше или равно x \n”;)

Иногда необходимо написать сложное логическое условие, для этого используются следующие логические операции:

||

логическое ИЛИ

&&

логическое И

Например, необходимо выяснить, попадает ли введенное с клавиатуры число в диапазон [-89, 78]?

int x=0;

cin>>x;

if((x>=-89)&&(x<=78))

cout<<”Число попадает в указанный диапазон \n”;

else

cout<<” Число не попадает в указанный диапазон \n”;

Кроме условных операторов единственного и двойного выборов существует оператор switch, который предназначен для множественного выбора.

Синтаксис записи оператора switch.

switch (переключающее_выражение)

{

case константное_выражение_1: операторы_1;

case константное_выражение_2: операторы_2;

case константное_выражение_N: операторы_N;

default:операторы;

}

Ход работы

  1.  Запускаем программы С++.
  2.  Создаем новый проект console application, затем добавляем в него source file.
  3.  Подключаем заголовочный файл для ввода вывода информации, создаем главную функцию программы, затем компилируем и проверяем на ошибки и предупреждения. В случае возникновения ошибок – исправьте их, по возможности избавьтесь от предупреждений.
  4.  Рассмотрим следующую задачу на условный оператор if(): пусть с клавиатуры вводят целое число, если это число равно 10, то на экран вывести слова «Нам это подходит». В конце программы независимо от результата вывести слова «Пока, до скорой встречи».
  5.  Прежде, чем преступить к кодированию, разберёмся с алгоритмом работы программы.

НАЧАЛО

объявление целочисленной переменной

приглашение для ввода числа

ввод числа с клавиатуры

если число == 10

выводим “Да подходит.”

выводим на экран “Пока, до скорой встречи.”

КОНЕЦ

Обратите внимание, что вывод слов «Пока до скорой встречи» должно происходить в любом случае, независимо от результата проверки.

  1.  Объявите целочисленную переменную (пусть переменная имеет имя perem).
  2.  Используя команду cout, выведите на экран приглашение для ввода этой переменной.
  3.  Добавьте команду для ввода с клавиатуры (используйте команду cin).
  4.  Теперь можно делать проверку, код проверки должен выглядеть следующим образом:

if(perem = = 10)

    cout<<”Да подходит.”;

cout<<”Пока, до скорой встречи.”;

  1.  Если вы все правильно написали, то код должен выглядеть примерно следующим образом:

1

#іnclude <іostream.h>

2

іnt mаіn()

3

{

4

int pеrеm;

5

сout<<”Еntеr perem = ”;

6

сin>>perem;

7

if(perem = = 10)

8

    cоut<<”Да подходит.”;

9

соut<<”Пока, до скорой встречи.”;

10

rеturn (-890);

11

}

  1.  Откомпилируйте код программы, исправьте все ошибки, если они имеются и запустите код на исполнение.
  2.  Теперь измените код следующим образом:

1

#іnclude <іostream.h>

2

іnt mаіn()

3

{

4

int pеrеm;

5

сout<<”Еntеr perem = ”;

6

сin>>perem;

7

if(perem = = 10)

8

{

9

    cоut<<”Да подходит.”;

10

    соut<<”Пока, до скорой встречи.”;

11

}

12

rеturn (-890);

13

}

В 8-й строке добавляем открывающуюся фигурную скобку, а в 11 строке добавляем закрывающуюся фигурную скобку.

  1.  Откомпилируйте код программы и запустите на исполнение. Ответьте на вопрос, чем отличаются результаты в первом и втором случае, если введенное число равно 10, и чем отличаются результаты, если введенное число не равно 10? Объясните почему?
  2.  Рассмотрим задачу на использование условного оператора if/else: с клавиатуры вводится два целых числа (Х и У). Необходимо вывести на экран максимальное из них. В конце программы независимо от результата вывести слова «Пока, до скорой встречи».
  3.  Алгоритм работы программы можно представить в следующем виде:

НАЧАЛО

объявление первого целого числа (Х)

объявление второго целого числа (У)

ввод первого числа

ввод второго числа

если Х больше У, то

вывод на экран “макс = Х =” значение числа Х

иначе

выводим на экран “макс = У =” значение числа У

вывод на экран текста “Пока, до скорой встречи”

КОНЕЦ

  1.  Код следующей программы должен быть примерно таким, как показано ниже:

1

#іnclude <іostream.h>

2

іnt mаіn()

3

{

4

int Х,У;

5

сout<<”Еntеr Х = ”;

6

сin>>perem;

7

сout<<”Еntеr У = ”;

8

сin>>У;

9

if(Х > У)

10

{

11

    cоut<<”МAХ = Х =”;

12

    соut<<Х<<”\n”;

13

}

14

else

15

{

16

    cоut<<”MАХ = У =”;

17

    соut<<У<<”\n”;

18

}

19

соut<<”Пока, до скорой встречи.”;

20

rеturn (-890);

21

}

  1.  Откомпилируйте код программы, выполните и просмотрите результат работы.
  2.  Ответьте на вопрос, что произойдет, если и для Х и для У будут введены одинаковые значения? Объясните почему будет выведен тот или иной результат.
  3.  Самостоятельно, используя вложенный оператор if/else/if, добавьте проверку на то, что числа будут равными. Если они равны, вывести на экран, что число Х и число У равны и вывести значение одного из этих чисел.

Контрольные вопросы

  1.  Какие операторы выбора вам известны? Перечислите их и приведите синтаксис их записи.
  2.  Для чего в условных операторах используют фигурные скобки?
  3.  Какие операции можно использовать в условии операторов с единственным и двойным выбором?
  4.  Какие логические операции можно использовать при написании сложных логических условий?
  5.  Напишите второй способ записи условного оператора с двойным выбором.
  6.  Напишите синтаксис записи switch-структуры с множественным выбором.
  7.  Обязательно ли присутствие default в switch-структуре с множественным выбором?
  8.  Что произойдет, если в switch-структуре с множественным выбором будет отсутствовать команда break?

Содержание отчёта

  1.  Тема и номер лабораторной работы.
  2.  Цель работы.
  3.  Ход работы.
  4.  Код программы, который обязательно должен содержать комментарии и условие задачи.
  5.  Исходный код программы со всем проектом в целом в электронном виде.
  6.  Выводы по проделанной лабораторной работе.


 

А также другие работы, которые могут Вас заинтересовать

41148. Лексические и фразеологические нормы русского литературного языка 142 KB
  Лексическое значение слова. Многозначные слова омонимы синонимы антонимы паронимы.Многозначные слова нужно отличать от омонимов. Если связь между значениями слов утрачена, значит это омонимы. Омонимы – слова одинаковые по звучанию, но разные по значению (жать руку- жать серпом)
41149. Способы задания плоскости на эпюре 592.5 KB
  Способы задания плоскости на эпюре Из курса элементарной геометрии известно что через три точки не лежащие на одной прямой можно провести плоскость и при том только одну. Таким образом положение плоскости в пространстве логично определить задать тремя точками точки А В С табл. Кроме этого положение плоскости в пространстве определяют: прямая АВ и точка С не лежащая на прямой табл.
41150. Изобарная и изохорная теплоемкости 80 KB
  3 где индекс х обозначает условия протекания процесса подвода теплоты – индекс указывает при каких условиях подводится теплота: при постоянном давлении или при постоянном объеме.2 то можно предположить что поскольку при постоянном объеме внешняя теплота равна изменению внутренней энергии а при постоянном давлении – изменению теплосодержания рабочего тела то в общем случае это должны быть разные количества теплоты. Другими словами количество теплоты для увеличения температуры на 1 градус при постоянном давлении будет отличаться от...
41151. Преобразование треугольника в эквивалентную звезду. Метод контурных токов 134 KB
  Преобразование треугольника в эквивалентную звезду. Преобразованием треугольника в эквивалентную звезду называется такая замена части цепи соединенной по схеме треугольником цепью соединенной по схеме звезды при которой токи и напряжения в остальной части цепи сохраняются неизменными. под эквивалентностью треугольника и звезды понимается то что при одинаковых напряжениях между одноименными зажимами токи входящие в одноименные выводы одинаковы. Преобразование треугольника в звезду.
41152. Программные средства обеспечения безопасности передачи данных в компьютерных сетях 320.5 KB
  Введение Интенсивное развитие глобальных компьютерных сетей появление новых технологий поиска информации привлекают все больше внимания к сети Internet со стороны частных лиц и различных организаций. Развитие глобальных сетей привело к многократному увеличению количества не только пользователей но и атак на компьютеры подключенные к сети Internet. При подключении к Internet локальной или корпоративной сети необходимо позаботиться об обеспечении информационной безопасности в этой сети. В сфере компьютерных сетей межсетевой экран представляет...
41153. Применение Первого начала термодинамики для процессов идеального газа 218 KB
  Т =const Если Т =const то после подстановки в уравнение состояния 4.4 получим pV = const или pv = const 4. В соотвествии с 1 внутрення энергия пропорциональна температуре U  T или dU  dT другими словами dU = CVdT где CV коэффициент пропорциональности CV теплоемкость газа при постоянном объеме Дж кг К Если Т =const то dT =0 и U = 0.7: pv = const следовательно pv=...
41154. Формирование уставного капитала и имущества организации, их состав и назначение. Определение потребности в основных и оборотных средствах, показатели использования 135.5 KB
  Определение потребности в основных и оборотных средствах показатели использования.Основные средства предприятия. Состав основных средств структура и воспроизводственная характеристика. Классификация основных средств основных фондов и ее экономическое значение.
41155. ТОВАР В СИСТЕМЕ МАРКЕТИНГА 1.06 MB
  Основные журналы по изучению товара в системе маркетинга Содержание товара как инструмента комплекса маркетинга. Услуги как особый вид товара в системе маркетинга. Концепция товарного ассортимента решения относительно товара продуктовой линии и упаковки.
41156. УЧЕТ ДЕНЕЖНЫХ СРЕДСТВ И ИХ ЭКВИВАЛЕНТОВ 138 KB
  Управление денежными средствами становится все более важным изза огромной сложности финансовых рынков. Правильное раскрытие и классификация денежных средств и их эквивалентов необходимы для точной оценки ликвидности компании. В МСБУ 7 Отчеты о движении денежных средств даны следующие определения денежным средствам их эквивалентам и потокам денежных средств: Денежные средства включают наличные деньги и вклады до востребования. Эквивалент денежных средств – краткосрочные высоколиквидные вложения...