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;
. . . .