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

Вопрос 35. Простые типы данных в яп c#.

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

Классификация:

  • Простые и структурированные. Целые, вещественные – простые, массивы – структурированные

  • Встроенные и определяемые программистом

  • Статистические и динамические (динамические типы определяются переданным значением)

Типы-значения – последовательность битов в памяти, т.е. хранятся непосредственно значения.

Ссылочные типы – хранят ссылку на адрес, в котором расположены данные.

Вопрос 36. Реализация на яп c# алгоритмов с ветвлениями.

Н еполная развилка:

if (условие)

{

Операторы

}

if (max<y) max=y;

Полная развилка:

if (условие)

{

Операторы

}

else

{

Операторы

}

if (x>y) max=x;

else max=y;

Оператор выбора switch

Разветвление процесса вычислений на несколько направлений.

switch (выражение)

{

case константа1:операторы1

case константа2:операторы2

[default:операторы] //если не одно из значений не подошло

}

Каждая ветвь должна заканчиваться оператором перехода:

  • break – выход из самого внутреннего оператора switch, for, while, do

  • goto – переход на указанную после него метку (например, на нижележащую ветвь оператора switch.

Метка:

switch (выражение)

{

case константа1:goto lol;

}

lol: {операторы}

  • return – выход из функции, в теле которой он записан

Вопрос 37. Реализация на яп c# циклов с предусловием.

While (условие)

{

Операторы

}

Оператор while выполняет оператор или блок операторов, пока определенное выражение не примет значение false. Поскольку перед каждым выполнением цикла выражение while тестируется, цикл while может не выполниться не разу. Это отличает его от цикла do, который выполняется от одного до нескольких раз.

Цикл while может быть прерван оператором break, который передает управление за пределы цикла. Чтобы передать управление на следующую итерацию без выхода из цикла, используйте оператор continue.

Вопрос 38. Реализация на яп c# циклов с постусловием

do

{

Операторы

} while (условие)

Цикл do-while выполняется как минимум один раз, так как вычисление значения условного выражения выполняется после тела цикла. Для перехода непосредственно к оператору вычисления выражения while используется оператор continue; если выражение имеет значение true, выполнение продолжается в первом операторе цикла. Если выражение имеет значение false, выполнение продолжается в первом операторе после цикла do-while.

Вопрос 39. Реализация на яп c# циклов с параметром.

for (инициализация; условие; операция над переменной) { Операторы }

Область действия переменных, объявленных в части инициализации – весь цикл.

Если условие = true, цикл выполняется (реализован как с предусловием).

for (int i=0; i< 10; i++)

{

Console.WriteLine(i);

}

Цикл foreach. Наборы коллекций (массивы, листы и т.п.) Если количество итераций задавать неудобно (перебор всех).

foreach (параметр in коллекция) оператор;

int[] a = { 2, 3 };

foreach (int x in a) Console.Write("\t"+x);

Вопрос 40. Работа с одномерными массивами в c#.

Набор однотипных компонентов, снабженных индексами.

В C# все массивы 0-базируемые, динамические (размер может меняться при исполнении программы) и ссылочные.

Одномерные массивы используются в программах чаще всего. Варианты описания

массива:

тип[] имя;

тип[] имя - new тип [ размерность ];

тип[] имя - { список инициализаторов };

тип[] имя - new тип [] { список инициализаторов };

тип[] имя - new тип [ размерность ] { список инициализаторов };

Примеры описаний (один пример для каждого варианта описания):

int[] a; // 1 элементов нет

int[] b = new int[4]; // 2 элементы равны 0

int[] с = { 61, 2, 5. -9 }; // 3 new подразумевается

int[] d = new int[] { 61, 2. 5. -9 }; // 4 размерность вычисляется

int[] e = new int[4] { 61, 2, 5, -9 }; // 5 избыточное описание

Класс System.Array:

a.GetLengh(0) – количество элементов определенной размерности (0 – строк, 1 – столбцов)

a.GetUpperBound(0) – верхняя граница выбранной размерности

Array.Resize(ref C, 2) – изменение размерности одномерного массива C на 2.