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

6 Лаб. Роб. 2 для fei-2. Вивчення операторів розгалужень та циклів Основні структури мови с# (До Лекції № 2)

Кожна мова програмування має спеціальні структури такі, як структура вибору і структура повторення. Доведено, що за допомогою тільки цих структур можна написати будь-яку програму або реалізувати будь-який алгоритм. У всіх мовах програмування оператори, що реалізовують ці структури, схожі між собою по синтаксису, але разом з тим є і відмінності. Розглянемо, як реалізовані ці структури в С#.

Структури вибору

С# підтримує дві структури вибору, це конструкція if і конструкція switch. Завдяки цим двом операторам можливо реалізовувати розгалуження в програмах.

Умова if...Розглянемо синтаксис цієї конструкції

If (лог. Вираз) { блок 1 } else { блок 2 }

Лог. вираз в дужках повертає значення true або false, тобто значення типу boolean. Якщо вираз істинний, то виконуються оператори, які стоять в блоці 1, якщо вираз помилковий, то виконуються оператори, що стоять в блоці 2.

Оператора if можна використовувати і без оператора else:

If (лог вираз)

{ блок 1 }

В цьому випадку виконуються оператори, що стоять в блоці 1, якщо вираз істинний; якщо вираз помилковий, то жоден з операторів блоку if не виконується.

Розглянемо приклад.

using System;

class Comparestring

{

public static void Main()

{

Console.WriteLine("Input first string:");

string firstString=Conole.ReadLine();

Console.WriteLine("Input second string:")

string secondString=Console.ReadLine();

If (firstString.Equals (secondString))

{

Console.WriteLine ("First string is equals second string");

}

else

{

Console.WriteLine("First string is not equals second string");

} } }

Приклад, який наведений вище, демонструє роботу оператора if. Користувач вводить з клавіатури 2 рядки, і якщо вони рівні, то користувачеві виводиться повідомлення про рівність цих рядків, інакше виводиться повідомлення про нерівність рядків. У випадку, якщо в блоці if всього один рядок коду, то ви можете не указувати фігурні дужки, хоча це і є поганим стилем програмування. Так, два приклади нижче еквівалентні:

//приклад 1

if (x==0)

{ х=х+10; }

//приклад 2

if (x==0)

х=х+10;

Якщо необхідно зробити вибір більш ніж між двома варіантами, то існує складніша версія умови if з множинним вибором. Для побудови таких конструкцій використовується вираз else if.

if (x<0)

{ х=х+10; }

else if (x>10)

{ x=х-10; }

else

{ x=5; }

В даному прикладі відбувається перевірка умови в першому if, і якщо умова істинна, то виконується код х = х+10, після чого здійснюється перехід на оператора, наступного за всім блоком if. У випадку, якщо перша умова помилкова, перевіряється умова в другому блоці if, і якщо воно повертає значення true, то виконується код х = х-10. Якщо жодне з умов не повернуло значення true, то перехід здійснюється в блок else. Важливим є те, що після виконання операторів в одному з блоків оператора if програма переходить відразу на оператора, наступного за if, навіть якщо умови в нижчестоячих блоках цього оператора істинні.

Структури if можуть бути вкладені один в одного:

if (x<10)

{

if (y<5)

{

y=y+х;

}

Else

{

y=y-х;

}

Відзначимо, що на відміну від мови C++ тип int не приводиться автоматично до типу boolean, тому ми не можемо використовувати конструкцію, допустиму в C++:

int i=0;

. . . .