Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы(ЯМП, 3 сем).doc
Скачиваний:
18
Добавлен:
07.06.2015
Размер:
571.39 Кб
Скачать

Лабораторная работа №6. Использование графических объектов в Windows-приложении.

Задание. Создать Windows-приложение для вывода на форму заданного узора. Сделать цветными и фон формы и линии рисунка. Предусмотреть возможность задавать в приложении параметр узора (число его элементов – линий, кругов и т.п.)

Варианты заданий к лабораторной работе №6.

Вариант1 Вариант2

Вариант 3. Вариант 4.

Вариант5.

Вариант6. Вариант7.

Вариант 8. Вариант 9.

Вариант10.

Вариант11.

Вариант12.

Вариант 13. Вариант 14.

Вариант15

Вариант16 Вариант17

Вариант.18 Вариант19

Вариант20.

Вариант21. Вариант22.

Вариант23.

Вариант24

Вариант25. Вариант26.

Вариант27

Вариант28

Вариант29.

Вариант30.

Лабораторная работа №7. Построение иерархии классов в консольном приложении.

Общее задание. Добавьте в построенную на лекции иерархию геометрических объектов GeomObject→Прямоугольник→Параллелепипедновую "ветвь" классов (например, ветвьGeomObject→Круг→Цилиндр). В каждую ветвь добавьте класс, который представляет собой ёмкость для хранения сыпучих продуктов (например, классКоробка– производный от классаПараллелепипед, классВедро– производный от классаЦилиндр).

В класс GeomObjectдобавьте элемент данныхV– объём продукта в ёмкости и два метода:

void Print()– метод выводит количество продукта в ёмкости;

void Пересыпать(double часть, GeomObject объект)– метод "пересыпает" заданную часть (от 0 до 1) продукта в другую ёмкость. Добавление этих методов в базовый класс автоматически позволяет пользоваться этими методами в любом производном классе. Кроме того, использование в параметрах методаПересыпатьтипаGeomObjectпозволяет применить этот метод к ёмкостям разных типов, например, пересыпать из Ведра в Коробку.

В главной программе создайте несколько ёмкостей разных типов и выполните несколько пересыпаний в соответствии со своим вариантом. Выведите на экран полученное в каждой ёмкости количество продукта.

Варианты заданий к лабораторной работе №7.

Общее задание. В иерархию классов GeomObject→ Прямоугольник → Параллелепипед → добавьте класс Коробка – производный от Параллелепипеда. В классGeomObjectдобавьте элемент данныхV– объём продукта в ёмкости и два обычных метода:

Print()– метод выводит количество продукта в ёмкости;

Пересыпать(double часть, GeomObject объект)– метод "пересыпает" заданную часть (от 0 до 1) продукта из текущей в другую ёмкость. При этом, если пересыпаемое количество продукта не помещается в другую ёмкость, то не поместившаяся часть остаётся в исходной ёмкости.

В главной программе создайте несколько ёмкостей разных типов и выполните несколько пересыпаний. Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 1. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Круг → Цилиндр → Ведро.

В главной программе создайте два ведра и одну коробку с параметрами:

ведро1 : r = 5; h = 12; v = 500;

ведро2 : r = 3; h = 16; v = 300;

коробка: a = 5, b = 6, h = 10, v = 150.

Реализуйте следующую последовательность пересыпаний:

1) Из первого ведра пересыпать 0,2 части продукта во второе;

2) Из второго ведра пересыпать 0,5 части продукта в коробку;

3) Из коробки пересыпать 0,4 части продукта в первое ведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 2. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Круг → Конус → Коническое ведро.

В главной программе создайте два конических ведра и одну коробку с параметрами:

ведро1 : r = 17; h = 20; v = 1000;

ведро2 : r = 13; h = 10; v = 1300;

коробка: a = 11, b = 18, h = 12, v = 1500.

Реализуйте следующую последовательность пересыпаний:

1) Из первого ведра пересыпать 0,4 части продукта во второе;

2) Из второго ведра пересыпать 0,6 части продукта в коробку;

3) Из коробки пересыпать 0,7 части продукта в первое ведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 3. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Полукруг → Полуцилиндр → Полуведро.

В главной программе создайте два полуведра и одну коробку с параметрами:

полуведро1 : r = 8; h = 17; v = 800;

полуведро2 : r = 6; h = 15; v = 400;

коробка: a = 9, b = 24, h = 7, v = 800.

Реализуйте следующую последовательность пересыпаний:

1) Из первого полуведра пересыпать 0,5 части продукта во второе;

2) Из второго полуведра пересыпать 0,9 части продукта в коробку;

3) Из коробки пересыпать 0,7 части продукта в первое полуведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 4. Добавьте в построенную иерархию новую "ветвь" классов

GeomObject → Правильный треугольник → Призма → Треугольная коробка.

В главной программе создайте две треугольных коробки и одну обычную коробку с параметрами:

тр_коробка1 : a = 10; h = 40; v = 1000;

тр_коробка2 : a = 13; h = 15; v = 500;

коробка: a = 8, b = 12, h = 20, v = 1800.

Реализуйте следующую последовательность пересыпаний:

1) Из первой треугольной коробки пересыпать 0,3 части продукта во вторую;

2) Из второй треугольной коробки пересыпать 0,8 части продукта в обычную коробку;

3) Из обычной коробки пересыпать 0,5 части продукта в первую треугольную коробку.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 5. Добавьте в построенную иерархию новую "ветвь" классов

GeomObject → Правильный шестиугольник → Призма → Шкатулка.

В главной программе создайте две шкатулки и одну коробку с параметрами:

шкатулка1 : a = 2; h = 6; v = 50;

шкатулка2 : a = 3; h = 8; v = 150;

коробка: a = 5, b = 6, h = 12, v = 300.

Реализуйте следующую последовательность пересыпаний:

1) Из первой шкатулки пересыпать 0,7 части продукта во вторую;

2) Из второй шкатулки пересыпать 0,7 части продукта в коробку;

3) Из коробки пересыпать 0,1 части продукта в первую шкатулку.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 6. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Круг → Цилиндр → Ведро.

В главной программе создайте два ведра и одну коробку с параметрами:

ведро1 : r = 6; h = 13; v = 1000;

ведро2 : r = 5; h = 15; v = 800;

коробка: a = 10, b = 8, h = 20, v = 900.

Реализуйте следующую последовательность пересыпаний:

1) Из первого ведра пересыпать 0,2 части продукта во второе;

2) Из второго ведра пересыпать 0,8 части продукта в коробку;

3) Из коробки пересыпать 0,3 части продукта в первое ведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 7. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Круг → Конус → Коническое ведро.

В главной программе создайте два конических ведра и одну коробку с параметрами:

ведро1 : r = 7; h = 9; v = 300;

ведро2 : r = 12; h = 10; v = 1300;

коробка: a = 12, b = 9, h = 7, v = 600.

Реализуйте следующую последовательность пересыпаний:

1) Из первого ведра пересыпать 0,5 части продукта во второе;

2) Из второго ведра пересыпать 0,8 части продукта в коробку;

3) Из коробки пересыпать 0,2 части продукта в первое ведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 8. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Полукруг → Полуцилиндр → Полуведро.

В главной программе создайте два полуведра и одну коробку с параметрами:

полуведро1 : r = 12; h = 14; v = 1400;

полуведро2 : r = 9; h = 7; v = 400;

коробка: a = 12, b = 20, h = 5, v = 900.

Реализуйте следующую последовательность пересыпаний:

1) Из первого полуведра пересыпать 0,3 части продукта во второе;

2) Из второго полуведра пересыпать 0,5 части продукта в коробку;

3) Из коробки пересыпать 0,8 части продукта в первое полуведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 9. Добавьте в построенную иерархию новую "ветвь" классов

GeomObject → Правильный треугольник → Призма → Треугольная коробка.

В главной программе создайте две треугольных коробки и одну обычную коробку с параметрами:

тр_коробка1 : a = 6; h = 8; v = 50;

тр_коробка2 : a = 8; h = 2; v = 30;

коробка: a = 3, b = 5, h = 7, v = 100.

Реализуйте следующую последовательность пересыпаний:

1) Из первой треугольной коробки пересыпать 0,5 части продукта во вторую;

2) Из второй треугольной коробки пересыпать 0,1 части продукта в обычную коробку;

3) Из обычной коробки пересыпать 0,5 части продукта в первую треугольную коробку.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 10. Добавьте в построенную иерархию новую "ветвь" классов

GeomObject → Правильный шестиугольник → Призма → Шкатулка.

В главной программе создайте две шкатулки и одну коробку с параметрами:

шкатулка1 : a = 6; h = 18; v = 1000;

шкатулка2 : a = 7; h = 13; v = 1000;

коробка: a = 24, b = 4, h = 12, v = 700.

Реализуйте следующую последовательность пересыпаний:

1) Из первой шкатулки пересыпать 0,4 части продукта во вторую;

2) Из второй шкатулки пересыпать 0,7 части продукта в коробку;

3) Из коробки пересыпать 0,2 части продукта в первую шкатулку.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 11. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Круг → Цилиндр → Ведро.

В главной программе создайте два ведра и одну коробку с параметрами:

ведро1 : r = 6; h = 15; v = 1000;

ведро2 : r = 5; h = 10; v = 500;

коробка: a = 13, b = 8, h = 15, v = 1500.

Реализуйте следующую последовательность пересыпаний:

1) Из первого ведра пересыпать 0,2 части продукта во второе;

2) Из второго ведра пересыпать 0,2 части продукта в коробку;

3) Из коробки пересыпать 0,3 части продукта в первое ведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 12. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Круг → Конус → Коническое ведро.

В главной программе создайте два конических ведра и одну коробку с параметрами:

ведро1 : r = 6; h = 12; v = 400;

ведро2 : r = 9; h = 9; v = 600;

коробка: a = 11, b = 13, h = 6, v = 700.

Реализуйте следующую последовательность пересыпаний:

1) Из первого ведра пересыпать 0,4 части продукта во второе;

2) Из второго ведра пересыпать 0,3 части продукта в коробку;

3) Из коробки пересыпать 0,2 части продукта в первое ведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 13. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Полукруг → Полуцилиндр → Полуведро.

В главной программе создайте два полуведра и одну коробку с параметрами:

полуведро1 : r = 5; h = 8; v = 300;

полуведро2 : r = 7; h = 12; v = 700;

коробка: a = 5; b = 8; h = 21; v = 800.

Реализуйте следующую последовательность пересыпаний:

1) Из первого полуведра пересыпать 0,7 части продукта во второе;

2) Из второго полуведра пересыпать 0,1 части продукта в коробку;

3) Из коробки пересыпать 0,2 части продукта в первое полуведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 14. Добавьте в построенную иерархию новую "ветвь" классов

GeomObject → Правильный треугольник → Призма → Треугольная коробка.

В главной программе создайте две треугольных коробки и одну обычную коробку с параметрами:

тр_коробка1 : a = 12; h = 9; v = 400;

тр_коробка2 : a = 10; h = 6; v = 100;

коробка: a = 12, b = 11, h = 7, v = 900.

Реализуйте следующую последовательность пересыпаний:

1) Из первой треугольной коробки пересыпать 0,1 части продукта во вторую;

2) Из второй треугольной коробки пересыпать 0,5 части продукта в обычную коробку;

3) Из обычной коробки пересыпать 0,1 части продукта в первую треугольную коробку.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 15. Добавьте в построенную иерархию новую "ветвь" классов

GeomObject → Правильный шестиугольник → Призма → Шкатулка.

В главной программе создайте две шкатулки и одну коробку с параметрами:

шкатулка1 : a = 8; h = 13; v = 1200;

шкатулка2 : a = 6; h = 10; v = 700;

коробка: a = 17, b = 8, h = 9, v = 1100.

Реализуйте следующую последовательность пересыпаний:

1) Из первой шкатулки пересыпать 0,1 части продукта во вторую;

2) Из второй шкатулки пересыпать 0,2 части продукта в коробку;

3) Из коробки пересыпать 0,3 части продукта в первую шкатулку.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 16. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Круг → Цилиндр → Ведро.

В главной программе создайте два ведра и одну коробку с параметрами:

ведро1 : r = 12; h = 5; v = 1000;

ведро2 : r = 8; h = 9; v = 700;

коробка: a = 7, b = 7, h = 23, v = 600.

Реализуйте следующую последовательность пересыпаний:

1) Из первого ведра пересыпать 0,8 части продукта во второе;

2) Из второго ведра пересыпать 0,5 части продукта в коробку;

3) Из коробки пересыпать 0,1 части продукта в первое ведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 17. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Круг → Конус → Коническое ведро.

В главной программе создайте два конических ведра и одну коробку с параметрами:

ведро1 : r = 12; h = 16; v = 1000;

ведро2 : r = 10; h = 14; v = 1200;

коробка: a = 16, b = 13, h = 9, v = 1300.

Реализуйте следующую последовательность пересыпаний:

1) Из первого ведра пересыпать 0,2 части продукта во второе;

2) Из второго ведра пересыпать 0,6 части продукта в коробку;

3) Из коробки пересыпать 0,4 части продукта в первое ведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 18. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Полукруг → Полуцилиндр → Полуведро.

В главной программе создайте два полуведра и одну коробку с параметрами:

полуведро1 : r = 12; h = 4; v = 600;

полуведро2 : r = 6; h = 8; v = 300;

коробка: a = 3; b = 8; h = 12; v = 200.

Реализуйте следующую последовательность пересыпаний:

1) Из первого полуведра пересыпать 0,2 части продукта во второе;

2) Из второго полуведра пересыпать 0,3 части продукта в коробку;

3) Из коробки пересыпать 0,9 части продукта в первое полуведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 19. Добавьте в построенную иерархию новую "ветвь" классов

GeomObject → Правильный треугольник → Призма → Треугольная коробка.

В главной программе создайте две треугольных коробки и одну обычную коробку с параметрами:

тр_коробка1 : a = 7; h = 14; v = 200;

тр_коробка2 : a = 12; h = 8; v = 400;

коробка: a = 14, b = 12, h = 7, v = 1000.

Реализуйте следующую последовательность пересыпаний:

1) Из первой треугольной коробки пересыпать 0,4 части продукта во вторую;

2) Из второй треугольной коробки пересыпать 0,7 части продукта в обычную коробку;

3) Из обычной коробки пересыпать 0,1 части продукта в первую треугольную коробку.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 20. Добавьте в построенную иерархию новую "ветвь" классов

GeomObject → Правильный шестиугольник → Призма → Шкатулка.

В главной программе создайте две шкатулки и одну коробку с параметрами:

шкатулка1 : a = 5; h = 8; v = 400;

шкатулка2 : a = 7; h = 10; v = 800;

коробка: a = 15, b = 12, h = 6, v = 900.

Реализуйте следующую последовательность пересыпаний:

1) Из первой шкатулки пересыпать 0,7 части продукта во вторую;

2) Из второй шкатулки пересыпать 0,6 части продукта в коробку;

3) Из коробки пересыпать 0,3 части продукта в первую шкатулку.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 21. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Круг → Цилиндр → Ведро.

В главной программе создайте два ведра и одну коробку с параметрами:

ведро1 : r = 4; h = 9; v = 300;

ведро2 : r = 3; h = 7; v = 50;

коробка: a = 6, b = 4, h = 12, v = 200.

Реализуйте следующую последовательность пересыпаний:

1) Из первого ведра пересыпать 0,4 части продукта во второе;

2) Из второго ведра пересыпать 0,6 части продукта в коробку;

3) Из коробки пересыпать 0,3 части продукта в первое ведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 22. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Круг → Конус → Коническое ведро.

В главной программе создайте два конических ведра и одну коробку с параметрами:

ведро1 : r = 5; h = 7; v = 100;

ведро2 : r = 10; h = 8; v = 500;

коробка: a = 10, b = 12, h = 8, v = 700.

Реализуйте следующую последовательность пересыпаний:

1) Из первого ведра пересыпать 0,8 части продукта во второе;

2) Из второго ведра пересыпать 0,5 части продукта в коробку;

3) Из коробки пересыпать 0,1 части продукта в первое ведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 23. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Полукруг → Полуцилиндр → Полуведро.

В главной программе создайте два полуведра и одну коробку с параметрами:

полуведро1 : r = 13; h = 2; v = 400;

полуведро2 : r = 10; h = 3; v = 300;

коробка: a = 8; b = 4; h = 15; v = 200.

Реализуйте следующую последовательность пересыпаний:

1) Из первого полуведра пересыпать 0,3 части продукта во второе;

2) Из второго полуведра пересыпать 0,7 части продукта в коробку;

3) Из коробки пересыпать 0,5 части продукта в первое полуведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 24. Добавьте в построенную иерархию новую "ветвь" классов

GeomObject → Правильный треугольник → Призма → Треугольная коробка.

В главной программе создайте две треугольных коробки и одну обычную коробку с параметрами:

тр_коробка1 : a = 12; h = 6; v = 300;

тр_коробка2 : a = 10; h = 14; v = 400;

коробка: a = 16, b = 7, h = 10, v = 800.

Реализуйте следующую последовательность пересыпаний:

1) Из первой треугольной коробки пересыпать 0,6 части продукта во вторую;

2) Из второй треугольной коробки пересыпать 0,7 части продукта в обычную коробку;

3) Из обычной коробки пересыпать 0,2 части продукта в первую треугольную коробку.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 25. Добавьте в построенную иерархию новую "ветвь" классов

GeomObject → Правильный шестиугольник → Призма → Шкатулка.

В главной программе создайте две шкатулки и одну коробку с параметрами:

шкатулка1 : a = 12; h = 9; v = 2000;

шкатулка2 : a = 10; h = 7; v = 1000;

коробка: a = 13, b = 9, h = 25, v = 2300.

Реализуйте следующую последовательность пересыпаний:

1) Из первой шкатулки пересыпать 0,4 части продукта во вторую;

2) Из второй шкатулки пересыпать 0,6 части продукта в коробку;

3) Из коробки пересыпать 0,3 части продукта в первую шкатулку.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 26. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Круг → Цилиндр → Ведро.

В главной программе создайте два ведра и одну коробку с параметрами:

ведро1 : r = 7; h = 12; v = 1200;

ведро2 : r = 6; h = 13; v = 800;

коробка: a = 15, b = 12, h = 9, v = 1000.

Реализуйте следующую последовательность пересыпаний:

1) Из первого ведра пересыпать 0,5 части продукта во второе;

2) Из второго ведра пересыпать 0,6 части продукта в коробку;

3) Из коробки пересыпать 0,7 части продукта в первое ведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 27. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Круг → Конус → Коническое ведро.

В главной программе создайте два конических ведра и одну коробку с параметрами:

ведро1 : r = 5; h = 4; v = 70;

ведро2 : r = 3; h = 8; v = 50;

коробка: a = 3, b = 8, h = 2, v = 30.

Реализуйте следующую последовательность пересыпаний:

1) Из первого ведра пересыпать 0,3 части продукта во второе;

2) Из второго ведра пересыпать 0,5 части продукта в коробку;

3) Из коробки пересыпать 0,7 части продукта в первое ведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 28. Добавьте в построенную иерархию новую "ветвь" классов:

GeomObject → Полукруг → Полуцилиндр → Полуведро.

В главной программе создайте два полуведра и одну коробку с параметрами:

полуведро1 : r = 9; h = 6; v = 500;

полуведро2 : r = 8; h = 5; v = 400;

коробка: a = 9; b = 5; h = 14; v = 500.

Реализуйте следующую последовательность пересыпаний:

1) Из первого полуведра пересыпать 0,2 части продукта во второе;

2) Из второго полуведра пересыпать 0,3 части продукта в коробку;

3) Из коробки пересыпать 0,5 части продукта в первое полуведро.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 29. Добавьте в построенную иерархию новую "ветвь" классов

GeomObject → Правильный треугольник → Призма → Треугольная коробка.

В главной программе создайте две треугольных коробки и одну обычную коробку с параметрами:

тр_коробка1 : a = 5; h = 12; v = 100;

тр_коробка2 : a = 8; h = 16; v = 300;

коробка: a = 8, b = 18, h = 4, v = 400.

Реализуйте следующую последовательность пересыпаний:

1) Из первой треугольной коробки пересыпать 0,9 части продукта во вторую;

2) Из второй треугольной коробки пересыпать 0,6 части продукта в обычную коробку;

3) Из обычной коробки пересыпать 0,1 части продукта в первую треугольную коробку.

Выведите на экран полученное в каждой ёмкости количество продукта.

Вариант 30. Добавьте в построенную иерархию новую "ветвь" классов

GeomObject → Правильный шестиугольник → Призма → Шкатулка.

В главной программе создайте две шкатулки и одну коробку с параметрами:

шкатулка1 : a = 8; h = 4; v = 500;

шкатулка2 : a = 10; h = 3; v = 600;

коробка: a = 6, b = 7, h = 8, v = 300.

Реализуйте следующую последовательность пересыпаний:

1) Из первой шкатулки пересыпать 0,2 части продукта во вторую;

2) Из второй шкатулки пересыпать 0,1 части продукта в коробку;

3) Из коробки пересыпать 0,3 части продукта в первую шкатулку.

Выведите на экран полученное в каждой ёмкости количество продукта.