Все разделы / Программирование /


Страницу Назад
Поискать другие аналоги этой работы

За деньгиЗа деньги (300 руб.)

Современные технологии программирования. Лабораторная работа №3. Вариант: 8

Дата закачки: 01 Февраля 2015
Продавец: Shamrock
    Посмотреть другие работы этого продавца

Тип работы: Работа Лабораторная
Форматы файлов: Microsoft Word, Pascal
Сдано в учебном заведении: СибГУТИ

Описание:
Лабораторная работа №3. Абстрактный тип данных: P-ичный процессор.

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

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

Задание

1.В соответствии с приведенной ниже спецификацией реализовать абстрактный тип данных “P-ичный процессор”, используя класс
•Object Pasca,
• С++.

1.Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных “P-ичный процессор”.
ADT TProc

Данные
P-ичный процессор (тип TProc) выполняет двухоперандные операции TOprtn = (None, Add, Sub, Mul, Dvd) и однооперандные операции - функции TFunc = (Rev, Sqr). Если операция или функция не может быть выполнена, в поле Error типа String заносится сообщение об ошибке. Левый операнд и результат операции хранится в поле Lop_Res, правый - в поле Rop. Оба поля имеют тип TPNumber. Процессор может находиться в состоянии “операция установлена”: поле Operation не равно None (значение типа TOprtn) или в состоянии операция не установлена: поле Operation = None. Значения типа TProc - изменяемые. Они изменяются операциями: Сброс операции (OprtnClear), Выполнить операцию (OprtnRun), Вычислить функцию (FuncRun), Установить операцию (OprtnSet), Установить левый операнд (Lop_Res_Set), Установить правый операнд (Rop_Set), Сброс калькулятора (ReSet).

Операции
Конструктор
Начальные значения: система счисления (b), точность представления числа (c)
Процесс: Создаёт объект p-ичный процессор типа TProc. Поля Lop_Res, Rop инициализируются объектами (тип TPNumber) со значением 0 в системе счисления (b), с точность представления числа (c). В поле Error заносится пустая строка. Процессор устанавливается в состояние: “операция не установлена”: (Operation = None).

СбросПроцессора
Вход: система счисления (b), точность представления числа (c)
Предусловия: Нет.
Процесс: Поля объекта p-ичный процессор: Lop_Res, Rop инициализируются объектами (тип TPNumber) со значением 0 в системе счисления (b), с точность представления числа (c). В поле Error заносится пустая строка. Процессор устанавливается в состояние: “операция не установлена”: (Operation = None).
Выход: Нет
Постусловия: Состояние процессора – “операция сброшена” (Operation = None).

СбросОперации
Вход: Нет.
Предусловия: Нет.
Процесс: Процессор устанавливается в состояние: “операция не установлена”: (Operation = None).
Выход: Нет
Постусловия: Состояние процессора – “операция сброшена” (Operation = None).

ВыполнитьОперацию
Вход: Нет.
Предусловия: Нет.
Процесс: Вызывает выполнение текущей операции (записанной в поле Operation). Операция (Operation) выполняется над значениями, хранящимися в полях Rop и Lop_Res. Результат сохраняется в поле Lop_Res. Если Operation = None, никакие действия не выполняются. Если операция не может быть выполнена, в поле Error заносится сообщение об ошибке. Состояние объекта не изменяется.
Выход: Нет
Постусловия: Состояние процессора не изменяется.

ВычислитьФункцию
Вход: Вид функции (Func: TFunc).
Предусловия: Нет.
Процесс:

Вызывает выполнение текущей функции (Func). Функция (Func) выполняется над значением, хранящимся в поле Rop. Результат сохраняется в нём же. Если операция не может быть выполнена, в поле Error заносится сообщение об ошибке. Состояние объекта не изменяется.
Выход: Нет.
Постусловия: Состояние процессора не меняется.

ЧитатьЛевыйОперанд
Вход: Нет.
Предусловия: Нет.
Процесс: Создаёт и возвращает копию объекта, указатель на который хранится в Lop_Res.
Выход: Объект типа TPNumber.
Постусловия: Состояние процессора не изменяется.

ЗаписатьЛевыйОперанд
Вход: Переменная (Operand) типа TPNumber.
Предусловия: Нет.
Процесс: Создаёт копию объекта Operand и заносит указатель на него в поле Lop_Res.
Выход: Нет.
Постусловия: Состояние процессора не изменяется.

ЧитатьПравыйОперанд
Вход: Нет.
Предусловия: Нет.
Процесс: Создаёт и возвращает копию объекта,
Выход: Объект типа TPNumber.
Постусловия: Состояние процессора не меняется.

ЗаписатьПравыйОперанд
Вход: Переменная (Operand) типа TPNumber.
Предусловия: Нет.
Процесс: Создаёт копию объекта Operand и заносит указатель на него в поле Rop.
Выход: Нет.
Постусловия: Состояние процессора не изменяется.

ЧитатьСостояние
Вход: Нет.
Предусловия: Нет.
Процесс: Копирует и возвращает значение поля Operation.
Выход: Значение поля Operation.
Постусловия: Состояние процессора не изменяется.

ЗаписатьСостояние
Вход: Переменная (Oprtn) типа TOprtn.
Предусловия: Нет.
Процесс: Заносит значение Oprtn в поле Operation
Выход: Нет.
Постусловия: Состояние процессора изменяется на Oprtn.

ЧитатьОшибку
Вход: Нет.
Предусловия: Нет.
Процесс: Копирует и возвращает значение поля Error.
Выход: Значение поля Error.
Постусловия: Состояние процессора не изменяется.

СбросОшибки
Вход: Нет.
Предусловия: Нет.
Процесс: Очищает поле Error.
Выход: Нет.
Постусловия: Состояние процессора не изменяется.

Рекомендации к выполнению

1.Тип данных TProc реализовать, используя класс Object Pascal, С++.
1.Число храните как поле типа TPNumber (см. лаб. Раб. Абстрактный тип данных - Р-ичные числа).
2.Для чтения состояния процессора, полей: “левый операнд-результат” (Lop_Res), “правый операнд” (Rop), “ошибка” ()Error используйте свойство (property).
3.Тип данных реализовать в отдельном модуле UProc.
4.В приведённой во вложении таблице показана последовательность изменения состояния процессора при вычислении выражения:
2 + 3 * 4^2

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

1.Задание.
2.Текст программы.
3.Тестовые наборы данных для тестирования типа данных.


Коментарии: Работа была зачтена с первого раза в 2014г.
Преподаватель: Зайцев М.Г.

Размер файла: 43,9 Кбайт
Фаил: Упакованные файлы (.zip)

-------------------
Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные!
Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку.
Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот.
-------------------

 Скачать Скачать

 Добавить в корзину Добавить в корзину

        Коментариев: 0


Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них.
Опять не то? Мы можем помочь сделать!

Некоторые похожие работы:

К сожалению, предложений нет. Рекомендуем воспользваться поиском по базе.

Сдай работу играючи!

Рекомендуем вам также биржу исполнителей. Здесь выполнят вашу работу без посредников.
Рассчитайте предварительную цену за свой заказ.


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

Страницу Назад

  Cодержание / Программирование / Современные технологии программирования. Лабораторная работа №3. Вариант: 8

Вход в аккаунт:

Войти

Перейти в режим шифрования SSL

Забыли ваш пароль?

Вы еще не зарегистрированы?

Создать новый Аккаунт


Способы оплаты:
Z-PAYMENT VISA Card MasterCard Yandex деньги WebMoney Сбербанк или любой другой банк SMS оплата ПРИВАТ 24 qiwi PayPal

И еще более 50 способов оплаты...
Гарантии возврата денег

Как скачать и покупать?

Как скачивать и покупать в картинках

Здесь находится аттестат нашего WM идентификатора 782443000980
Проверить аттестат


Сайт помощи студентам, без посредников!