Вариант 01 Лабораторная работа 01 |
250,00 ₽
Просмотров: 1037
|
Тип работы: | Лабораторная работа |
Название предмета: | Современные технологии программирования |
Тема/вариант: | Вариант 01 Лабораторная работа 01 |
Объем работы: | 18 |
ВУЗ: | СибГУТИ |
Дата выполнения: | 2013-08-20 |
Размер файла, тип файла: | 37.35 Kb, , PAS, DOC |
Прикрепленные файлы: |
Курс 280 Задание на курсовую работу по дисциплине «Современные технологии программирования» 8 семестр (3616 Kb)
|
Задание
1. Реализовать абстрактный тип данных «р-ичное число», используя класс
Object Pascal,
C++,
в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных, одним из методов тестирования.
Спецификация типа данных «р-ичное число».
ADT TPNumber
Данные Р-ичное число TPNumber - это действительное число (n) со знаком в системе счисления с основанием (b) (b в диапазоне 2..16), содержащее целую и дробную части. Точность представления числа c (c >= 0). Р-ичные числа изменяемые.
Операции
Операции могут вызываться только объектом р-ичное число (тип TPNumber), указатель на который в них передаётся по умолчанию. При описании операций этот объект называется «само число».
КонструкторЧисло
Начальные значения: Вещественное число (a) во внутреннем формате, система счисления (b), точность представления числа (c)
Процесс: Создаёт p-ичное число: система счисления (b), точность представления (c). В поле (n) созданного числа заносится (a).
Например:
КонструкторЧисло(a,3,3) = число a в системе счисления 3 с тремя разрядами после троичной точки.
КонструкторЧисло (a,3,2) = число a в системе счисления 3 с двумя разрядами после троичной точки.
КонструкторСтрока
Начальные значения: Строковое представление р–ичного числа (a), система счисления (b), точность представления числа (c)
Процесс: Создаёт р-ичное число: система счисления (b), точность представления (c). В поле (n) созданного числа заносится результат преобразования строки (a) в числовое представление. b-ичное число (a) и основание системы счисления (b) представлены в формате строки.
Например:
КонструкторСтрока(‘20’,’3’,’6’) = 20 в системе счисления 3, точность 6 знаков после запятой.
КонструкторСтрока (‘0’,’3’,’8’) = 0 в системе счисления 3, точность 8 знаков после запятой.
Копировать:
Вход: Нет.
Предусловия: Нет.
Процесс: Создаёт копию самого числа (тип TPNumber).
Выход: р-ичное число.
Постусловия: Нет.
Сложить
Вход: Р-ичное число d с основанием и точностью такими же, как у самого числа.
Предусловия: Нет.
Процесс: Создаёт и возвращает р-ичное число (тип TPNumber), полученное сложением полей (n) самого числа и числа d.
Выход: р-ичное число.
Постусловия: Нет
Умножить
Вход: Р-ичное число d с основанием и точностью такими же, как у самого числа.
Предусловия: Нет.
Процесс: Создаёт и возвращает р-ичное число (тип TPNumber), полученное умножением полей (n) самого числа и числа d.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
Вычесть
Вход: Р-ичное число d с основанием и точностью такими же, как у самого числа.
Предусловия: Нет.
Процесс: Создаёт и возвращает р-ичное число (тип TPNumber), полученное вычитанием полей (n) самого числа и числа d.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
Делить
Вход: Р-ичное число d с основанием и точностью такими же, как у самого числа.
Предусловия: Поле (n) числа (d) не равно 0.
Процесс: Создаёт и возвращает р-ичное число (тип TPNumber), полученное делением полей (n) самого числа на поле (n) числа d.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
Обратить
Вход: Нет.
Предусловия: Поле (n) самого числа не равно 0.
Процесс: Создаёт р-ичное число, в поле (n) которого заносится значение, полученное как 1/(n) самого числа.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
Квадрат
Вход: Нет.
Предусловия: Нет.
Процесс: Создаёт р-ичное число, в поле (n) которого заносится значение, полученное как квадрат поля (n) самого числа.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
ВзятьРЧисло
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (n) самого числа.
Выход: Вещественное значение.
Постусловия: Нет.
ВзятьРСтрока
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает р-ичное число (q) в формате строки, изображающей значение поля (n) самого числа в системе счисления (b) с точностью (c).
Выход: Строка.
Постусловия: Нет.
ВзятьОснованиеЧисло
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (b) самого числа (q).
Выход: Целочисленное значение
Постусловия: Нет.
ВзятьОснованиеСтрока
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (b) самого числа в формате строки, изображающей (b) в десятичной системе счисления.
Выход: Строка.
Постусловия: Нет.
ВзятьТочностьЧисло
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (c) самого числа .
Выход: Целое значение.
Постусловия: Нет.
ВзятьТочностьСтрока
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (c) самого числа в формате строки, изображающей (c) в десятичной системе счисления.
Выход: Строка.
Постусловия: Нет.
УстановитьОснованиеЧисло
Вход: Целое число (newb).
Предусловия: 2 <= newb <= 16.
Процесс: Устанавливает в поле (b) самого числа значение (newb).
Выход: Нет.
Постусловия: Нет.
УстановитьОснованиеСтрока
Вход: Строка (bs), изображающая основание (b) p-ичного числа в десятичной системе счисления.
Предусловия: Допустимый диапазон числа, изображаемого строкой (bs) - 2,,16.
Процесс: Устанавливает значение поля (b) самого числа значением, полученным в результате преобразования строки (bs).
Выход: Строка.
Постусловия: Нет.
УстановитьТочностьЧисло
Вход: Целое число (newc).
Предусловия: newc >= 0.
Процесс: Устанавливает в поле (c) самого числа значение (newc).
Выход: Нет.
Постусловия: Нет.
УстановитьТочностьСтрока
Вход: Строка (newc).
Предусловия: Строка (newc) изображает десятичное целое >= 0.
Процесс: Устанавливает в поле (c) самого числа значение, полученное преобразованием строки (newc).
Выход: Нет.
Постусловия: Нет.
end TPNumber
Рекомендации к выполнению
1. Тип данных реализовать, используя класс
• Object Pascal,
• С++.
2. Число храните как поле вещественного типа.
3. Основание системы счисления храните как поле целочисленного типа.
4. Для чтения и записи р - ичного числа в вещественном и строковом формате используйте свойства (property).
5. Тип данных реализовать в отдельном модуле UPNumber.
Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования типа данных.
Контрольные вопросы
1. Что такое инкапсуляция?
2. Как синтаксически представлено поле в описании класса?
3. Как синтаксически представлен метод в описании класса?
4. Как синтаксически представлено простое свойство в описании класса?
5. Особенности описания методов класса?
6. Особенности описания и назначение конструктора класса?
7. Видимость идентификаторов в описании класса?
8. Особенности вызова методов применительно к объектам класса?
Сообщить другу