Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика ответы.docx
Скачиваний:
56
Добавлен:
10.05.2015
Размер:
270.28 Кб
Скачать

2) Вызов метода:

Структура вызова метода описывается так:

Область нахождения метода.имя метода

Область нахождения метода – это та область программы, где описан этот метод. В качестве области может выступать пространство имён или имя класса. В предыдущем примере использована запись вызова метода Atan, который является компонентом класса Math (мы ещё поговорим подробнее о методах этого класса в следующих статьях). Имя метода записывается через точку после области нахождения. В свою очередь, область нахождения сама может быть составлена из нескольких имён, также разделённых точками. Например, вызов метода ввода строки с клавиатуры записывается так:

System.Console.ReadLine();

Вызов метода (вызов функции) для исполнения может использоваться в программе в двух смыслах. Если вызов записан в составе выражения, то вызов метода выступает в виде операнда. Результат выполнения метода сразу же используется при вычислении выражения. Если же метод выполняет какие-либо действия, но не формирует непосредственно используемого результата, то он описывается в виде оператора. Такая запись завершается знаком «точка с запятой». Например:

S = System.Console.ReadLine(); // вызов используется как операнд Console.WriteLine(“Привет посетителям сайта SkillCoding.com!”); // вызов записан как оператор

3) Блок или составной оператор:

Блок (составной оператор) воспринимается компилятором как один оператор. Используется там, где по смыслу должен быть именно единичный оператор. Блок описывается с помощью фигурных скобок. Один или несколько любых операторов можно заключить в фигурные скобки – получится составной оператор. Структура этого оператора:

{ оператор_1{ ...{ оператор_N{ }

Обратите внимание: составной оператор не заканчивается знаком «точка с запятой». В состав одного блока могут включаться другие блоки. Пример записи блока:

{ int i, j; string s; s = Console.ReadLine(); i = (int)s[0]; Console.WriteLine(" " + i); j = (int)s[1]; Console.WriteLine(" " + j); if (i = = 53) Console.WriteLine(" " +(i & 15)); }

4) Операторы ветвления:

Для выбора одной из нескольких возможностей в языке C# имеются две конструкции – if и switch. Первую из них обычно называют альтернативным выбором, вторую - разбором случаев.

4.1. Оператор if:

Синтаксис оператора:

If (выражение_1) оператор_1 else if (выражение_2) оператор_2 ... else if (выражение_K) оператор_K else оператор_N

Выражения в круглых скобках должны быть булевого типа. Точнее, при вычислениях выражения должны давать значения true или false. Вспомним, что арифметический тип не имеет явных или неявных преобразований к булевому типу. Каждый из операторов может быть любым оператором – в частности, блоком или другим if-оператором. Поэтому возможна и такая конструкция:

if (выражение_1) if (выражение_2) if (выражение_3) ...

Ветви else и if, позволяющие организовать выбор из многих возможностей, могут отсутствовать. Может отсутствовать заключительная else-ветвь. Выполняется тот оператор, который записан после выражения, имеющего истинное значение. Проверка истинности выражений выполняется в порядке их написания. Если все выражения ложны, то выполняется оператор после else. Пример записи оператора:

if (k % 7 = = 0) {  Console.WriteLine("Число делится на 7 нацело"); } else Console.WriteLine("Число не делится на 7");

4.2. Оператор switch:

Важным случаем выбора из нескольких вариантов является ситуация, при которой выбор варианта определяется значениями некоторого выражения. Такой выбор можно описать и оператором if, но тогда выражение придётся повторять в каждом условии. Более наглядным такой выбор можно сделать с помощью оператора switch. Вот его синтаксис:

switch (выражение) { case константное_выражение_1: операторы_1 оператор_перехода_1 ... case константное_выражение_K: операторы_K оператор_перехода_K default: операторы_N оператор_перехода_N }

Конструкция не очень строгая. Ветвь default может отсутствовать. Так же могут отсутствовать операторы перехода (если программисту так надо). А вот константные выражения в case должны иметь тот же тип, что и switch-выражение.

Из-за нестрогости конструкции семантика оператора switch чуть-чуть запутана. Вначале вычисляется значение switch-выражения. Затем оно поочерёдно в порядке следования case сравнивается на совпадение с константными выражениями. Как только достигнуто совпадение, выполняется соответствующая последовательность операторов case-ветви. Поскольку последний оператор этой последовательности является оператором перехода (чаще всего это оператор break), то обычно он завершает выполнение оператора switch. При его отсутствии управление "проваливается" в следующую case-ветвь. Если значение switch-выражения не совпадает ни с одним константным выражением, то выполняется последовательность операторов ветви default, если, конечно, она есть. Пример записи оператора:

switch (variant) { case 1: Console.Write("Сторона А = "); temp = Console.ReadLine(); a = Convert.ToDouble(temp); Console.Write("Сторона B = "); temp = Console.ReadLine(); b = Convert.ToDouble(temp); Console.WriteLine("Площадь прямоугольника = "+a*b); break; case 2: Console.Write("Сторона А = "); temp = Console.ReadLine(); a = Convert.ToDouble(temp); Console.Write("Высота H = "); temp = Console.ReadLine(); h = Convert.ToDouble(temp); Console.WriteLine("Площадь треугольниика = "+ a * h / 2); break; . . . . . . . . . . . . . . . . . . . . default: Console.WriteLine("Выбор неверен "); break; }