Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_3.doc
Скачиваний:
4
Добавлен:
16.11.2018
Размер:
984.58 Кб
Скачать

2.3. Вложенные операторы if

Оператор if-else позволяет выбрать один из двух возможных наборов действий. В не­которых случаях, требуется выбор из трех-четырех альтернатив, Поэтому, оп­ределение оператора if-else позволяет создавать вложенные структуры, а значит, выполнять одно из нескольких возможных действий.

Оператор if является обычным оператором, поэтому его можно разместить в любом месте внутри другой конструкции if, где ожидается одиночный или составной оператор.

Oператop_if_else ::=

if (<Логическое выражение>)

<Oператop 1>; | <Составной оператор>

Вставляется оператор if

[else

<Оператор2>; | <Составной_оператор2>]

Вставляется оператор if

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

Из задания примера 2.3. понятно, что обойтись стандартной схемой с if/else не получится, т.к. помимо выбора положительное или отрицательное число, существует еще выбор, если положительное, то четное оно или нечетное. Поэтому будем использовать схему с вложенным оператором if/else.

Результаты работы программы представлены на рис.2.7-2.9.

Рис.2.7. Результат работы программы из примера 2.3., если введенное число отрицательное

Рис.2.8. Результат работы программы из примера 3.3., если введенное число положительное, но нечетное

Рис.2.9. Результат работы программы из примера 3.3., если введенное число положительное, но четное

2.4. Операторы if-else с несколькими ветвями

Методика, в которой значение пере­менной определяет, какой оператор (или составное выражение) из возможных следует исполнять, настолько распространена в программировании, что была выработана стан­дартизованная система создания структур if-else, реализующих эту функциональность. Результирующие структуры называются операторами if-else с несколькими ветвями.

Оператор if_else с несколькими ветвями ::=

if (<Логическое выражение_1>)

<Оператор_1> | <Составной_оператор_1>

else if (<Логическое выражение_2>)

<Оператор_2>; | <Составной_оператор_2>

else if (<Логическое выражение_3>)

<Оператор_3>; | <Составной_оператор_3>

else

<Оператор по умолчанию>; | <Составной оператор по умолчанию>

Пример 2.4. Написать программу «Калькулятор». Пользователь вводит два числа и операцию, программа выполняет действие в соответствие с введенной операцией. Например, пользователь вводит «Сумма», программа возвращает сумму введенных чисел.

using System;

class Program

{

static void Main(string[] args)

{

decimal a, b;

string operation;

Console.WriteLine("Введите два числа");

a = Decimal.Parse(Console.ReadLine());

b = Decimal.Parse(Console.ReadLine());

Console.WriteLine("Введите название операции: ");

operation = Console.ReadLine();

// Первая ветвь, если операция "Сумма"

if (operation == "Сумма")

{

Console.WriteLine("Сумма а = {0} и в = {1} равна: {2}", a ,b,a+b);

}

// Вторая ветвь, если операция "Разность"

else if (operation=="Разность")

{

Console.WriteLine("Разность а = {0} и в = {1} равна: {2}", a, b, a - b);

}

// Третья ветвь, если операция "Произведение"

else if (operation == "Произведение")

{

Console.WriteLine("Произведение а = {0} и в = {1} равно: {2}", a, b, a * b);

}

// Четвертая ветвь, если операция "Частное"

else if (operation == "Частное")

{

Console.WriteLine("Частное а = {0} и в = {1} равно: {2}", a, b, a / b);

}

// Ветвь, которая выполняется в случае если введенная операция ошибочна

else

{

Console.WriteLine("Ошибка ввода операции");

}

Console.ReadLine();

}

}

Результат работы программы представлен на рис. 2.10.

Рис.2.10. Результат работы программы из примера 3.4.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]