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

55, Яп с#. Массивы. Конструкция foreach.

Массивы - совокупность даных одного типа, к которому обращается с помощью общего имени. Доступ осуществляется с помощью индекса массива.

В языке С# массив явл-ся объектами класса System.Array и объявляется как объекты.

Int []mas = new int [5];

Допустимо одновременное объявление массива и его выделение памяти под данный массив, однако в данном случае не будет произ-ся инициализация массива => рекомендуется сначало предворительно описывать массив

Int[]mas;

Ms=new int[5];

Допустимо первоночальное инициализация элементов массива при его создании.

Int []mas = new int[2] {1.2.3};

Обращение int=mas[1];

Многомерные массивы:

Прямоугольные массивы– это массивы кот-е состоят из амсивов одинаковой длины.

Int[,]a = new int[2,3];

Синтаксис поод на синтаксис яз. Delphi

В примере описан двумерный массив. При описании трехмерного необходимо записать

Int[,,]b= new int[2,3,1];

Инициализация массива:

Float[,] = naw float[3,3] {2.,1.,3.},{-32.,0.,5.};

Обращение к элем-ам массива

Int b= a[1,0];

Примечание:

Все массивы начина-я с 0 и индекс последнего элемента на 1 меньше, чем знач. Указан в операции new.

Не выровненный массив – массив, кот-й состоит из одномерных массивов разной длины

Int [][]a =nae int [5][];

Факти-ки в дан-м объявлении указ-ся только 1-ая размерность массива. Все остальные раз-сти д.б. заданы при созд-и одно-ых масс-в донного много-го масс-ва.

A[0]= new int[3];

A[1]= new int[2];

…….

A[1][2]=5;

Операция freach позволяет переберать все эл-ты массива обращаясь к каждой из них поочередно.

Int[] mas;

Foreach(int I in mas){

Mas[i]=I; }

Для эл-в массива сущ-т след-ие основ-ые методы:

Soft()- сорт-т эл-ты одномерного массиваж

Length()- длина м-ва

Inialize()- инициализ-я эл-в масс-ва.

SetValue()-метод присваива-й знач-я к указ-му элементу массива и т.д.

52. Яп с#. Ветвление. Циклы. Примеры программ.

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

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

Оператор if:

if (выражение) оператор-1; [else оператор-2;]

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

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

Выполнение осуществляется по следующей схеме:

- если выр-ие истинно (т.е. отлично от 0), то выполняется оп-ор-1.

- если выр-ие ложно (т.е. =0),то выполн-ся оп-ор-2.

- если выр-ие ложно и отсутствует оп-ор-2 (в [] заключена необязательная конструкция), то вып-ся следующий за if оп-тор.

Оператор switch:

Оп-ор switch явл-ся расширенным оп-ром ветвления, предназначен для орг-ции выбора из множества различных вариантов. Для переходов между блоками можно использовать команды goto case и goto default.

switch ( выр-ние )

{ [объявление]

…

[ case константное-выр-ние1]: [ список-оп-ров1]

[ case константное-выра-ние2]: [ список-оп-ров2]

…

[ default: [ список оп-ров ]]

}

Ветвь default может отсутствовать, могут отсутствовать оп-ры перехода. А вот константные выражения в case должны иметь тот же тип, что и switch-выражение. Кроме оп-ров, помеченных ключевым словом case, может быть, но обязательно один, фрагмент помеченный ключевым словом default. Список оп-ров может быть пустым, либо содержать один или более оп-ров. Причем в оп-ре switch не требуется заключать последовательность оп-ров в фигурные скобки.

В оп-ре switch можно использовать свои локальные пер-ные, объявления которых нах-ся перед первым ключевым словом case, однако в объявлениях не должна использоваться инициализация.

вычисляется выр-ние в (); если одно из константных выр-ний совпадает со значением выр-ия, то управление передается на оп-тор, помеченный соответствующим ключевым словом case; если ни одно из константных выр-ний не равно выр-нию, то управление передается на оп-тор, помеченный ключевым словом default, а в случае его отсутствия упр-ние передается на следующий после switch оп-тор.

Для выхода из case чаще всего используется оп-тор break.

Операторы цикла:

Оператор for:

for ( выражение 1 ; выражение 2 ; выражение 3 ) оператор

Цикл for представляет цикл с инициализирующей командой(выр1), условием окончания(выр1), и командой перехода(выр1). Логика выполнения цикла: сначала вып-ся инициализирующая команда, далее идет шаг цикла: проверяется условие окончания, если оно ложно, то цикл прекращается и упр-ние переходит на следующую за циклом команду, иначе выполняется тело цикла, а после него - команда перехода.

Оператор while:

Тело цикла выполняется до тех пор, пока остаётся истинным выражение while. В языке C# у этого вида цикла две модификации – с проверкой условия в начале (цикл с предусловием) и в конце цикла (цикл с постусловием). Первая мод-ция имеет следующий синтаксис:

while (выражение) оператор

Вычисляется выр-ние. Если выр-ние ложно, то выполнение оп-ра while заканчивается и вып-тся следующий по порядку оп-тор. Если выр-ие истинно, то выполняется тело оп-ра while.

Цикл, проверяющий условие завершения в конце do… while;

do

оператор

while(выражение);

Вып-ся тело цикла (которое может быть составным оп-ром).Вычисляется выр-ние.

Если выр-ние ложно, то выполнение оп-ра do while заканч-ся и выполняется следующий по порядку оп-тор. Если выр-ние истинно, то выполнение оп-ра продолжается с пункта 1. Тело такого цикла выполняется, по меньшей мере, один раз.