Лабораторная работа №3. Параметризованный абстрактный тип данных «Процессор»
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
- Программа для просмотра изображений
Описание
Лабораторная работа №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
Параметризованный абстрактный тип данных «Процессор»
Цель: Сформировать практические навыки: реализации параметризованного абстрактного типа данных с помощью шаблона классов С++.
Задание:
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
Работа выполнена без фамилии студента, можно сразу отправлять на проверку.
Оценена Ваша работа по предмету: Современные технологии в программировании (часть 2)
Вид работы: Лабораторная работа 3
Оценка:Зачет
Дата оценки: 18.09.2016
Работа выполнена без фамилии студента, можно сразу отправлять на проверку.
Похожие материалы
Лабораторная работа №3. Параметризованный абстрактный тип данных «Процессор» по дисциплине "Современные технологии программирования"
Doctor_Che
: 11 декабря 2013
Цель: Сформировать практические навыки: реализации параметризованного абстрактного типа данных с помощью шаблона классов С++.
Задание:
1. В соответствии с приведенной ниже спецификацией реализовать параметризованный абстрактный тип данных «Процессор», используя шаблон классовС++.
2. Протестировать тип данных.
Спецификация типа данных «Процессор».
ADT TProc
Данные
Процессор (тип TProc) выполняет двухоперандные операции TOprtn = (None, Add, Sub, Mul, Dvd) и однооперандные операции - функции TFun
40 руб.
Современные технологии программирования (часть 2) Лабораторная работа 3 Параметризованный абстрактный тип данных «Процессор»
Эректус
: 20 ноября 2018
Лабораторная работа №3
Параметризованный абстрактный тип данных «Процессор»
Цель
Сформировать практические навыки: реализации параметризованного абстрактного типа данных с помощью шаблона классов С++.
Задание
В соответствии с приведенной ниже спецификацией реализовать параметризованный абстрактный тип данных «Процессор», используя шаблон классов С++.
Протестировать тип данных.
Спецификация типа данных «Процессор».
ADT TProc
Данные
Процессор (тип TProc) выполняет двухоперандные опера
30 руб.
Лабораторная работа. Параметризованный абстрактный тип данных «Память»
AnnaB
: 21 апреля 2013
Цель
Сформировать практические навыки реализации параметризованного абстрактного типа данных с помощью шаблона классов С++.
Задание
1. В соответствии с приведенной ниже спецификацией реализовать параметризованный абстрактный тип данных «память», для хранения одного числа – объекта типа T, используя шаблон классов С++.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных «память».
ADT TMemory
Данные
Память (тип TMemory, в да
100 руб.
Лабораторная работа №4 Параметризованный абстрактный тип данных «Память»
VVA77
: 11 апреля 2017
Цель: Сформировать практические навыки реализации параметризованного абстрактного типа данных с помощью шаблона классов С++.
Задание:
1. В соответствии с приведенной ниже спецификацией реализовать параметризованный абстрактный тип данных «память», для хранения одного числа – объекта типа T, используя шаблон классов С++.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных «память».
ADT TMemory
Данные
Память (тип TMemory, в даль
80 руб.
Лабораторная работа №4. Параметризованный абстрактный тип данных «Память»
8arracuda
: 22 мая 2016
Цель: Сформировать практические навыки реализации параметризованного абстрактного типа данных с помощью шаблона классов С++.
Задание:
1. В соответствии с приведенной ниже спецификацией реализовать параметризованный абстрактный тип данных «память», для хранения одного числа – объекта типа T, используя шаблон классов С++.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных «память».
ADT TMemory
Данные
Память (тип TMemory, в дальн
150 руб.
Лабораторная работа №4 по дисциплине "Современные технологии программирования". Параметризованный абстрактный тип данных «Память»
Doctor_Che
: 29 мая 2013
Цель: Сформировать практические навыки реализации параметризованного абстрактного типа данных с помощью шаблона классов С++.
Задание:
1. В соответствии с приведенной ниже спецификацией реализовать параметризованный абстрактный тип данных «память», для хранения одного числа – объекта типа T, используя шаблон классов С++.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных «память».
ADT TMemory
Данные
Память (тип TMemory, в даль
40 руб.
Параметризованный абстрактный тип данных «Память». Лабораторная работа №4 Современные технологии в программировании (часть 1)
rmn77
: 19 октября 2017
Лабораторная работа №4
по дисциплине
«Современные технологии в программировании (часть 1)»
Параметризованный абстрактный тип данных «Память»
Цель: Сформировать практические навыки реализации параметризованного абстрактного типа данных с помощью шаблона классов С++.
Задание:
1. В соответствии с приведенной ниже спецификацией реализовать параметризованный абстрактный тип данных «память», для хранения одного числа – объекта типа T, используя шаблон классов С++.
2. Протестировать каждую операцию, оп
50 руб.
Программирование графических процессоров. Лабораторная работа №3
pleze
: 20 марта 2022
Тема: Работа с потоками CUDA
Задание
1. Прочитайте главы теоретического материала под названиями "Pinned memory" и "Потоки (streams) в CUDA". Ответьте на контрольные вопросы в конце глав (ответы на контрольные вопросы не нужно включать в отчёт по лабораторной работе).
2. Примените потоки для алгоритмов реализованные в лабораторной работе №1.
3. Определите оптимальное количество потоков для матрицы размером 2500x2500 элементов и вектора размером 2500 элементов.
300 руб.
Другие работы
Разработка технологии восстановления и упрочнения деталей в условиях цеха сборки и сдачи автомобилей ОАО «УАЗ» с применением электромеханической обработки
Рики-Тики-Та
: 16 февраля 2017
А Н Н О Т А Ц И Я
Дипломный проект выполнен на 75 листах формата А-4 машинописного текста и графической частью на 9 листах формата А-1.
В дипломном проекте проведён анализ производственной деятельности цеха сборки и сдачи автомобилей ОАО «УАЗ». Проанализированы способы восстановления и упрочнения поверхностей деталей. Обосновано применение способа электромеханического восстановления валов. Разработана конструкция технологической оснастки для выполнения процессов электромеханической обработ
825 руб.
Гидромеханика в примерах и задачах УГГУ 2006 Задача 2.4.13
Z24
: 26 сентября 2025
Определить давление р в правой части гидроцилиндра диаметром D=200 мм, заполненного маслом “Индустриальное 20”. Сила, действующая на шток d=50 мм при равновесном состоянии поршня, F=2,0 кН. Принять избыточное давление на поверхности масла р0=0,8 ат, напор масла на уровне оси поршня Н=1,5 м, плотность масла ρмасл=890 кг/³ (рис. 2.26).
Ответ: р=29,56 кПа.
200 руб.
Сравнение ресурсо- и энергоемкости различных способов выплавки стали с целью улучшения технико-экономических показателей
Рики-Тики-Та
: 17 июля 2012
Содержание
Введение 3
1 Технология выплавки стали в кислородных конверторах 5
1. 1 Сущность и развитие конвертерных процессов 5
1. 2 Общее описание технологии плавки стали в КК с верхней подачей дутья 10
2 Технология выплавки стали в мартеновских и двухванных печах 14
2. 1 Основные особенности и разновидности мартеновского процесса 14
2. 1. 1 Основные периоды мартеновской плавки 18
2. 2 Возникновение и сущность процесса в двухванных сталеплавильных агрегатах (ДСПА) 23
2. 2. 1 Технология плавки
55 руб.
Физические основы классической механики. Задача № 107
ДО Сибгути
: 31 января 2014
Условие задачи:
Материальная точка движется по окружности с постоянной угловой скоростью ω=π/6 рад/с. Во сколько раз путь Δs, пройденный точкой за время t=4 с, будет больше модуля ее перемещения Δr? Принять, что в момент начала отсчета времени радиус-вектор r, задающий положение точки на окружности, относительно исходного положения был повернут на угол φ0=π/3 рад.
100 руб.