4383

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

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

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

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

Русский

2012-11-18

96 KB

15 чел.

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

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

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

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

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


 

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

52813. Польща. Білорусь. Особливості ЕГП та господарства 141 KB
  Сформувати в учнів загальні уявлення про особливості ЕГП природноресурсного потенціалу господарства країни; виявити географічну та економічну специфіку Польщі та Білорусі. Розвивати вміння учнів складати порівняльну економіко географічну характеристику країн за планом. Актуалізація опорних знань Прийом Блицопитування На які історико географічні регіони поділяється Європа З якими країнами Західної Європи ви вже ознайомлені Який рівень...
52814. ЕЛЕМЕНТИ ЕЙДЕТИКИ НА УРОКАХ УКРАЇНСЬКОЇ ЛІТЕРАТУРИ 53.5 KB
  Вивчення теорії літератури на уроках української літератури починається вже з пятого класу. Але вчитель повинен зробити все для того щоб знання з теорії літератури стали інструментом для розуміння та аналізу того чи іншого твору. Мабуть перед кожним постають питання: Як пояснити поняття з теорії літератури доступно й зрозуміло Як спонукати глибоко розуміти їх застосовувати на практиці Як актуалізувати раніше набуті знання Пропоную Вашій увазі метод запамятовування окремих термінів та понять на пальцях який використовую...
52815. Einkaufen. Wir gehen in den Supermarkt 60 KB
  Liebe Kinder, ich freue mich euch gesund und lustig zu sehen. Wie geht es euch? Sind alle Kinder da? Gibt es etwas Neues? Gibt es etwas Interessantes? (Die Schüler beantworten die Fragen des Lehrers)
52816. Екологічні проблеми, які стосуються мене 95.5 KB
  Мета проекту: Стимулювати інтерес в учнів до проблеми екології оволодівати певною сумою знань стосовно того що майбутнє нашої планети в наших руках про необхідність дбайливого ставлення до природи про взаємозвязки між діяльністю людини і життям природи;виховувати почуття відповідальності за те що відбувається в природі підвищувати екологічну культуру. І ЕТАП Урок Я і Україна ТЕМА: Охорона природи. Узагальнити знання учнів про те що обовязок кожної людини охорона рідної природи. До чого закликає нас матінкаприрода Ми з вами...
52817. Екологічний практикум. Урок математики в 6 класі 49.5 KB
  60 кг макулатури рятує одно дерево 30 кг макулатури рятує 1 га лісу 1 т макулатури економить 1000 кВт ч електроенергії 1 т макулатури економить 200 м3 води 1т макулатури економить дає 2500 учнівських зошитів. Використання макулатури для виробу паперу на 75 зменшує забруднення повітря та дозволяє зекономити до 40 води Не викидай папір який ви використовували збирайте його та здавайте макулатуру V. Скільки дерев зберегли учні Скільки учнівських зошитів можна виготувати із цієї макулатури Скільки води та електроенергії буде з...
52818. Экологический праздник: Звери, птицы, лес и я - вместе дружная семья! 75.5 KB
  Все ребята молодцы Инсценировка Аринка Солнечный лучик. Аринка. Ну это надо Ни здравствуй не сказала ни разрешения не спросила а уж прямо на голову сесть собирается Ну и молодежь пошла А еще Аринкой Солнечный лучик прозывается Аринка удивленно. Ктокто Это я старый заслуженный пень ветеран леса Аринка.
52819. Екологічне виховання учнів 1.27 MB
  Вчителі початкових класів при викладанні предметів застосовують такі методи та методичні прийоми як: екологічне моделювання та прогнозування екологічні ігри розвязування екологічних задач. Ігрові форми діяльності: конкурси турніри аукціони на знання певної теми повязаної з природою вікторини пізнавальні та рольові ігри екологічні свята пізнавальні екскурсії з іграми забезпечують практичну діяльність учнів початкових класів і орієнтовані на вирішення реальних місцевих екологічних проблем. Протягом 5 років постійно з варіативу до...