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

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

Тема: Операторы ветвления

Цель: Получить навыки по использованию операторов ветвления.

2.1. Простой оператор if

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

Простoй_оператор_if ::=

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

<Оператор>;

Следует сказать, что выражение логического типа всегда дает одно из двух значений: true (истина) или false (ложь). <Оператор> следующий за логическим выражением, исполняется лишь в том слу­чае, если последнее истинно. Если выражение ложно, то <Оператор> не выполняется, а выполняется следующий за ним оператор.

Пример 2.1. Написать программу, которая выводит на консоль сообщение «Hello World», если введенное число равно 1 и «Следующий оператор», в обратном случае.

using System;

class Program

{

static void Main()

{

int a;

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

a = Convert.ToInt32(Console.ReadLine());

// Простой оператор if

if (a == 1)

// Выполняется в случае, если результат проверки true

Console.WriteLine("Hello World!");

// Выполняется в случае, если результат проверки false

Console.WriteLine("Следующий оператор");

Console.ReadLine();

}

}

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

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

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

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

2.2. Оператор if / else

Оператор if из предыдущего примера позволяет выполнить лишь один оператор, если условие имеет значение true. Далее мы рассмотрим случай, когда требуется выполнить несколько операторов.

Рассмотрим синтаксический блок :

Oперaтop_if_else ::=

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

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

[else

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

Примечания:

<Оператор1>; | <Составной_оператор1> исполняется лишь в том случае, когда <Логическое_выражение> равно true.

<Оператор2>; | <Составной_оператор2> исполняется лишь тогда, когда <Логическое_ выражение> равно false.

Символы [перед else и ] после <Составной_оператор2> (как всегда) обозначают, что все между ними не является обязательным.

Следует сказать, что символ | , в <Оператор>; | <Составной_оператор> означает, что выбор возможен из двух вариантов, окружающих его из этого следует, что можно использовать <Оператор> или <Составной_оператор>.

Составной оператор выглядит следующим образом:

Составной оператор ::=

{

<Оператор1>;

<Оператор1>;

...

<ОператорN>;

}

Рассмотрим пример.

Пример 2.2. Необходимо проверить является ли введенное с клавиатуры число четным, т.е. делиться ли оно на 2 без остатка. Ели оно является четным, то вывести сообщение «Число четное», если нет, то прибавить к числу единицу и вывести сообщение «Число нечетное».

В данном случае использование простого оператора if не возможно, т.к. в случае если число нечетное необходимо выполнить два оператора (прибавить единицу и вывести сообщение). Если использовать простой оператор if, получится результат представленный на рис.3.3. Код подобно программы представлен ниже.

class Program

{

static void Main()

{

int a;

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

a = Convert.ToInt32(Console.ReadLine());

// Простой оператор if

if (a%2 == 0)

// Выполняется в случае, если результат проверки true

Console.WriteLine("Число четное");

// Выполняется в случае, если результат проверки false

a++;

Console.WriteLine("Число нечетное");

Console.ReadLine();

}

}

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

Рис.2.3. Результат работы программы (число четное)

Рис.2.4. Результат работы программы (число нечетное)

Таким образом, можно увидеть, что сообщение «Число нечетное» выводится в любом случае. Чтобы избежать подобной ситуации, используем оператор if/else

class Program

{

static void Main()

{

int a;

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

a = Convert.ToInt32(Console.ReadLine());

// Оператор if/else

if (a % 2 == 0)

// Работает если условие выполнено

Console.WriteLine("Число четное");

else

// Работает если условие не выполнено

{

a++;

Console.WriteLine("Число нечетное");

}

Console.ReadLine();

}

}

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

Рис.2.5. Результат работы программы (число нечетное)

Рис.2.6. Результат работы программы (число четное)

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