
- •Лабораторна робота 5 Конструювання ієрархії класів у с#
- •1.1. Завдання
- •2.1. Ієрархія класів в Windows-проектах
- •3.1. Реалізація ієрархії класів в Windows-проектах
- •InitializeComponent();
- •Init();
- •Virtual public void Init()
- •Virtual public void Draw(Graphics g1, Pen p1,
- •Virtual public void Init(double[,] a)
Лабораторна робота 2.1 "Створення windows-додатків на мові С#”
Лабораторна робота 5 Конструювання ієрархії класів у с#
Мета: набути умінь і навичок по конструюванню ієрархії класів та використанню віртуальних функцій.
Призначення: ознайомлення з основами конструювання і побудови ієрархії класів при створенні Windows-додатків у середовищі Visual Studio 2008 на мові С#. Опрацювання графічних об’єктів і їх методів.
1.1. Завдання
Написати Windows-проект на мові С# у Visual Studio 2008:
1. (+2 бала): Створіть діалогову Windows-форму і розмістить на неї графічне поле та декілька кнопок, як показано на рис. у прикладі з п. 3.1.
До проекту введіть базовий клас DotsPic та допоміжний клас G2p з наведеного у п. 3.1 прикладу. Від базового класу відповідно варіанту завдання створіть похідний клас другого рівню ієрархії, і на його базі – похідний клас третього рівню. При необхідності додайте нові елементи або модифікуйте наявні елементи базового класу.
2. (+3 бала): Побудовану ієрархію доповніть похідними класом четвертого рівня, що здійснює відображення елементів фігури різними кольорами, а також рух фігури і зміну її параметрів в процесі руху.
Варіанти завдань
№№ |
Вимоги до похідного класу другого рівню |
Вимоги до похідного класу третього рівню |
Засіб завдання параметрів |
|
Точки рівномірно розташовані на окружності. |
Кожна точка з’єднана відрізками прямих ліній з двома сусідніми. |
Кількість точок і радіус окружності задаються у одній групі текстових полів. Початкові координати центру окружності, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки нерівномірно розташовані на окружності. |
Кожна точка з’єднана відрізками прямих ліній з двома сусідніми. |
Кількість точок і радіус окружності задаються у одній групі текстових полів. Кут між сусідніми точками задається таблицею на формі. Початкові координати центру окружності, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки рівномірно розташовані на окружності, починаючи з найвищої позиції. |
Кожна точка з’єднана відрізком прямої лінії з центром окружності. |
Кількість точок і радіус окружності задаються у одній групі текстових полів. Початкові координати центру окружності, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки нерівномірно розташовані на окружності, починаючи з найвищої позиції, за годинниковою стрілкою. |
Кожна точка з’єднана відрізком прямої ліні з центром окружності. |
Кількість точок і радіус окружності задаються у одній групі текстових полів. Кут між сусідніми точками задається для кожній точки таблицею на формі. Початкові координати центру окружності, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки розташовані на сторонах квадрату, на рівній відстані одна від одної, починаючи з лівого верхнього кута. |
Кожна точка з’єднана відрізком прямої ліні з серединою протилежної сторони. |
Кількість точок, їх відстань і розмір сторони квадрату задаються у одній групі текстових полів. Початкові координати центру квадрата, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки розташовані на сторонах квадрату, на заданій відстані одна від одної, починаючи з лівого верхнього кута. |
Кожна точка з’єднана відрізком прямої ліні з серединою протилежної сторони. |
Кількість точок і розмір сторони квадрату задаються у одній групі текстових полів. Для кожної точки у таблиці на формі задається відстань до попередньої точки. Початкові координати центру квадрата, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки розташовані на сторонах квадрату, на рівній відстані одна від одної, починаючи з лівого верхнього кута. |
Кожна точка з’єднана відрізками прямих ліній зо всіма точками на протилежній стороні |
Кількість точок, їх відстань і розмір сторони квадрату задаються у одній групі текстових полів. Початкові координати центру квадрата, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки розташовані на сторонах квадрату, на заданій відстані одна від одної, починаючи з лівого верхнього кута. |
Кожна точка з’єднана відрізками прямих ліній зо всіма точками на сусідній стороні |
Кількість точок і розмір сторони квадрату задаються у одній групі текстових полів. Для кожної точки у таблиці на формі задається відстань до попередньої точки. Початкові координати центру квадрата, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки рівномірно розташовані на спіралі Архімеда, починаючи з центра. |
Кожна точка з’єднана відрізками прямих ліній з двома сусідніми. |
Кількість точок, кут між точками і крок спіралі задаються у одній групі текстових полів. Початкові координати центру спіралі, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки нерівномірно розташовані на спіралі Архімеда, починаючи з центра. |
Кожна точка з’єднана відрізками прямих ліній з двома сусідніми. |
Кількість точок і крок спіралі задаються у одній групі текстових полів. Кут між кожною точкою і наступною задається у таблиці на формі. Початкові координати центру спіралі, масштаб і кут повороту задаються у другій групі текстових полів |
|
Точки рівномірно розташовані на окружності. |
Кожна точка відображається колом з радіусом, що дорівнює 0.05 радіусу окружності. |
Кількість точок і радіус окружності задаються у одній групі текстових полів. Початкові координати центру окружності, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки нерівномірно розташовані на окружності. |
Перша точка відображається колом з радіусом, що дорівнює 0.05 радіусу окружності. У кожній наступній точки радіус збільшується на 10%. |
Кількість точок і радіус окружності задаються у одній групі текстових полів. Кут між сусідніми точками задається таблицею на формі. Початкові координати центру окружності, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки рівномірно розташовані на окружності, починаючи з найвищої позиції. |
Кожна точка відображається квадратом зі стороною, що дорівнює 0.05 радіусу окружності. |
Кількість точок і радіус окружності задаються у одній групі текстових полів. Початкові координати центру окружності, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки нерівномірно розташовані на окружності, починаючи з найвищої позиції, за годинниковою стрілкою. |
Перша точка відображається квадратом зі стороною, що дорівнює 0.05 радіусу окружності. У кожній наступній точки сторона квадрату збільшується на 10%. |
Кількість точок і радіус окружності задаються у одній групі текстових полів. Кут між сусідніми точками задається для кожній точки таблицею на формі. Початкові координати центру окружності, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки розташовані на сторонах квадрату, на рівній відстані одна від одної, починаючи з лівого верхнього кута. |
Кожна точка відображається рівнобічним трикутником зі стороною, що дорівнює 0.05 сторони квадрату. Основи трикутників лежать на сторонах квадрату. |
Кількість точок, їх відстань і розмір сторони квадрату задаються у одній групі текстових полів. Початкові координати центру квадрата, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки розташовані на сторонах квадрату, на заданій відстані одна від одної, починаючи з лівого верхнього кута. |
Кожна точка відображається рівнобічним трикутником з основою, що простягається від даної точки до наступної. |
Кількість точок і розмір сторони квадрату задаються у одній групі текстових полів. Для кожної точки у таблиці на формі задається відстань до попередньої точки. Початкові координати центру квадрата, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки розташовані на сторонах квадрату, на рівній відстані одна від одної, починаючи з лівого верхнього кута. |
При відображенні кожна точка є центром кола. Радіус кола є таким, що сусідні кола торкаються одне одного. |
Кількість точок, їх відстань і розмір сторони квадрату задаються у одній групі текстових полів. Початкові координати центру квадрата, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки розташовані на сторонах квадрату, на заданій відстані одна від одної, починаючи з лівого верхнього кута. |
При відображенні кожні дві сусідні точки є кінцями діаметру кола. |
Кількість точок і розмір сторони квадрату задаються у одній групі текстових полів. Для кожної точки у таблиці на формі задається відстань до попередньої точки. Початкові координати центру квадрата, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки рівномірно розташовані на спіралі Архімеда, починаючи з центра. |
При відображенні кожна точка є центром кола. Радіус кола складає 5% відстані точки від центру. |
Кількість точок, кут між точками і крок спіралі задаються у одній групі текстових полів. Початкові координати центру спіралі, масштаб і кут повороту задаються у другій групі текстових полів. |
|
Точки нерівномірно розташовані на спіралі Архімеда, починаючи з центра. |
При відображенні кожні дві сусідні точки з’єднуються відрізком прямої. |
Кількість точок і крок спіралі задаються у одній групі текстових полів. Кут між кожною точкою і наступною задається у таблиці на формі. Початкові координати центру спіралі, масштаб і кут повороту задаються у другій групі текстових полів |
|
Точки розташовані на фігурі Ліссажу. Координати задані функціями: X(t)=A*Sin(a*t+s); Y(t)=B*Sin(b*t); |
При відображенні кожні дві сусідні точки з’єднуються відрізком прямої |
Кількість точок і параметри функції задаються у групі текстових полів. Крок зміни параметру t задається у окремому текстовому полі. |
|
Точки розташовані на фігурі Ліссажу. Координати задані функціями: X(t)=A*Sin(a*t+s); Y(t)=B*Sin(b*t); |
При відображенні кожні дві сусідні точки з’єднуються відрізком прямої |
Кількість точок і параметри функції, окрім s, задаються у групі текстових полів. Параметр s задається повзунком. Крок зміни параметру t задається у окремому текстовому полі. |
|
Точки розташовані на фігурі Ліссажу. Координати задані функціями: X(t)=A*Sin(a*t+s); Y(t)=B*Sin(b*t); |
При відображенні кожні дві сусідні точки з’єднуються відрізком прямої |
Кількість точок і параметри функції, окрім b, задаються у групі текстових полів. Параметр b задається повзунком. Крок зміни параметру t задається у окремому текстовому полі. |
|
Точки розташовані на кардіоїді: відстань точки від початку координат задається функцією: R(t)=(1+Cos(t)); |
При відображенні кожні дві сусідні точки з’єднуються відрізком прямої |
Кількість точок і крок зміни параметру t задаються у текстових полях. Початкові координати центру, масштаб і кут повороту задаються у окремій групі текстових полів |
|
Точки розташовані на астроїді. Координати задані функціями: X(t)= (Cos(t))3; Y(t)=(Sin(t))3; |
При відображенні кожні дві сусідні точки з’єднуються відрізком прямої |
Кількість точок і крок зміни параметру t задаються у текстових полях. Початкові координати центру, масштаб і кут повороту задаються у окремій групі текстових полів |
|
Точки розташовані на циклоїді. Координати задані функціями: X(t)= t-Sin(t); Y(t)=1-Cos(t); |
При відображенні кожні дві сусідні точки з’єднуються відрізком прямої |
Кількість точок і крок зміни параметру t задаються у текстових полях. Початкові координати центру, масштаб і кут повороту задаються у окремій групі текстових полів |
При виконанні роботи користуватися лекціями 1.01-1.07 та 2.01-2.02 і наведеними нижче довідковими матеріалами.