Лабораторная работа №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 руб.
Другие работы
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
mosintacd
: 28 июня 2024
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
Московская международная академия Институт дистанционного образования Тест оценка ОТЛИЧНО
2024 год
Ответы на 20 вопросов
Результат – 100 баллов
С вопросами вы можете ознакомиться до покупки
ВОПРОСЫ:
1. We have … to an agreement
2. Our senses are … a great role in non-verbal communication
3. Saving time at business communication leads to … results in work
4. Conducting negotiations with foreigners we shoul
150 руб.
Задание №2. Методы управления образовательными учреждениями
studypro
: 13 октября 2016
Практическое задание 2
Задание 1. Опишите по одному примеру использования каждого из методов управления в Вашей профессиональной деятельности.
Задание 2. Приняв на работу нового сотрудника, Вы надеялись на более эффективную работу, но в результате разочарованы, так как он не соответствует одному из важнейших качеств менеджера - самодисциплине. Он не обязателен, не собран, не умеет отказывать и т.д.. Но, тем не менее, он отличный профессионал в своей деятельности. Какими методами управления Вы во
200 руб.
Особенности бюджетного финансирования
Aronitue9
: 24 августа 2012
Содержание:
Введение
Теоретические основы бюджетного финансирования
Понятие и сущность бюджетного финансирования
Характеристика основных форм бюджетного финансирования
Анализ бюджетного финансирования образования
Понятие и источники бюджетного финансирования образования
Проблемы бюджетного финансирования образования
Основные направления совершенствования бюджетного финансирования образования
Заключение
Список использованный литературы
Цель курсовой работы – исследовать особенности бюджетного фин
20 руб.
Программирование (часть 1-я). Зачёт. Билет №2
sibsutisru
: 3 сентября 2021
ЗАЧЕТ по дисциплине “Программирование (часть 1)”
Билет 2
Определить значение переменной y после работы следующего фрагмента программы:
a = 3; b = 2 * a – 10; x = 0; y = 2 * b + a;
if ( b > y ) or ( 2 * b < y + a ) ) then begin x = b – y; y = x + 4 end;
if ( a + b < 0 ) and ( y + x > 2 ) ) then begin x = x + y; y = x – 2 end;
200 руб.