Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка2.doc
Скачиваний:
34
Добавлен:
13.02.2015
Размер:
1.4 Mб
Скачать

Программа работы

  1. Создать новый проект в меню FileðNewðVCL Forms Application, добавить к нему новый модуль (FileðNewðUnit) и сохранить все файлы в папке с именем ‘…\Лабораторная работа № 11’.

  2. В заголовочной части второго модуля объявить класса TVector, а в исполняемом разделе модуля с расширением cpp определить все его методы в соответствии с ADT – форматом.

  3. Создать на форме компоненты RadioGroup1 и Edit1 ¸ Edit6.

Рис. 4. Примерное расположение компонентов на форме

  1. В обработчике выбора пунктов компонента RadioGroup1 объявить две объектных переменных с типом TVector, создав объекты с исходными данными, приведенными в Таблице №1, предусмотреть выполнение всех арифметических операций с присвоением в зависимости от выбранного пункта в компоненте RadioGroup1, используя оператор switch, и вывести значения координат результирующего вектора в компоненты Edit3 ¸ Edit5, а результат скалярного произведения векторов в компонент Edit6.

Исходные данные Таблица №1

№ Варианта

Вектор a

Вектор b

№ Варианта

Вектор a

Вектор b

1

(-4, 1, 3)

(2, 0, -1)

11

(-2, 0, 1)

(1, 2, -2)

2

(1, 2, -3)

(0, -1, 4)

12

(1, 2, -4)

(0, -3, 1)

3

(1, -1, 2)

(-2, 0, 3)

13

(-3, 0, 1)

(-3, 1, 2)

4

(-2, 1, 3)

(2, 3, -1)

14

(-4, 2, 1)

(1, -2, 0)

5

(-3, 0, 1)

(-1, 0, 4)

15

(-3, 3, 2)

(-2, 1, 3)

6

(0, 3, -2)

(5, -3, 2)

16

(0, -3, 1)

(5, -4, 1)

7

(4, 0, -1)

(2, -3, 0)

17

(2, 1, -3)

(2, -3, 1)

8

(2, -1, 4)

(-3, 0, 1)

18

(-2, 1, 4)

(3, 2, -1)

9

(0, 1, -3)

(2, 0, -3)

19

(0, -2, -1)

(-2, 1, 3)

10

(4, -1, 3)

(-1, 3, 1)

20

(-4, 1, 2)

(-2, 0, 4)

  1. Запустить программу на выполнение и записать в отчет объявленный класс и все его методы, зарисовать расположение компонентов на форме, записать обработчик выбора пунктов компонента RadioGroup1 и полученные результаты в виде таблицы, предварительно сравнив их с расчетными значениями.

  2. Добавить к классу TVector все дополнительные методы, включая конструкторы, методы арифметических операций без присвоения и метод преобразования типов ToStr.

  3. Заменить в обработчике выбора пунктов компонента RadioGroup1 старый способ выполнения арифметических операций на новый, используя компоненты Edit1 и Edit2 для ввода векторных чисел в строковом формате, а компонент Edit3 – для вывода результатов с помощью метода ToStr.

  4. Запустить программу на выполнение и записать обработчик выбора пунктов компонента RadioGroup1 и полученные результаты в виде таблицы, предварительно сравнив их с предыдущими значениями.

  5. Создать новую форму в меню FileðNewðForm, сделав её главной формой проекта (ProjectðOptionsðFormsðMain form), и разместить на ней компоненты Image, Edit1 ¸ Edit4 и Button. В компоненте Image поместить изображение треугольника, а в компоненты Edit1 ¸ Edit3 записать координаты вершин треугольника, которые заданы в Таблице №2. В обработчике нажатия кнопки Button1 написать программу для нахождения площади треугольника, которая должна выводиться в компонент Edit4, используя формулы векторного произведения.

  6. Запустить программу на выполнение и записать в отчет расположение компонентов на форме, обработчик нажатия кнопки Button1 и найденную площадь треугольника, предварительно сравнив полученный результат с расчетным значением.

  7. Ответить на контрольный вопрос, записав в отчет разработанный метод, обработчик его использования и результат выполнения программы.

Исходные данные Таблица №2

А

В

С

А

В

С

1

(0, -2, 1)

(2, -3, 1)

(-3, -1, 1)

11

(1, -2, 1)

(1, 2, 4)

(1, 1, 6)

2

(1, -1, 2)

(1, 2, 3)

(1, 3, 4)

12

(1, -3, 2)

(4, -6, 2)

(-1, -5, 2)

3

(-1, 5, 0)

(-2, 6, 0)

(0, 3, 2)

13

(-1, -2, 2)

(0, 1, 2)

(0, -2, 6)

4

(1, -2, 3)

(2, -2, 1)

(4, -2, 1)

14

(0, -1, -2)

(-1, 1, -2)

(2, -1, 4)

5

(-1, 4, -3)

(-3, 1, -3)

(-2, 5, -3)

15

(-3, 1, 1)

(-2, -3, 4)

(-3, 3, -4)

6

(1, 3, 1)

(-1, 1, -2)

(1, 5, 2)

16

(-1, 5, -4)

(0, 5, 4)

(2, 5, 4)

7

(-1, 3, -5)

(-2, 1, -5)

(-1, 5, -2)

17

(1, -2, 1)

(1, 4, 2)

(1, -1, 4)

8

(2, 1, -1)

(4, -1, -1)

(-1, 0,-1)

18

(-3, -1, 1)

(-3, 5, 2)

(-3, -1, 4)

9

(2, -1, 4)

(5, -1, 1)

(-1, -3, 6)

19

(2, 1, -1)

(2, 7, 0)

(2, 6, 3)

10

(1, 2, 1)

(0, -1, 1)

(4, 1, 1)

20

(4, -6, 2)

(4, -1, 4)

(4, -6, 6)