- •Методические указания
- •090303 «Информационная безопасность автоматизированных систем» очной формы обучения
- •Указания по технике безопасности при выполнении лабораторных работ
- •2 Курс Лабораторная работа № 1 Реализация строкового калькулятора
- •Теоретическая справка
- •Лабораторная работа № 2
- •Теоретическая справка
- •Лабораторная работа № 3 Анализ строки
- •Лабораторная работа № 4 Преобразование форматов представления данных
- •Теоретическая справка
- •Лабораторная работа № 5
- •Теоретическая справка
- •Лабораторная работа № 6 Наследование и полиморфизм
- •Теоретическая справка
- •Лабораторная работа № 7 Статические данные и функции классов
- •Теоретическая справка
- •Лабораторная работа № 8 Перегрузка операций
- •Теоретическая справка
- •3 Курс Лабораторная работа № 1 Реализация программы с использованием контейнерного класса stack stl
- •Теоретическая справка
- •Лабораторная работа № 2 Ассоциативные контейнеры stl
- •Теоретическая справка
- •Лабораторная работа № 3 Наследование и полиморфизм в языке c#
- •Лабораторная работа № 4 Коллекции в языке c#
- •Теоретическая справка
- •Лабораторная работа № 5 Перегрузка операций в языке c#
- •Теоретическая справка
- •Лабораторная работа № 6 Интерфейсы и их реализация в c#
- •Теоретическая справка
- •Лабораторная работа № 7 Делегаты и события в языке c#
- •Теоретическая справка
- •Лабораторная работа № 8 Использование шаблонов в языке c# 2.0
- •Теоретическая справка
- •Библиографический список
- •Содержание
- •2 Курс 2
- •3 Курс 15
- •Методические указания
- •090303 «Информационная безопасность автоматизированных систем» очной формы обучения
- •394026 Воронеж, Московский просп., 14
Лабораторная работа № 3 Наследование и полиморфизм в языке c#
Цель работы: научиться использовать основные средства ООП языка C# (наследование, полиморфизм, абстрактные функции).
Задание: создать абстрактный базовый класс «многоугольник», содержащий свойство, возвращающее количество его сторон, а также виртуальный метод вычисления площади многоугольника. Реализовать классы-наследники «треугольник», «прямоугольный треугольник», «прямоугольник», «квадрат», реализующие методы и свойства базового класса.
Инструкции к выполнению:
- Каждый многоугольник задается длиной своих сторон. Каждый класс должен содержать свойства, возвращающие длины сторон.
- Значение длин сторон должно задаваться в конструкторе класса.
- Наследование реализовать способом, позволяющим повторно использовать уже написанный код.
Лабораторная работа № 4 Коллекции в языке c#
Цель работы: получить представление об основных способах работы с коллекциями объектов языка C#.
Задание: Используя встроенный класс ArrayList создать массив объектов, описывающий события аудита операционной системы. Создать три класса объектов аудита: событие входа в систему (содержит дату и время, имя пользователя, результат входа), события доступа к ресурсу (содержит дату и время, имя пользователя, название ресурса), события выхода из системы (содержит дату и время, имя пользователя). Предусмотреть возможность вывода информации о событиях определенного типа, находящихся в массиве.
Инструкции к выполнению:
- Создать абстрактный базовый класс события
- Поиск объектов производить на основе механизмов определения типов
Теоретическая справка
Для работы с контейнерами необходимо подключить пространство имен System.Collections:
В массив ArrayList в отличие от обычного массива, можно записывать данные любого типа.
Массив ArrayList создается при помощи конструктора
ArrayList myList = new ArrayList();
Здесь не указываеется начальная длина массива, по умолчанию она равна 16.
Преимущество массива ArrayList состоит в том, что не нужно беспокоиться о размере массива, по мере добавления элементов размер будет увеличиваться автоматически.
Для добавления элементов в массив ArrayList преднозначен метод Add. После добавления метод Add возвращает индекс нового элемента.
Для чтения элементов понадобится метод Count – определяет размер массива.
For (int i=0; i<myList.count; i++)
{
System.Console.WriteLine(“{0}”,myList[i]);
}
При помощи данной конструкции мы выведем все элементы массива на экран.
Для удаления элементов из массива используется несколько методов:
МетодClear удаляет все элементы из массива. (myList.Clear)
Метод Remowe удаляет из массива заданный элемент (myList.Remowe(“Hello”) – удалит из массива ячейку со словом Hello)
Метод RemoweAt удаляет элемент по индексу (myList.RemoweAt(2) – удалит элемент с индексом равным 2)
Метод RemoweRange удаляет диапазон элементов расположенных рядом (myList.RemoweRange(1,2) – удалит элементы с индексами от 1 до 2);
Для сортировки используется несколько перегруженных методов Sort.
Для изменения расположения элементов на обратное используется метод Rewerse.
В массивах чаще всего используется метод бинарного поиска BinarySearch. В качестве параметра этому методу нужно передать искомый элемент. При успехе метод вернет индекс найденного элемента, а в том случае, если элемент не найден, - отрицательное значение.