- •Лабораторная работа 1 Тема: Типы данных и операторы языка с#. Массивы. Строки. Регулярные выражения
- •Типы данных c#
- •Преобразования типов
- •Преобразования строк в число. Класс Convert
- •Массивы в c#
- •Int[] k; //k – одномерный массив
- •Базовый класс System.Array
- •Строки в с# Класс Сhar
- •Класс String
- •Строковые константы
- •Пространство имен RegularExpression и классы регулярных выражений
- •Синтаксис регулярных выражений
- •Классы пространства RegularExpressions
- •1. Проработать примеры 1-8, данные в теоретических сведениях. Создать на их основе программы. Получить результаты работы программ и уметь их объяснить. Внести их в отчет с комментариями.
- •2. Выполнить два задания на двумерный массив по заданному номеру варианта и номеру, отсчитанному с конца.
- •3. Выполнить два задания на строки по заданному номеру варианта и номеру, отсчитанному с конца. Использовать в задачах два класса строк: String и StringBuilder.
- •4. Выполнить задание на применение регулярных выражений. Выбрать одно по заданному номеру.
- •Лабораторная работа 2 Тема: Структуры и перечисления как частные виды классов. Классы. Интерфейсы
- •[Атрибуты][модификаторы]enum имя_перечисления[: базовый класс] {список_возможных_значений}
- •[Атрибуты][модификаторы]struct имя_структуры [:список_интерфейсов] {тело_структуры}
- •Классы в c# [атрибуты][модификаторы]class имя_класса [:список_родителей] {тело_класса}
- •Индексаторы
- •Статические поля и методы класса
- •Наследование
- •Интерфейсы
- •Две стратегии реализации интерфейса
- •Преобразование к классу интерфейса
- •Проблемы множественного наследования
- •Коллизия имен
- •Ip1.Prop1("интерфейс iProps: свойство 1");
- •Ip1.Prop2("интерфейс 1 ", 88);
- •Ip2.Prop1("интерфейс iPropsOne: свойство1");
- •2. Наследование от общего предка
- •Обработка исключительных ситуаций
- •Блок finally
- •Лабораторная работа 3 Тема: Разработка gui. Создание sdi-приложений. Обработка событий
- •Создание простых форм с помощью комплекса инструментальных средств разработки программ .Net sdk
- •Режимы дизайна и кода
- •Элементы управления
- •Общие свойства, события и методы элементов управления
- •Обработка событий в Windows Forms
- •События MouseDown и Keypress
- •Форматирование элементов управления
- •Создание меню
- •Закрытие формы
- •Диалоговые окна
- •Создание панели инструментов
- •Список элементов ListBox
- •Потоковые классы
- •Встроенные типы данных и потоки
- •Класс File
- •Сериализация объектов
- •Создание многооконного приложения
- •Для каждого пункта меню пишем обработчики событий, выполняющие соответсвтвующие пункту действия. Перечисление MdiLayout
- •Вырезание, копирование и вставка текстовых фрагментов
- •Контекстное меню
- •Диалоговые окна
- •Сохранение файла при закрытии формы
- •OpenFileDialog и SaveFileDialog для sdi-приложений
- •Лабораторная работа 5 Тема: Создание и вывод графический изображений на форму. Анимация.
- •Класс Region
- •Вывод графических объектов без события Paint
- •Возможности класса Graphics
- •Класс Pen
- •Вывод изображений
- •Элемент управления PictureBox
- •Вывод изображений и двойная буферизация
Блок finally
В блоке try могли быть заняты ресурсы - открыты файлы, захвачены некоторые устройства. Освобождение ресурсов, занятых try-блоком, выполняет finally-блок. Если он присутствует, он выполняется всегда, сразу же после завершения работы try-блока, как бы последний ни завершился.
Задания к лабораторной работе
Проработать примеры 1-6, данные в теоретических сведениях. Создать на их основе программы. Получить результаты работы программ и уметь их объяснить. Внести их в отчет с комментариями.
Для предложенной структуры данных разработать абстрактный класс и класс наследник. В классе реализовать несколько конструкторов. Создать методы, работающие с полями класса. Часть из них должны быть виртуальными. Добавить методы-свойства и индексаторы.
Разработать интерфейсные классы, добавляющие некоторые методы работы с объектами класса. Изучить причины возникновения коллизии имен и способы устранения.
Разработать классы исключительных ситуаций и применить их для обработки, возникающих исключений.
Написать демонстрационную программу.
Описания компонентных данных пользовательских классов:
1. СТУДЕНТ : ФИО, курс, пол, оценки.
2. СЛУЖАЩИЙ: имя, возраст, рабочий стаж, должности.
3. КАДРЫ: ФИО, номер цеха, разряд, специальности.
4. ИЗДЕЛИЕ: название, шифр, количество, комплектация.
5. ПЕЧАТНОЕ ИЗДАНИЕ: название, ФИО автора, стоимость, оглавление.
6. ЭКЗАМЕН: ФИО студента, дата, оценка, перечень вопросов.
7. АДРЕС: город, улица, номер дома, список жильцов.
8. ТОВАР: название, артикул, стоимость, даты (изготовление, срок реализации)
9. ЦЕХ: название, начальник, кол-во рабочих, перечень номенклатуры выпускаемых изделий.
10. ПЕРСОНА: ФИО, возраст, пол, список увлечений.
11. АВТОМОБИЛЬ: марка, мощность, стоимость, даты ремонта.
12. СТРАНА: название, форма правления, площадь, список областей.
13. ЖИВОТНОЕ: вид, класс, средний вес, места обитания.
14. КОРАБЛЬ: название, водоизмещение, тип, список категорий кают.
15. КАРТИНА: ФИО автора, название, жанр, список владельцев.
16. МУЗЕЙ: Название, адрес, ФИО директора, кол-во и названия залов.
17. КНИГА: Название, жанр, кол-во страниц, список авторов.
18. САМОЛЕТ: ФИО конструктора, марка, год выпуска, кол-во мест, список городов рейса.
Вопросы к защите лабораторной работы
К какой группе типов переменных относятся перечисления и структуры?
Описание перечисления и его назначение?
Числовые значения констант перечисления по умолчанию?
Использование перечислений в программах.
Описание структуры.
Роль конструктора в структуре?
Обращение к элементам структуры.
Упаковка и распаковка структуры.
Что такое класс? Для чего описываются классы?
Чем отличается класс от структуры?
Модификаторы доступа к полям и методам класса.
Модификаторы доступа к классам.
Что такое экземпляр класса? Как он создается в C#?
Для чего в классе определяется конструктор? Сколько может быть конструкторов в классе? Когда вызывается конструктор?
Как можно обратиться к полям и методам класса?
Методы-свойства класса. Назначение и описание.
Статические поля и методы класса. Назначение, описание и вызов статических методов.
Индексаторы. Назначение и описание.
Наследование в С#.
Изменение методов родителя в классе наследника.
Конструкторы при наследовании.
Описание абстрактных методов и классов.
Вложенные классы.
Интерфейсы. Назначение и описание.
Наследование в интерфейсах.
Реализация методов интерфейсов в классах.
Коллизия имен в интерфейсах.
Исключения. Обработка исключений в С#.
Создание классов исключений и генерация исключения.
