
- •Лабораторная работа №9 использование структур и ломаных массивов при работе с классами
- •Вопросы для контроля
- •Постановка задания
- •Содержание отчета
- •Порядок выполнения работы
- •3.Выполнить задание по вариантам, указанным преподавателем (таблица 9.1.).
- •Краткие теоретические сведения
- •Постановка задания
- •Пример выполнения работы
Лабораторная работа №9 использование структур и ломаных массивов при работе с классами
Цель занятия:
1.Получение практических навыков в работе со структурами, динамическими и ломаными массивами.
2.Получение навыков в организации ввода/вывода значений переменных регулярных типов данных.
Вопросы для контроля
Что понимается под ломаным массивом?
Как обозначаются в программе элементы ломаного массива?
Форма записи ломаного массива?
Обращение к элементам ломаного массива?
Как создается в программе ломаный массив?
Как организуется в программе ввод ломаного массива?
Как организуется в программе вывод ломаного массива?
Как описывается динамический массив?
Понятие структуры.
Форма записи структуры.
Как можно описать идентификаторы типа структура.
Привести примеры описания идентификаторов типа структура.
Как производится обращение к элементам структуры.
Постановка задания
1. Выполнить задание по вариантам, указанным преподавателем (таблица 9.1.).
Содержание отчета
1.Постановка задачи.
2.Текст программы.
3.Таблица данных и результатов.
Порядок выполнения работы
1.Включить ПК.
2.Загрузить систему Microsoft Visual Studio C#
3.Выполнить задание по вариантам, указанным преподавателем (таблица 9.1.).
Примечание:
При составлении программы руководствоваться
методическими указаниями и примером составления
программы.
4.Ввести по мере выполнения программы исходные данные. Результаты
занести в отчет.
5.Закончить работу с системой Microsoft Visual Studio C# без сохранения программы.
Краткие теоретические сведения
ЛОМАНЫЙ МАССИВ
Taкой массив содержит в качестве внутренних элементов некоторое количество внутренних массивов, каждый из которых может иметь свой внутренний уникальный размер.
Есть некоторые особенности в объявлении и инициализации таких массивов. Если при объявлении типа многомерных массивов для указания размерности использовались запятые, то для изрезанных массивов применяется более ясная символика - совокупности пар квадратных скобок; например, int[][] задает массив, элементы которого - одномерные массивы элементов типа int.
Сложнее с созданием самих массивов и их инициализацией. Здесь нельзя вызвать конструктор new int[3][5], поскольку он не задает изрезанный массив. Фактически нужно вызывать конструктор для каждого массива на самом нижнем уровне. В этом и состоит сложность объявления таких массивов.
int[][] jagger1 = new int[3][]
{
new int[4],
new int[2],
new int[3]
};
СТРУКТУРЫ
В С# структура — это особый тип класса, который имеет тип по значению, а не по ссылке. Поскольку структура размещается в стеке, она может создаваться и копироваться более эффективно, чем класс.
Во многих отношениях структуры С# можно рассматривать как некую особую разновидность классов, С классами структуры роднит многое: для структур можно определять конструкторы (только принимающие параметры), структуры могут реализовывать интерфейсы, структуры могут содержать любое количество внутренних членов. Для структур С# не существует единого базового класса (тип System. Structure в С# не предусмотрен), однако косвенно все структуры являются производными от типа ValueType.
Форма записи:
[МодификаторДоступа] struct ИмяСтруктуры {СписокДанных}
где СписокДанных имеет вид
[МодификаторДоступа] СпецификаторТипа СписокИдентификаторов1;
…
[МодификаторДоступа] СпецификаторТипа СписокИдентификаторовN;
Отметим, что для инициализации структуры используется оператор new, несмотря на то, что структуры являются типами по значению.