Задания по Визуальным средам

1. Дата. Реализовать класс Date с возможностью
получения дня недели для даты,
числа дней в i-том месяце начиная с текущего,
определение високосного года,
форматирования по шаблону (использовать DateTime и т.п. запрещено).
ToString(); или Format("mm.dd.yy") Format("m.dd.yyyy")

int getDayOfWeek(int year, int month, int day)
{
int a = (14 - month)/12;
int y = year + 4800 - a;
int m = month + 12*a - 3;
int Date = day + (153*m + 2)/5 + 365*y + y/4 - y/100 + y/400 - 32045;
int day_of_week = Date % 7 + 1;

return day_of_week;
}

2. Множество (Set) строк, методы/своиства Put, Contains, Remove, Clear, Empty, Count и др.
3. Перечисление (Enumeration), методы/своиства HasNext, Next, Empty, Count и др..
4. Список с произвольным доступом (List). Методы/своиства Put, Get, Remove, Clear, Empty, Count и др.
5. Очередь (Queue). Методы/свойства Add, Get, Empty, Count и др.
6. Стек (Stack). Методы Push, Pop, Empty, Count и др.
7. Словарь (Dictionary), методы/свойства Put, Get, Empty, Count, Keys и др.
8. Хеш-таблица, методы/свойства Put, Get, Empty, Count, Keys и др. Доступ к данным должен быть реализован с помощью хеш-функции.
9. Таблица (Table) c возможностью сортировки данных по строке и по столбцу, методы/свойства/индексаторы RowCount, ColCount, AddRow, AddColumn, DeleteRow, DeleteColumn, SortByRow, SortByColumn и др.
10. Класс/набор классов для описания двоичного дерева. Узел должен иметь как минимум имеет один атрибут - наименование.
11. Большое число. Реализовать класс большого целого положительного числа > UInt64.MaxValue, с возможностями сложения, вычитания, умножения, целочисленного деления.
12. Лог-менеджер. Реализовать класс записи в файл лог-сообщений трех типов (ошибка, предупреждение, информация).
13. Реализовать класс Time c возможностью получения информации о прошедшем с начала суток количестве секунд, добавления/вычитания часов, минут, секунд, форматирования по шаблону.
14. Реализовать класс учебное расписание (для какой-либо группы). Методы добавления занятий (по числителю/знаменателю/всегда, лекция/практика), получения информации по номеру пары, интервалу времени, вычисления интегральных характеристик (всего часов, практик, лекция и т.п.).
15. Реализовать класс вектор произвольной размерности с методами
- операциями (математическими) над векторами.
16. Реализовать набор классов, описывающих студента (с успеваемостью) и группу студентов. Класс Группа должен обладать функциональностью, позволяющей получать статистику по группе (количество задолженностей, средний балл и т.п.).
===========
2-ая задача =

Для каждой задачи необходимо реализовать объектную модель. В реализации задач должны присутствовать наследование, агрегация и др. взаимодействия классов. Интерфейс к задаче необходимо выполнить на WinForms с использованием компонентов. Формы и компоненты используются только для отображения и ввода данных, но не для хранения объектов.
1. Риэлтерское агентство. Приложение должно вести учет покупателей (физические и юридические лица), продавцов (физические и юридические лица), продаваемых объектов (квартиры, дома, нежилые помещения, офисы, склады). Смоделировать поток клиентов и покупателей с различными требованиями и заключение сделок между ними.
2. Районная поликлиника. Основные сущности: сотрудники (врачи, медсестры, заведующая, главная медсестра, мед.статисты), пациенты (взрослые, дети), болезни, учет больничных, прививки. Смоделировать процесс обслуживания пациентов.
3. Строительная фирма. Основные сущности: строящиеся объекты (дома, гаражи, квартиры), кадры (каменщики, плотники, маляры, водители, крановщики), стройматериалы (цемент, кирпич, плиты и т.д.). Смоделировать процесс строительства объектов.
4. Учет валютных операций. Основные сущности: типы валют, типы операций, клиенты. Смоделировать процесс обслуживания клиентов.
5. Домашняя видеотека. Основные сущности: диски (CD, DVD, BlueRay), фильмы, жанры, исполнители, друзья (кому и когда отдан диск на просмотр). Смоделировать обмен дисками N друзей.
6. Ведение заказов в пиццерии. Основные сущности: продукты, рецепты, готовая продукция, клиенты, адреса. Смоделировать процесс изготовления и заказа пиццы, поддерживать необходимый запас продуктов.
7. Биржа труда. Основные сущности: предприятия, их типы, вакансии, соискатели, их опыт работы, информация о полученном образовании. Смоделировать процесс поступления соискателей и вакансий на биржу труда и подбор персонала.
8. Зоомагазин. Основные сущности: товары: живые (рыбки, хомяки, мыши, попугаи, черепахи) и неживые (аквариумы, корма, средства по уходу и т.д), покупатели. Смоделировать процесс поступления товаров на склад, убыли живого товара в процессе продажи (пример – 100 рыбок поступило, 70 продано, 30 умерло), процесс продажи (обратить внимание на продажу сопутствующих товаров)
9. Спортивный комплекс. Основные сущности: материальная база (бассейны, беговые дорожки, спортзалы), персонал (тренеры, рабочие, уборщицы, врачи), группы (спортивные и оздоровительные), спортсмены и клиенты. Смоделировать процесс работы спортивного комплекса.
10. Грузоперевозки. Основные сущности: автомашины, типы грузов, города, между которыми осуществляются перевозки, сеть дорог, грузы, их типы, клиенты. Смоделировать процесс перевозки грузов.
11. Фирма по созданию ландшафтного дизайна. Основные сущности: типы и виды растений, ландшафтных конструкций, виды работ, предлагаемые услуги (как группа из растений, конструкций и работ); заказы; объекты, над которыми идет работа. Смоделировать процесс озеленения города.
12. Прием платы за электричество. Основные сущности: клиенты (физические и юридические лица), тарифы, платежи, задолженности, пени. Смоделировать процесс потребления, отразить влияние времени года на количество потребляемой электоэнергии.
13. Автосервис. Основные сущности: автомобили, виды поломок, предоставляемые услуги и цены, клиенты. Смоделировать процесс обслуживания автомобилей города в нескольких автосервисах, выполняющих различные типы работ.
14. Учет домашних финансов. Основные сущности: члены семьи, их виды деятельности, поступления, траты, типы и подтипы расходов, связь расходов с членами семьи, накопления, долги, кредиты. Смоделировать распределение средств семьи.
15. Библиотека ВУЗа. Основные сущности: издание (учесть тип), тематика, каталог изданий, читатель, сотрудник, количество экземпляров всего, учет экземпляров выданных на руки. Смоделировать процесс взятия книг, возврата, потерь, пополнения библиотеки. Обратить внимание на сезонные пики активностей.
Реализовать объектную модель. Для отображения использовать 2D-графику или графические элементы управления. Моделировать динамику процессов, используя таймер.
==============================================================
3-я задача =

Список задач
Разработать к описанному приложению следующие плагины:
1. Карандаш с возможностью изменения толщины линии.
2. Кисть с возможностью изменения толщины и формы кисти (возможные формы кистей могут подгружаются, например, из файлов).
3. Линия с возможностью изменения толщины и стиля.
4. Эллипс: с границей, с границей и заливкой, с заливкой без границы. Кроме того, должна быть возможность нарисовать ровный круг при на нажатии Shift. Поведение инструмента должно быть как в Microsoft Paint.
5. Прямоугольник: с границей, с границей и заливкой, с заливкой без границы. Кроме того, должна быть возможность нарисовать квадрат при на нажатии Shift. Поведение инструмента должно быть как в Microsoft Paint.
6. Прямоугольник со скругленными углами. То же самое, что 5, но дополнительно должна быть возможность задать величину скругления.
7. Заливка. Поведение инструмента должно быть как в Microsoft Paint.
8. Ластик с возможностью выбора его размера. Поведение инструмента должно быть как в Microsoft Paint.
9. Регулировка яркости и контрастности.
10. Размер холста и размер изображения (плагин-действие над изображением). Смысл этих действий - см. PhotoShop.
11. Многоугольник. После замыкания контура область внутри него должна автоматически заливаться цветом BackgroundColor. Если пользователь начал рисовать контур, но не замкнул его и нажимает клавишу Escape или Enter или заканчивает работать с данным инструментом, то контур должен автоматически замкнуться.
12. Размывка изображения с возможностью задания различных параметров.
13. Регулировка яркости для, отдельно, R-, G-, B-составляющих цветов.
14. Вертикальное, горизонтальное отражение изображения, поворот на угол 90, 180, 270 градусов (плагин-действие над изображением).
15. Транспонирование, градиентная заливка по вертикали или горизонтали от ForegroundColor до BackgroundColor (плагин-действие над изображением).

do_it's picture

могу скинуть первую задачу

rm -rf /

если есть прокомментированный код - было бы здорово)

_________ _ _ ______
dthcbz фкн вгу and co

Do_it, скинь, пожалуйста. Пригодится