4383

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

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

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

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

Русский

2012-11-18

96 KB

10 чел.

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

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

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

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

  •  условный оператор с единственным выбором — 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.  Выводы по проделанной лабораторной работе.


 

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

84854. Слова, які називають ознаки предметів (прикметники). Роль прикметників у мовленні 54 KB
  Мета: Познайомити учнів з лексичним значенням слів, які називають ознаки предметів, формувати вміння ставити до них запитання, добирати їх. Розвивати увагу, спостережливість, інтерес до навчання, мову учнів, виховувати старанність.
84855. Урок розвитку звязного мовлення. Мову рідну я вивчаю, її люблю, не забуваю. Рідну мову буду знати,берегти і поважати. Іменники у нашому мовленні 42.5 KB
  Іменники у нашому мовленні Мета: закріпити та розширити уявлення дітей про слова назви предметів та явищ вправляти у вживанні іменників у мовленні; донести до дітей думку що рідна мова займає гідне місце серед мов світу сприяти збагаченню та активізації словника школярів; виховувати інтерес до вивчення української мови почуття гордості за рідну мову. А ви скільки мов знаєте Українську дехто російську англійську Спробуйте перекласти українською мовою слова: Я очень люблю свой родной город. Вслухайтеся як звучать слова: кохання...