Лабораторная работа №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 руб.
Другие работы
Гражданский процесс. 4-й вариант.
studypro
: 27 сентября 2015
Вариант 4.
1. Гражданская процессуальная правоспособность.
2. Принцип непосредственности.
3. Отказ в принятии искового производства.
4. Правовое положение третьих лиц, не заявляющих самостоятельные требования на предмет спора.
5. Процессуальное соучастие.
6. Может ли суд прекратить дело, если ненадлежащий истец согласен выйти из процесса, а надлежащий не желает вступать?
7. ЗАДАЧА. Вохменко предъявил иск к Газаеву о выселении его как поднанимателя квартиры в муниципальном доме. Участвующий в д
100 руб.
Социальная поддержка незащищенных слоев населения
evelin
: 6 февраля 2014
Введение
Современное социальное государство представляет собой особый тип высокоразвитого государства, в котором обеспечивается высокий уровень социальной защищенности всех граждан посредством активной деятельности государства по регулированию социальной, экономической и других сфер жизнедеятельности общества, установлению в нем социальной справедливости и солидарности.
Работа с безнадзорными и беспризорными несовершеннолетними в специализированных учреждениях начинается с адаптации их к жизни в
5 руб.
Ролик регулируемый МЧ00.36.00.00 3d solidworks
bublegum
: 11 мая 2021
Ролик регулируемый МЧ00.36.00.00 3d модель
Ролик регулируемый МЧ00.36.00.00 3d solidworks
Роликовое устройство применяется при транспортировке листового материала, который перекатывается по роликам.
Корпус поз. 1 прикрепляется к раме машины четырьмя болтами (рама и болты на чертеже не показаны).
При вращении винта поз. 7 клин поз. 4 будет скользить по наклонной плоскости корпуса, в результате чего стойка поз. 2 с роликом поз. 8 будет подниматься или опускаться. После установки ролика на нужном
350 руб.
Теплотехника 21.03.01 КубГТУ Задача 1 Вариант 38
Z24
: 24 января 2026
Сравнить мощность, затраченную на сжатие метана в одно- и двухступенчатом компрессоре в случае политропного сжатия с показателем политропы n, если объемный расход метана при параметрах всасывания – V1, начальные параметры p1 и t1, а конечное давление — рк.
Определить температуру метана на выходе из компрессора и количество теплоты, отводимое от цилиндров и промежуточного теплообменника. Изобразить (без масштаба) процессы одно- и двухступенчатого сжатия на рυ- , Ts — диаграммах.
200 руб.