- •Лабораторная работа № 1 рациональные числа
- •Теоретические сведения
- •Синтаксис объявления класса tRational
- •Программа работы
- •Исходные данные
- •Контрольные вопросы
- •Лабораторная работа № 2 комплексные числа
- •Теоретические сведения
- •Синтаксис объявления класса tComplex
- •Программа работы
- •Исходные данные
- •Контрольные вопросы
- •Лабораторная работа № 3 векторы
- •Теоретические сведения
- •Синтаксис объявления класса tVector
- •Программа работы
- •Контрольные вопросы
- •Лабораторная работа № 4 матрицы
- •Теоретические сведения
- •Арифметические операции с матрицами
- •Синтаксис объявления класса tMatrix
- •Основные свойства и методы компонента StringGrid
- •Программа работы
- •Исходные данные
- •Исходные данные
- •Контрольные вопросы
- •Лабораторная работа № 5 строки
- •Теоретические сведения
- •Программа работы
- •Исходные данные
- •Контрольные вопросы
- •Лабораторная работа № 6 стек
- •Теоретические сведения
- •Синтаксис объявления класса tStack
- •Программа работы
- •Контрольные вопросы
- •Лабораторная работа № 7 очередь
- •Теоретические сведения
- •Синтаксис объявления класса tQueue
- •Программа работы
- •Контрольные вопросы
- •Лабораторная работа № 8 деревья
- •Теоретические сведения
- •Синтаксис объявления класса tTreeNode
- •Синтаксис объявления класса tTree
- •Программа работы
- •Контрольные вопросы
- •Библиографический список
- •Содержание
-
Лабораторная работа № 1 рациональные числа
Цель работы: разработать класс рациональных чиселTRational, который будет содержать все арифметические операции с этими числами, а также получить практический навык его использования.
Теоретические сведения
Рациональным числом(Rational) называется число, которое можно представить в виде отношения двух целых чиселpи q, приq¹0.
Число pназывается числителем или нумератором (Numerator), а числоqназывается знаменателем или деноминатором (Denominator).
Существует несколько форм представления рациональных чисел:
Аналитическая (Analytical) форма. Число записывается в форматеp / q, что соответствует определению:
3/5; -3/-5; 3/-5; -3/5; 6/10; 6/5; 3/1; 0/1.
Нормализованная (Standardize) форма. Число записывается в аналитическом формате, но всегда с положительным знаменателем:
.
3/5; -3/-5; 3/-5; -3/5 // аналитическая форма
3/5; 3/5; -3/5; -3/5 // нормализованная форма
Редуцированная (Reduce) форма. Число записывается в нормализованном формате, но, первоначально, числитель и знаменатель уменьшаются на наибольший общий делитель (НОД):
.
6/10; -6/10; 4/8; 8/4 // нормализованная форма
3/5; -3/5; 1/2; 2/1 // редуцированная форма
Смешанная(Mixed) форма. Число записывается в редуцированном формате, но отдельно выделяется целая часть (div) при условии, что числитель больше или равен знаменателю:
,
где – остаток от деления двух целых чисел.
5/3; -5/3; 3/5; -3/5 6/3; -6/3 // редуцированная форма
1 2/3; -1 2/3; 3/5; -3/5; 2; -2 // смешанная форма
Арифметические операции с рациональными числами выполняются по следующим формулам:
Сложение (Addition):
.
Вычитание (Subtraction):
.
Умножение (Multiplication):
.
Деление (Division):
.
Для представления рациональных чисел в интегрированной среде разработки «Code Gear 2007»необходимо разработать пользовательский классTRational, который будет содержать не только данные о числителе и знаменателе числа, но и все необходимые операции для работы с ними.
ADT – формат класса TRational
ADT TRational
Поля
Числитель (FNum): Целый тип
Знаменатель (FDen): Целый тип
Методы
Конструктор
Вход: Числитель и знаменатель числа
Предусловие: Знаменатель не равен нулю
Начальные значения: Нет
Процесс: Инициализация полей объекта
Чтение числителя (Num) – подстановочный метод
Вход: Нет
Предусловие: Нет
Процесс: Нет
Постусловие: Нет
Выход: Числитель рационального числа
Чтение знаменателя (Den) – подстановочный метод
Вход: Нет
Предусловие: Нет
Процесс: Нет
Постусловие: Нет
Выход: Знаменатель рационального числа
Сложение с присвоением (+=)
Вход: Второе слагаемое
Предусловие: Нет
Процесс: Сложение рациональных чисел
Постусловие: Результат сложения присвоен полям объекта
Выход: Результат сложения рациональных чисел
Вычитание с присвоением (-=)
Вход: Вычитаемое
Предусловие: Нет
Процесс: Вычитание рациональных чисел
Постусловие: Результат вычитания присвоен полям объекта
Выход: Результат вычитания рациональных чисел
Умножение с присвоением (*=)
Вход: Второй сомножитель
Предусловие: Нет
Процесс: Умножение рациональных чисел
Постусловие: Результат умножения присвоен полям объекта
Выход: Результат умножения рациональных чисел
Деление с присвоением (/=)
Вход: Делитель
Предусловие: Числитель делителя не равен нулю
Процесс: Деление рациональных чисел
Постусловие: Результат деления присвоен полям объекта
Выход: Результат деления рациональных чисел
Конец ADT TRational