Страницу Назад
Поискать другие аналоги этой работы
300 Современные технологии программирования. Лабораторная работа №3. Вариант: 8ID: 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
Вход в аккаунт: