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

150

Лабораторная работа №3. Параметризованный абстрактный тип данных «Процессор»

ID: 173291
Дата закачки: 25 Сентября 2016
Продавец: 8arracuda (Напишите, если есть вопросы)
    Посмотреть другие работы этого продавца

Тип работы: Работа Лабораторная
Сдано в учебном заведении: СибГУТИ

Описание:
Лабораторная работа №3
Параметризованный абстрактный тип данных «Процессор»

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

Задание:
1. В соответствии с приведенной ниже спецификацией реализовать параметризованный абстрактный тип данных «Процессор», используя шаблон классовС++.
2. Протестировать тип данных.

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

Конструктор 
Начальные значения: Нет
Процесс: Инициализирует поля объекта процессор типа TProc. Поля Lop_Res, Rop инициализируются объектами (тип T) со значениями по умолчанию. Например, для простых дробей - 0/1. Процессор устанавливается в состояние: «операция не установлена»: (Operation = None).
 
СбросПроцессора 
Вход: Нет.
Предусловия: Нет.
Процесс: Поля объекта процессор: Lop_Res, Rop инициализируются объектами (тип T) со значениями по умолчанию. Например, для простых дробей - 0/1. Процессор устанавливается в состояние: «операция не установлена»: (Operation = None).
Выход: Нет.
Постусловия: Состояние процессора – «операция сброшена» (Operation = None).
 
СбросОперации 
Вход: Нет.
Предусловия: Нет.
Процесс Процессор устанавливается в состояние: «операция не установлена»: (Operation = None).
Выход: Нет.
Постусловия: Состояние процессора – «операция сброшена» (Operation = None).
 
ВыполнитьОперацию 
Вход: Нет.
Предусловия: Нет.
Процесс Вызывает выполнение текущей операции (записанной в поле Operation). Операция (Operation) выполняется над значениями, хранящимися в полях Rop и Lop_Res. Результат сохраняется в поле Lop_Res. Если Operation = None, никакие действия не выполняются. Состояние объекта не изменяется.
Выход: Нет.
Постусловия: Состояние процессора не изменяется.
 
ВычислитьФункцию 
Вход: Вид функции (Func: TFunc).
Предусловия: Нет.
Процесс Вызывает выполнение текущей функции (Func). Функция (Func) выполняется над значением, хранящимся в поле Rop. Результат сохраняется в нём же. Состояние объекта не изменяется.
Выход: Нет.
Постусловия: Состояние процессора не меняется.
 
ЧитатьЛевыйОперанд 
Вход: Нет.
Предусловия: Нет.
Процесс Создаёт и возвращает копию объекта, который хранится в поле Lop_Res.
Выход: Объект типа T.
Постусловия: Состояние процессора не изменяется.
 
ЗаписатьЛевыйОперанд 
Вход: Переменная Operand типа T.
Предусловия: Нет.
Процесс Создаёт копию объекта Operand и заносит её в поле Lop_Res.
Выход: Нет.
Постусловия: Состояние процессора не изменяется.
 
ЧитатьПравыйОперанд 
Вход: Нет.
Предусловия: Нет.
Процесс Создаёт и возвращает копию объекта, который хранится в Rop.
Выход: Объект типа T.
Постусловия: Состояние процессора не меняется.
 
ЗаписатьПравыйОперанд 
Вход: Переменная Operand типа T.
Предусловия: Нет.
Процесс Создаёт копию объекта Operand и заносит её в поле Rop.
Выход: Нет.
Постусловия: Состояние процессора не изменяется.
 
ЧитатьСостояние 
Вход: Нет.
Предусловия: Нет.
Процесс Копирует и возвращает значение поля Operation.
Выход: Значение поля Operation.
Постусловия: Состояние процессора не изменяется.
 
ЗаписатьСостояние 
Вход: Переменная Oprtn типа TOprtn.
Предусловия: Нет.
Процесс Заносит значение Oprtn в поле Operation.
Выход: Нет.
Постусловия: Состояние процессора изменяется на Oprtn.

Рекомендации к выполнению
1. Тип данных TProc реализовать, используя шаблон классов С++, template <class T>.
2. Числа храните как поля типа T.
3. Для чтения состояния процессора, полей: «левый операнд-результат» (Lop_Res), «правый операнд» (Rop), используйте свойство (property).
4. Тип данных реализовать в отдельном модуле UProc.
5. В приведённой ниже таблице показана последовательность изменения состояния процессора, если T = TFrac, при вычислении выражения:
2/1 + 3/1 * (4/1)2
Шаг Вход Метод Rop Lop_Res Operation
0   Create 0/1 0/1 None
1 2   0/1 0/1 None
2 + Lop_Res_Set;
OprtnSet 0/1 2/1 Add
3 3   0/1 2/1 Add
4 * Rop_Set;
OprtnRun;
OprtnSet; 3/1 2/1+3/1 Mul
5 4   4/1 2/1+3/1 Mul
6 Sqr Rop_Set;
FuncRun (4/1)^2 2/1+3/1 Mul
7 = OprtnRun (4/1)^2 2/1+3/1* (4/1)^2 Mul
8 C ReSet 0/1 0/1 None


Комментарии: Уважаемый слушатель, дистанционного обучения,
Оценена Ваша работа по предмету: Современные технологии в программировании (часть 2)
Вид работы: Лабораторная работа 3
Оценка:Зачет
Дата оценки: 18.09.2016

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

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

   Скачать

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


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


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

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

Лабораторная работа №3. Параметризованный абстрактный тип данных «Процессор» по дисциплине "Современные технологии программирования"
Современные технологии программирования. Пять лабораторных + Курсовая работа. Вариант 12. Калькулятор простых дробей.
Современные технологии программирования. Пять лабораторных + Курсовая работа. Вариант 16. Калькулятор простых дробей.
Современные технологии программирования (часть 2) Лабораторная работа 3 Параметризованный абстрактный тип данных «Процессор»
Современные технологии в программировании (часть 2) Лабораторная работа №№1-5 Вариант 12
Современные технологии программирования. Лабораторные работы №1-5
Ещё искать по базе с такими же ключевыми словами.

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

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

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



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

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

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

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

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

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


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


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

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

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


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