Оператор switch. Наведіть приклади 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Оператор switch. Наведіть приклади



Оператор switch: (перемикач) - альтернатива вкладеним if. Формат оператора:

switch (вираз)

{

case константний_выраз_1:

[оператори_1 оператор_переходу_1]

...

case константний_выраз _K:

[оператори_K оператор_переходу_K]

[default: оператори_N оператор_переходу_N]

}

Виконання оператора починається з обчислення виразу. Тип виразу найчастіше цілочисельний (включаючи char) або строковий (string). Потім управління передається першому оператору із списку, поміченому константним виразом, значення якого збіглося з обчисленим. Якщо збігу не сталося, виконуються оператори, розташовані після слова default, а при його відсутності управління передається наступному за switch оператору.

Кожна гілка перемикача повинна закінчуватися явним оператором переходу, а саме одним з операторів break, goto або return:

· оператор break виконує вихід з самого внутрішнього з охоплюючих його операторів switch, for, while і do;

· оператор goto виконує перехід на вказану після нього мітку, звичайно це мітка case однієї з гілок оператора switch, що пролягають нижче;

· оператор return виконує вихід з функції, в тілі якої він записаний.

Частіше за все використовується оператор break.

using System;namespace ConsoleCalculator{ class Program { static void Main() { string buf; double a, b, res; Console.WriteLine("Введіть перший операнд:"); a = double.Parse(Console.ReadLine()); Console.WriteLine("Введіть знак операції"); char op = (char)Console.Read(); Console.ReadLine(); Console.WriteLine("Введіть другий операнд:"); b = double.Parse(Console.ReadLine()); bool ok = true; switch (op) { case '+': res = a + b; break; case '-': res = a - b; break; case '*': res = a * b; break; case '/': res = a / b; break; default: res = double.NaN; ok = false; break; } if (ok) Console.WriteLine("Результат: " + res); else Console.WriteLine("Неприпустима операція"); } }}

Оператори переходу.

У С# є п'ять операторів, що змінюють природний порядок виконання обчислень:

· оператор безумовного переходу goto;

· оператор виходу з циклу break;

· оператор переходу до наступної ітерації циклу continue;

· оператор повернення з функції return;

· оператор генерації виключення throw.

Ці оператори можуть передати управління в межах блоку, в якому вони використані, і за його межі. Передавати управління всередину іншого блоку забороняється.

Оператор goto

Оператор безумовного переходу goto використовується в одній з трьох форм:

goto мітка;goto case константний_вираз;goto default;

У тілі функції має бути присутня тільки одна конструкція вигляду:

мітка: оператор;

Оператор goto мітка передає управління на помічений оператор. Мітка - це звичайний ідентифікатор, зоною видимості якого є функція, в тілі якої він заданий. Друга і третя форми оператора goto використовуються в тілі оператора вибору switch.

Оператор break

Оператор break використовується усередині операторів циклу або вибору для переходу в точку програми, що знаходиться безпосередньо за оператором, усередині якого знаходиться оператор break.

Оператор continue

Оператор переходу до наступної ітерації поточного циклу continue пропускає всі оператори тіла циклу, що залишилися до кінця, і передає управління на початок наступної ітерації.

Оператор return

Оператор повернення з функції return завершує виконання функції і передає управління в точку її виклику. Синтаксис оператора:

return [ вираз ];

Тип виразу повинен мати неявне перетворення до типу функції. Якщо тип значення, який повертає функція описаний як void, вираз має бути відсутнім.

Оператори циклу мови С#. Написати конструкцію кожного.

Оператори циклу використовуються для обчислень, що повторюються багато разів. Блок, для виконання якого організовується цикл, називається тілом циклу. Решта операторів використовуються для управління процесом повторення обчислень: це початкові установки, перевірка умови продовження циклу і модифікація параметра циклу. Один прохід циклу називається ітерацією.

В усіх мовах програмування є два типи циклів: з передумовою і з пост-умовою. Також є цикл з параметром (for).

Параметром циклу називається змінна, яка використовується при перевірці умови продовження циклу і примусово змінюється на кожній ітерації, причому, як правило, на одну і ту саму величину. Якщо параметр циклу цілочисельний, він називається лічильником циклу.

Цикл завершується, якщо умова його продовження не виконується. Можливе примусове завершення як поточної ітерації, так і циклу в цілому. Для цього служать оператори break, continue, return і goto.

В С# для організації циклів використовуються чотири типи циклів: for, while, do, foreach. Всі цикли крім foreach успадковані від С++ і мають той самий синтаксис.

Цикл з передумовою while

Синтаксис цикла while:

while (умова)

{список операторів}

Семантика оператора while:

Оператори в тілі циклу виконуються до тип пір, поки умова має значення true.

Цикл з пост-умовою do…while

do

{ список операторів }

while(умова);

Оператори в тілі циклу виконуються до тип пір, поки умова має значення true.

Умова в операторі while перевіряється після ітерації циклу. В цьому циклі завжди виконується хоча б одна ітерація.

int a=5678;

do

{

a /= 10;

} while (a>1);

Цей тип циклу застосовується в тих випадках, коли тіло циклу необхідно обов'язково виконати хоч б один раз.

Цикл з перебором (for)

for (ініціалізатор; умова; список_виразів)

{ оператори}

Ініціалізація використовується для оголошення змінних, які використовуються в циклі, і призначення їм початкових значень. У цій частині можна записати декілька операторів, розділених комою.

Приклад 8. Обчислення суми чисел від 1 до 100:

int s = 0;for (int i = 1; i <= 100; i++) s += i;

Цикл перебору FOREACH

Новим видом циклу, не успадкованим від С++, є цикл foreach, зручний при роботі з масивами, колекціями та іншими подібними контейнерами даних.

foreach(тип ідентифікатор in контейнер)

{оператори}

Тіло циклу виконується для кожного елемента в контейнері. Тип ідентифікатора повинен бути узгоджений з типом елементів, що зберігаються в контейнері даних.

Приклад 10

int[] a ={ 10, 20, 30, 40 };

foreach (int i in a) { System.Console.WriteLine(i); };

Основні поняття C#.

Для запису програми в C# використовується кодування символів Unicode. Кодуванням, або кодовою таблицею (character set), називається відповідність між символами і числами, що кодують їх. Алфавіт C# включає:

· букви (латинські і національних алфавітів) і символ підкреслення (_), який вживається разом з буквами;

· цифри;

· спеціальні символи, наприклад +, *, { і &;

· пробільні символи (пробіл і символи табуляції);

· символи переведення рядка.

З символів складаються більші будівельні блоки: лексеми, директиви препроцесора і коментарі.

Лексема (token) — це мінімальна одиниця мови, що має самостійний сенс. Існують такі види лексем:

· імена (ідентифікатори);

· ключові слова;

· знаки операцій;

· роздільники;

· літерали (константи).

Ідентифікатори

Імена (або ідентифікатори) використовуються для того, щоб звертатися до програмних об'єктів і розрізняти їх, тобто ідентифікувати. Першим символом ідентифікатора може бути буква або знак підкреслення, але не цифра. Довжина ідентифікатора не обмежена.

Ключові слова

Ключові слова — це зарезервовані ідентифікатори, які мають спеціальне значення для компілятора. Їх можна використовувати лише в тому значенні, в якому вони визначені.

Инкапсуляция

Инкапсуляция есть объединение в единое целое данных и алгоритмов обработки этих данных. В рамках ООП данные называются полями объекта, а алгоритмы - объектными методами.

Инкапсуляция позволяет в максимальной степени изолировать объект от внешнего окружения. Она существенно повышает надежность разрабатываемых программ, т.к. локализованные в объекте алгоритмы обмениваются с программой сравнительно небольшими объемами данных, причем количество и тип этих данных обычно тщательно контролируются. В результате замена или модификация алгоритмов и данных, инкапсулированных в объект, как правило, не влечет за собой плохо прослеживаемых последствий для программы в целом (в целях повышения защищенности программ в ООП почти не используются глобальные переменные).

Другим немаловажным следствием инкапсуляции является легкость обмена объектами, переноса их из одной программы в другую. Можно сказать, что ООП «провоцирует» разработку библиотек объектов, таких как Turbo Vision.

Наследование

Наследование есть свойство объектов порождать своих потомков. Объект-потомок автоматически наследует от родителя все поля и методы, может дополнять объекты новыми полями и заменять (перекрывать) методы родителя или дополнять их.

Принцип наследования решает проблему модификации свойств объекта и придает ООП в целом исключительную гибкость. При работе с объектами программист обычно подбирает объект, наиболее близкий по своим свойствам для решения конкретной задачи, и создает одного или нескольких потомков от него, которые «умеют» делать то, что не реализовано в родителе.

Последовательное проведение в жизнь принципа «наследуй и изменяй» хорошо согласуется с поэтапным подходом к разработке крупных программных проектов и во многом стимулирует такой подход.

Полиморфизм

Полиморфизм - это свойство родственных объектов (т.е. объектов, имеющих одного общего родителя) решать схожие по смыслу проблемы разными способами. В рамках ООП поведенческие свойства объекта определяются набором входящих в него методов. Изменяя алгоритм того или иного метода в потомках объекта, программист может придавать этим потомкам отсутствующие у родителя специфические свойства. Для изменения метода необходимо перекрыть его в потомке, т.е. объявить в потомке одноименный метод и реализовать в нем нужные действия. В результате в объекте-родителе и объекте-потомке будут действовать два одноименных метода, имеющие разную алгоритмическую основу и, следовательно, придающие объектам разные свойства. Это и называется полиморфизмом объектов.

Класс

Класс является описываемой на языке терминологии исходного кода моделью ещё не существующей сущности (объекта). Фактически он описывает устройство объекта, являясь своего рода чертежом. Говорят, что объект — это экземпляр класса. При этом в некоторых исполняющих системах класс также может представляться некоторым объектом при выполнении программы посредством динамической идентификации типа данных. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.

Объект

Сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса (например, после запуска результатов компиляции исвязывания исходного кода на выполнение).



Поделиться:


Последнее изменение этой страницы: 2016-09-13; просмотров: 406; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.221.136 (0.023 с.)