- •Лабораторная работа № 1 рациональные числа
- •Теоретические сведения
- •Синтаксис объявления класса tRational
- •Программа работы
- •Исходные данные
- •Контрольные вопросы
- •Лабораторная работа № 2 комплексные числа
- •Теоретические сведения
- •Синтаксис объявления класса tComplex
- •Программа работы
- •Исходные данные
- •Контрольные вопросы
- •Лабораторная работа № 3 векторы
- •Теоретические сведения
- •Синтаксис объявления класса tVector
- •Программа работы
- •Контрольные вопросы
- •Лабораторная работа № 4 матрицы
- •Теоретические сведения
- •Арифметические операции с матрицами
- •Синтаксис объявления класса tMatrix
- •Основные свойства и методы компонента StringGrid
- •Программа работы
- •Исходные данные
- •Исходные данные
- •Контрольные вопросы
- •Лабораторная работа № 5 строки
- •Теоретические сведения
- •Программа работы
- •Исходные данные
- •Контрольные вопросы
- •Лабораторная работа № 6 стек
- •Теоретические сведения
- •Синтаксис объявления класса tStack
- •Программа работы
- •Контрольные вопросы
- •Лабораторная работа № 7 очередь
- •Теоретические сведения
- •Синтаксис объявления класса tQueue
- •Программа работы
- •Контрольные вопросы
- •Лабораторная работа № 8 деревья
- •Теоретические сведения
- •Синтаксис объявления класса tTreeNode
- •Синтаксис объявления класса tTree
- •Программа работы
- •Контрольные вопросы
- •Библиографический список
- •Содержание
Программа работы
Создать новый проект в меню FileðNewðVCL Forms Application, добавить к нему новый модуль (FileðNewðUnit) и сохранить все файлы в папке с именем ‘…\Лабораторная работа № 9’.
В заголовочной части второго модуля объявить класса TRational, а в исполняемом разделе модуля с расширением cpp определить все его методы в соответствии с ADT – форматом.
Создать на форме компоненты RadioGroup1 и Edit1 ¸ Edit4.
Рис. 1. Примерное расположение компонентов на форме
В обработчике выбора пунктов компонента RadioGroup1 объявить две объектных переменных с типом TRational, создав объекты с исходными данными, приведенными в Таблице №1, предусмотреть выполнение всех арифметических операций с присвоением в зависимости от выбранного пункта в компоненте RadioGroup1, используя оператор switch, и вывести значения числителя и знаменателя первого операнда в компоненты Edit3 и Edit4.
Таблица №1
Исходные данные
-
№ Варианта
Число a
Число b
№ Варианта
Число a
Число b
1
-4/-5
6/-7
11
2/-3
2/-7
2
-3/2
8/-5
12
-5/2
4/-9
3
-5/6
4/-3
13
-3/4
5/-8
4
9/4
-7/-8
14
-7/8
9/-5
5
-4/9
3/-4
15
-8/9
7/-3
6
-2/3
-9/7
16
-6/7
-2/3
7
-4/7
7/-3
17
-3/4
-8/-6
8
6/5
-4/-5
18
-9/2
-5/-6
9
-8/3
1/-3
19
-7/5
4/-3
10
-3/9
-5/-8
20
-9/3
-3/-7
Запустить программу на выполнение и записать в отчет объявленный класс и все его методы, зарисовать расположение компонентов на форме, записать обработчик выбора пунктов компонента RadioGroup1 и полученные результаты в виде таблицы, предварительно сравнив их с расчетными значениями.
Добавить к классу TRational все дополнительные методы, включая конструкторы, методы арифметических операций без присвоения и метод преобразования типов ToStr.
Заменить в обработчике выбора пунктов компонента RadioGroup1 старый способ выполнения арифметических операций на новый, используя компоненты Edit1 и Edit2 для ввода рациональных чисел в строковом формате, а компонент Edit3 – для вывода результатов с помощью метода ToStr.
Запустить программу на выполнение и записать обработчик выбора пунктов компонента RadioGroup1 и полученные результаты в виде таблицы, предварительно сравнив их с предыдущими значениями.
Ответить на контрольный вопрос, записав в отчет разработанный метод, обработчик его использования и результат выполнения программы.
Контрольные вопросы
Записать и протестировать в программе метод вывода рациональных чисел в нормализованном формате.
Записать и протестировать в программе метод вывода рациональных чисел в редуцированном формате.
Записать и протестировать в программе метод вывода рациональных чисел в смешанном формате.
Записать и протестировать в программе оператор унарного минуса.
Записать и протестировать в программе оператор инкремента.
Записать и протестировать в программе оператор декремента.
Записать и протестировать в программе оператор присвоения.
Записать и протестировать в программе оператор больше.
Записать и протестировать в программе оператор больше или равно.
Записать и протестировать в программе оператор меньше.
Записать и протестировать в программе оператор меньше или равно.
Записать и протестировать в программе оператор равно.
Записать и протестировать в программе оператор не равно.
Записать и протестировать в программе оператор умножения рационального числа на целое число.
Записать и протестировать в программе оператор умножения целого числа на рациональное число.
Записать и протестировать в программе оператор сложения двух рациональных чисел, если первый операнд передается ему в формате AnsiString, а второй – в формате TRational.
Записать и протестировать в программе оператор вычитания двух рациональных чисел, если первый операнд передается ему в формате TRational, а второй – в формате AnsiString.
Записать и протестировать в программе оператор деления двух рациональных чисел, если первый и второй операнд передается ему в формате AnsiString.
Записать и протестировать в программе метод, который находил бы решение следующего уравнения:
b × x + a = 0,
где b и a – рациональные числа;
x – неизвестная в формате TRational.
Записать и протестировать в программе метод возведения рационального числа в целую степень.
Записать и протестировать в программе метод нахождения гиперболической функции для рационального числа.