Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


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




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

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

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

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

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

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

№ Варианта Вектор a Вектор b № Варианта Вектор a Вектор b
(-4, 1, 3) (2, 0, -1) (-2, 0, 1) (1, 2, -2)
(1, 2, -3) (0, -1, 4) (1, 2, -4) (0, -3, 1)
(1, -1, 2) (-2, 0, 3) (-3, 0, 1) (-3, 1, 2)
(-2, 1, 3) (2, 3, -1) (-4, 2, 1) (1, -2, 0)
(-3, 0, 1) (-1, 0, 4) (-3, 3, 2) (-2, 1, 3)
(0, 3, -2) (5, -3, 2) (0, -3, 1) (5, -4, 1)
(4, 0, -1) (2, -3, 0) (2, 1, -3) (2, -3, 1)
(2, -1, 4) (-3, 0, 1) (-2, 1, 4) (3, 2, -1)
(0, 1, -3) (2, 0, -3) (0, -2, -1) (-2, 1, 3)
(4, -1, 3) (-1, 3, 1) (-4, 1, 2) (-2, 0, 4)

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

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

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

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

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

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

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

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

А В С А В С
(0, -2, 1) (2, -3, 1) (-3, -1, 1) (1, -2, 1) (1, 2, 4) (1, 1, 6)
(1, -1, 2) (1, 2, 3) (1, 3, 4) (1, -3, 2) (4, -6, 2) (-1, -5, 2)
(-1, 5, 0) (-2, 6, 0) (0, 3, 2) (-1, -2, 2) (0, 1, 2) (0, -2, 6)
(1, -2, 3) (2, -2, 1) (4, -2, 1) (0, -1, -2) (-1, 1, -2) (2, -1, 4)
(-1, 4, -3) (-3, 1, -3) (-2, 5, -3) (-3, 1, 1) (-2, -3, 4) (-3, 3, -4)
(1, 3, 1) (-1, 1, -2) (1, 5, 2) (-1, 5, -4) (0, 5, 4) (2, 5, 4)
(-1, 3, -5) (-2, 1, -5) (-1, 5, -2) (1, -2, 1) (1, 4, 2) (1, -1, 4)
(2, 1, -1) (4, -1, -1) (-1, 0,-1) (-3, -1, 1) (-3, 5, 2) (-3, -1, 4)
(2, -1, 4) (5, -1, 1) (-1, -3, 6) (2, 1, -1) (2, 7, 0) (2, 6, 3)
(1, 2, 1) (0, -1, 1) (4, 1, 1) (4, -6, 2) (4, -1, 4) (4, -6, 6)

Контрольные вопросы

1. Записать и протестировать в программе оператор унарного минуса.

2. Записать и протестировать в программе оператор инкремента.

3. Записать и протестировать в программе оператор декремента.

4. Записать и протестировать в программе оператор присвоения.

5. Записать и протестировать в программе оператор равно.

6. Записать и протестировать в программе оператор не равно.

7. Записать и протестировать в программе оператор сложения двух векторных чисел, если первый операнд передается ему в формате AnsiString, а второй – в формате TVector.

8. Записать и протестировать в программе оператор вычитания двух рациональных чисел, если первый операнд передается ему в формате TVector, а второй – в формате AnsiString.

9. Записать и протестировать в программе оператор векторного произведения двух векторных чисел, если первый и второй операнд передается ему в формате AnsiString.

10. Записать и протестировать в программе оператор умножения действительного числа на векторное число.

11. Написать и протестировать программу, которая находит площадь параллелограмма, заданного координатами трех вершин О, A и В.

12. Написать и протестировать программу, которая находит периметр треугольника, заданного координатами трех вершин А, B и C.

13. Написать и протестировать программу, которая находит периметр параллелограмма, заданного координатами трех вершин А, B и C.

14. Добавить к классу TVector метод, который находил бы угол между двумя векторами j по формуле: cos(j) = a×b/|a|×|b|.

15. Написать и протестировать программу, которая находит объем параллелепипеда, заданного координатами четырех вершин (О, A, В, С). Для этого использовать формулу смешанного произведения векторов:

.

16. Написать программу, которая находит площадь поверхности параллелепипеда, заданного координатами четырех вершин (О, A, В, С).

17. Записать и протестировать в программе метод проверки двух векторов на коллинеарность.

18. Записать и протестировать в программе метод проверки трех векторов на компланарность.

19. Записать и протестировать в программе метод нахождения проекции вектора a на направление вектора b.

20. Записать и протестировать в программе метод нахождения двойного векторного произведения.



Поделиться:

Дата добавления: 2015-08-05; просмотров: 62; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты