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

7 Іван Хвищун Курс “Кросплатформне програмування”. Лабораторна робота № 2 for fei-II 2014 Вивчення операторів розгалужень та циклів Основні структури мови с#

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

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

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

Умова if...Синтаксис цієї конструкції:

If (лог. Вираз)

{ <блок 1>;}

else

{ <блок 2>; }

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

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

If (лог вираз)

{ <блок 1>; }

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

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

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 всього один рядок коду, то фігурні дужки можна не ставити, хоча це і є поганим стилем програмування.

Так, два приклади нижче еквівалентні:

if (x==0) //приклад 1

{

х=х+10;

}

if (x==0) //приклад 2

х=х+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;

. . . .

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