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

300

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

ID: 149936
Дата закачки: 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)
-------------------
Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные!
Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку.
Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот.
-------------------

   Скачать

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


    Скачано: 2         Коментариев: 0


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

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

Современные технологии программирования. Лабораторная работа 1,2,3. Вариант 3
ЛАБОРАТОРНЫЕ РАБОТЫ №1-3 по дисциплине «Современные технологии программирования (часть 2)». Вариант общий. 2019 год.
Лабораторные работы №1,2,3 по дисциплине: Современные технологии программирования (часть 1). Для всех вариантов
Современные технологии программирования (часть 1). Лабораторные работы 1-3. Все варианты. 2019
Лабораторные работы №1,2,3 по дисциплине: Современные технологии программирования (часть 2). Для всех вариантов (Новое)
Современные технологии программирования (часть 2). Лабораторные работы 1-3. Все варианты. 2019
Лабораторные работы №№ 1-7 по дисциплине: "Современные технологии программирования". Вариант №5
Ещё искать по базе с такими же ключевыми словами.

Не можешь найти то что нужно? Мы можем помочь сделать! 

От 350 руб. за реферат, низкие цены. Просто заполни форму и всё.

Спеши, предложение ограничено !



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

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

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

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

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

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


Способы оплаты:
UnionPay СБР Ю-Money qiwi Payeer Крипто-валюты Крипто-валюты


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

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

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


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