Добавил:
Education Must Be Free Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы / LR_4_Izuchenie_uslovnykh_konstruktsiy.docx
Скачиваний:
13
Добавлен:
22.09.2021
Размер:
222.51 Кб
Скачать

If (логическое выражение)

<оператор1>

else

<оператор2>

которая интерпретируется следующим образом: если «логическое выражение» «истинно», то выполняется «оператор1», иначе выполняется «оператор2». В случаях, когда при выполнении какого-либо условия необходимо записать более одного оператора, необходимо использовать фигурные скобки, т.е. использовать конструкцию вида:

if (выражение)

{

<оператор1.1>

<оператор1.n>

}

else

{

<оператор2.1>

<оператор2.k>

}

Формально после ключевого слова else можно поставить еще один оператор условия if, в результате получим конструкцию условных переходов показанную ниже:

if(логическое выражение 1)

{

<оператор1.1>

<оператор1.n>

}

else if(логическое выражение 2)

{

<оператор2.1>

<оператор2.k>

}

else

{

<оператор3.1>

<оператор3.l>

} // m,k,l – неотрицательные целые. Характеризуют число операторов.

Оператор if позволяет реализовывать более сложные условные переходы, используя логические операции языка С++:

&& - логическое И

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

! – логическое НЕТ

На основе этих трех логических операций можно сформировать более сложные условия. Подобно операциям умножения и сложения в математике, логические операции И ИЛИ НЕТ, также имеют свои приоритеты. Самый высокий приоритет имеет операция НЕТ, т.е. такая операция выполняется в первую очередь. Более низкий приоритет у операции И, и наконец самый малый приоритет у операции ИЛИ.

Если имеются три логических выражения ЛВ1, ЛВ2, ЛВ3, ЛВ4 то они могут составлять логические конструкции, представленные в таблице 2.

Таблица 2

Виды логических выражений

if(ЛВ1 && ЛВ2)

if(ЛВ1 && ЛВ2 || ЛВ3)

if(ЛВ1 || ЛВ2)

if(ЛВ1 && (ЛВ2 || ЛВ3))

if(ЛВ1 && ЛВ2 && ЛВ3)

if((ЛВ1||ЛВ4) && (ЛВ2 || ЛВ3))

if(ЛВ1 || ЛВ2 && ЛВ3)

if((ЛВ1&&ЛВ4) || (ЛВ2&& ЛВ3))

    1. Оператор switch. Конструкция switch(){case:..;break;.. Default:;}

Условная операция if помогает в написании программ, в которых необходимо производить выбор между небольшим числом возможных вариантов. При условии необходимости осуществления в программе выбора одного из множества вариантов необходимо использовать следующую конструкцию:

switch(переменная)

{

case константа1:<операторы>;break;

case константа2: <операторы>;break;

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

}

Данный оператор последовательно проверяет на равенство переменной константам, стоящим после ключевого слова case. Если ни одна из констант не равна значению переменно, то выполняются операторы, находящиеся после слова default. Оператор switch имеет следующую особенность: если значение переменной равно значению константы1 и выполняются операторы, стоящие после первого ключевого слова case. После этого выполнение программы продолжится проверкой переменной на равенство константы2, что часто приводит к неоправданным затратам ресурсов ЭВМ. Во избежание такой ситуации следует использовать оператор break для перехода программы к следующему оператору после switch.

В листинге ниже представлен пример программирования условного оператора switch.

Листинг. Пример использования оператора switch.

#include <iostream>

using namespace std;

int main()

{

setlocale (0, “”);

int x;

cout<< “Введите число:”;

cin>>x;

switch(x)

{

case 1 : cout<<“Введено число 1\n”; break;

case 2 : cout<<“Введено число 2\n”; break;

default : cout<<“Введено другое число\n”;

}

char ch;

cout<< “Введите символ:”;

cin>>ch;

switch(ch)

{

case ‘a’ : cout<<“Введен символ а\n”; break;

case ‘b’ : cout<<“Введен символ b\n”; break;

default : cout<<“Введен другой символ\n”;

}

return 0;

}

Оператор switch может производить выбор только на основании равенства своего аргумента одному из перечисленных значений case, т.е. проверка выражений типа x<0 в данном случае невозможна.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.

  1. Ознакомится с теоретической частью лабораторной работы.

  2. Ознакомится с заданиями согласно варианту.

  3. Разработать блок-схему линейного алгоритма решения задачи.

  4. Реализовать разработанный алгоритм на языке программирования C++.

  5. Протестировать программу.

СОДЕРЖАНИЕ ОТЧЕТА

    1. Титульный лист с названием лабораторной работы, номером своего варианта, фамилией студента(ов) и группы.

    2. На первом после титульного листа указать :

- Название работы.

- Цель.

- Задание по варианту.

    1. Текст программы.

    2. Результаты работы программы.

    3. Выводы о полученных результатах работы программы.

КОНТРОЛЬНЫЕ ВОПРОСЫ

    1. Запишите условный оператор if для определения знака переменной val.

    2. В каких случаях следует использовать оператор switch?

    3. Как записывается логическое равенство в операторе if?

    4. Приведите обозначение логического знака «не равно».

    5. Какими символами обозначаются логические операции И и ИЛИ в условном операторе if?

СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

  1. Липпман С. Б. Основы программирования на C++: Пер. с англ. — М.:Вильямс, 2002. — 256 с.

  2. Липпман С. Б., Лажойе Ж. Язык программирования С++. Вводный курс: Пер. с англ. — 3-е изд. — М.: ДМК, 2001. — 1104 с.

  3. Страуструп Б. Язык программирования C++: Пер. с англ. — 3-е спец. изд. — М.: Бином, 2003. — 1104 с.

  4. Страуструп Б. Дизайн и эволюция языка C++. Объектно-ориентированный язык программирования: Пер. с англ. — М.: ДМК пресс, Питер, 2006. — 448 с.

  5. Эккель Б. Философия C++. Введение в стандартный C++: Пер. с англ. — 2-е изд. — СПб.: Питер, 2004. — 572 с.

  6. Эккель Б., Эллисон Ч. Философия C++. Практическое программирование: Пер. с англ. — СПб.: Питер, 2004. — 608 с.

Приложение