- •Лабораторные работы по курсу «Современные технологии и инструментарий программирования»
- •1.Программирование двусвязного списка на c#
- •1.1.Задание
- •1.2.Выбор каркаса приложения
- •1.3.Описание вариантов заданий
- •2.Приложение wForms с DataGridView на c#
- •2.1.Задание
- •2.2.Описание вариантов заданий
- •2.3.Сценарий разработки приложения
- •2.4.Как (бесплатно) получить путь к приложению
- •If(System.Io.File.Exists(Path)) /*есть*/; else /*нет*/;
- •3.Доступ к серверу Excel на c#
- •Сценарий выполнения работы
- •4.Класс матриц c#
- •4.1.Задание
- •5.Ассоциативные массивы на c#
- •5.1.Задание вкупе с ценными методическими указаниями
- •If(MyArr.Add("Охорона студента від викладача", "Тугодумко Петро", Mark)) /* Слава Україні!*/; else /* Вибачте, маячня!*/;
- •If(MyArr.Add("Хвілосохвія", "Розумниця Настя", new int [] {2,3,2})) /* Сало понад усе!*/; else /* Пробачте, нісенітниця!*/;
- •5.2.Варианты заданий для ритейла
- •6.Приложение «Тараканьи бега» (wpf с#)
- •6.1.Задание
- •6.2.Рисование простейших фигур на холсте
- •10, // Задержка перед вызовом функции обр. Вызова
- •200 // Интервал вызова функции обр. Вызова
- •7.Разработка простейшего приложения Windows Forms на c#
- •7.1.Задание
- •7.2.Бесценные методические предписания
- •Литература
- •7. Проект New_Syntax
- •8. Руководство_по_c#.Doc
Лабораторные работы по курсу «Современные технологии и инструментарий программирования»
(семестр 10 2015/2016)
1. Программирование двусвязного списка на C# 2
2. Приложение WForms с DataGridView на C# 5
3. Доступ к серверу Excel на C# 20
4. Класс матриц C# 29
5. Ассоциативные массивы на C# 32
6. Приложение «Тараканьи бега» (WPF С#) 34
7. Разработка простейшего приложения Windows Forms на C# 42
Литература 45
1.Программирование двусвязного списка на c#
Если в программе предусмотрен контроль всех исходных данных, то преподаватель обязательно найдет способ, чтобы ошибочные данные прошли через этот контроль и завалили вашу программу
Закон Мерфи-ОВН
Цель работы – освоить разработку консольных приложений Windows на C#, использующих двусвязные списки для обработки данных (4 час.).
1.1.Задание
В работе [5] изучите подразделы 3.1, 3.2 и 3.3. Создайте консольное приложение на основе шаблона CLR (рис. 1), добавьте в него класс узел связного списка и класс список на основе данных в [5] листингов.
Выполните отладку приложения, тестируйте его и добейтесь корректной работы.
Разработайте собственный класс узел (элемент списка) в соответствии с вашим вариантом задания, приведенным ниже в табл. 1. Разрешается разработать свой вариант задания, но перед выполнением согласовать его с преподавателем.
При выполнении любого варианта задания предусмотреть такую реализацию программы, использующей разработанные вами классы, которая бы позволила убедиться в корректности реализации методов класса. В частности, во всех вариантах должен быть реализован метод вывода на монитор значений всех член-данных объектов.
Кроме того, для проверки корректности реализации двусвязного списка необходимо реализовать в программе вывод элементов отсортированного списка в обратном порядке: от последнего к первому.
В программе предусмотрите два варианта ввода данных, которые должны сохраняться в узлах списка:
ввод данных с клавиатуры;
чтение данных из текстового файла.
Эти варианты ввода должны выбираться с помощью меню. С примером чтения и записи текстовых файлов на С# можно ознакомиться в сценарии л.р. «Приложение WForms с DataGridView на C#» а также по разд. «Чтение текстового файла» [5].
1.2.Выбор каркаса приложения
Р |
1.3.Описание вариантов заданий
В каждом варианте задания оговаривается содержимое класса узла, т.е. те данные, которые должны там сохраняться, и их типы (если не указан – то Int32). Кроме того, оговаривается член-функция класса списка, которая должна быть реализована в дополнение к тем, текст которых имеется в приведенном выше источнике.
Таблица 1.
Варианты заданий
№ вар. |
Задание |
1 |
Узел списка Трактор с член-данными марка (string), цвет (string), объем (float) и мощность двигателя. Реализовать член-функцию «добавление в начало списка нового узла» |
2 |
Узел списка Служащий с член-данными ФИО (string), идентификационный код, возраст. Реализовать член-функцию «удаление первого элемента списка» |
3 |
Узел списка Книга с член-данными число страниц, язык издания (string), наличие иллюстраций (bool). Реализовать член-функцию «удаление последнего элемента списка» |
4 |
Узел списка Комната с член-данными ширина (float), длина (double) и цвет стен (string). Реализовать член-функцию «получение элемента с заданным порядковым номером» |
5 |
Узел списка Птица с член-данными вес (float), максимальные высота и скорости, порода (string). Реализовать член-функцию «удаление элемента с заданным порядковым номером» |
6 |
Узел списка Двигатель с член-данными тип двигателя ((string)бензиновый, дизельный, электрический, комбинированный), фирма-производитель (string) и мощность двигателя (float). Реализовать член-функцию «замена элемента с заданным порядковым номером на новый» |
7 |
Узел списка Вектор с член-данными массив целочисленных данных, его размер и фактическое число элементов. Реализовать член-функцию «поиск элемента с заданным содержимым» |
8 |
Узел списка Муха с член-данными вид (string), число крыльев и их размах (float). Реализовать член-функцию «вставка элемента перед указанным порядковым номером» |
9 |
Узел списка Сок (напиток) с член-данными марка (string), производитель (string) и объем упаковки (float). Реализовать член-функцию «удаление всех элементов, удовлетворяющих некоторому условию» |
10 |
Узел списка Ребенок с член-данными вес, рост и раса (string). Реализовать член-функцию «вставка элемента после указанного порядкового номера» |
11 |
Узел списка Компьютер с член-данными марка (string), число процессоров, объем оперативной памяти (float). Реализовать член-функцию «добавление в конец списка нового узла» |
12 |
Узел списка Окно с член-данными меню (string) и число тем меню, наличие инструментальной панели (bool) и строки статуса (bool). Реализовать член-функцию «замена элемента с заданным порядковым номером на новый» |
13 |
Узел списка с член-данными ФИО (string), пол (bool), специальность (string), курс обучения. Реализовать член-функцию «замена элемента с заданным порядковым номером на новый» |
14 и далее |
Ваш собственный вариант, согласованный с преподавателем |

ис.
1. Выбор каркаса приложения