Классы Object Pascal, С++




Скачать 79.19 Kb.
НазваниеКлассы Object Pascal, С++
Дата публикации09.10.2014
Размер79.19 Kb.
ТипЛабораторная работа
shkolnie.ru > Бухгалтерия > Лабораторная работа

Современные технологии программирования


Лабораторная работа №1. Абстрактный тип данных (ADT) p - ичное число

Тема: Классы Object Pascal, С++

Цель: Сформировать практические навыки: реализации абстрактного типа данных с помощью классов Object Pascal, С++.

Задание

  1. Реализовать абстрактный тип данных “р-ичное число”, используя класс

Object Pascal,

C++,

в соответствии с приведенной ниже спецификацией.

  1. Протестировать каждую операцию, определенную на типе данных, одним из методов тестирования.

Спецификация типа данных “р-ичное число”.

^ 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,

  • С++.

  1. Число храните как поле вещественного типа.

  2. Основание системы счисления храните как поле целочисленного типа.

  3. Для чтения и записи р - ичного числа в вещественном и строковом формате используйте свойства (property).

  4. Тип данных реализовать в отдельном модуле UPNumber.

Содержание отчета

  1. Задание.

  2. Текст программы.

  3. Тестовые наборы данных для тестирования типа данных.

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

  1. Что такое инкапсуляция?

  2. Как синтаксически представлено поле в описании класса?

  3. Как синтаксически представлен метод в описании класса?

  4. Как синтаксически представлено простое свойство в описании класса?

  5. Особенности описания методов класса?

  6. Особенности описания и назначение конструктора класса?

  7. Видимость идентификаторов в описании класса?

  8. Особенности вызова методов применительно к объектам класса?

Похожие:

Классы Object Pascal, С++ iconЛабораторная работа №5. Управление калькулятором р-ичных чисел Тема: Классы Object Pascal, С++
...
Классы Object Pascal, С++ iconЛабораторная работа №6. Интерфейс калькулятора р-ичных чисел Тема: Классы Object Pascal, С++
...
Классы Object Pascal, С++ iconЛабораторная работа №2. Абстрактный тип данных (adt) “р-ичная память” Тема: Классы Object Pascal
Цель: Сформировать практические навыки: реализации абстрактного типа данных с помощью классов Object Pascal, С++
Классы Object Pascal, С++ iconЛабораторная работа №3. Абстрактный тип данных: p-ичный процессор. Тема: Классы Object Pascal
Цель: Сформировать практические навыки: реализации абстрактного типа данных с помощью классов Object Pasca, С++
Классы Object Pascal, С++ iconЛабораторная работа №4. Редактор р-ичных чисел Тема: Классы
...
Классы Object Pascal, С++ iconКафедра информатики и информационных технологий
Язык Delphi — строго типизированный объектно-ориентированный язык, в основе которого лежит Object Pascal
Классы Object Pascal, С++ iconКафедра информатики и информационных технологий
Язык Delphi — строго типизированный объектно-ориентированный язык, в основе которого лежит Object Pascal
Классы Object Pascal, С++ iconКафедра информатики и информационных технологий
Язык Delphi — строго типизированный объектно-ориентированный язык, в основе которого лежит Object Pascal
Классы Object Pascal, С++ iconЛабораторная работа. Абстрактный тип данных «полином»
Цель: Сформировать практические навыки: реализации абстрактных типов данных с помощью классов Object Pascal
Классы Object Pascal, С++ iconОсобенности разработки компилятора языка object pascal для платформы. Net
Бондарев И. В. магистр, Университет Bayreuth(Германия); Иванов С. О. магистр юфу; Михалкович С. С. доцент, к ф-м н Юфу
Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2014
shkolnie.ru
Главная страница