Лабораторные работы №1-5 по дисциплине: «Современные технологии программирования». Вариант №06.
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Лабораторная работа №1
Абстрактный тип данных (ADT) p - ичное число
Задание
1. Реализовать абстрактный тип данных «р-ичное число», используя класс
Object Pascal,
C++,
в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных, одним из методов тестирования.
Спецификация типа данных «р-ичное число».
ADT TPNumber
Данные Р-ичное число TPNumber - это действительное число (n) со знаком в системе счисления с основанием (b) (b в диапазоне 2..16), содержащее целую и дробную части. Точность представления числа c (c >= 0). Р-ичные числа изменяемые.
Операции
Операции могут вызываться только объектом р-ичное число (тип TPNumber), указатель на который в них передаётся по умолчанию. При описании операций этот объект называется «само число».
КонструкторЧисло
Начальные значения: Вещественное число (a) во внутреннем формате, система счисления (b), точность представления числа (c)
Процесс: Создаёт p-ичное число: система счисления (b), точность представления (c). В поле (n) созданного числа заносится (a).
Например:
КонструкторЧисло(a,3,3) = число a в системе счисления 3 с тремя разрядами после троичной точки.
КонструкторЧисло (a,3,2) = число a в системе счисления 3 с двумя разрядами после троичной точки.
КонструкторСтрока
Начальные значения: Строковое представление р–ичного числа (a), система счисления (b), точность представления числа (c)
Процесс: Создаёт р-ичное число: система счисления (b), точность представления (c). В поле (n) созданного числа заносится результат преобразования строки (a) в числовое представление. b-ичное число (a) и основание системы счисления (b) представлены в формате строки.
Например:
КонструкторСтрока(‘20’,’3’,’6’) = 20 в системе счисления 3, точность 6 знаков после запятой.
КонструкторСтрока (‘0’,’3’,’8’) = 0 в системе счисления 3, точность 8 знаков после запятой.
Копировать:
Вход: Нет.
Предусловия: Нет.
Процесс: Создаёт копию самого числа (тип TPNumber).
Выход: р-ичное число.
Постусловия: Нет.
Сложить
Вход: Р-ичное число d с основанием и точностью такими же, как у самого числа.
Предусловия: Нет.
Процесс: Создаёт и возвращает р-ичное число (тип TPNumber), полученное сложением полей (n) самого числа и числа d.
Выход: р-ичное число.
Постусловия: Нет
Умножить
Вход: Р-ичное число d с основанием и точностью такими же, как у самого числа.
Предусловия: Нет.
Процесс: Создаёт и возвращает р-ичное число (тип TPNumber), полученное умножением полей (n) самого числа и числа d.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
Вычесть
Вход: Р-ичное число d с основанием и точностью такими же, как у самого числа.
Предусловия: Нет.
Процесс: Создаёт и возвращает р-ичное число (тип TPNumber), полученное вычитанием полей (n) самого числа и числа d.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
Делить
Вход: Р-ичное число d с основанием и точностью такими же, как у самого числа.
Предусловия: Поле (n) числа (d) не равно 0.
Процесс: Создаёт и возвращает р-ичное число (тип TPNumber), полученное делением полей (n) самого числа на поле (n) числа d.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
Обратить
Вход: Нет.
Предусловия: Поле (n) самого числа не равно 0.
Процесс: Создаёт р-ичное число, в поле (n) которого заносится значение, полученное как 1/(n) самого числа.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
Квадрат
Вход: Нет.
Предусловия: Нет.
Процесс: Создаёт р-ичное число, в поле (n) которого заносится значение, полученное как квадрат поля (n) самого числа.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
ВзятьРЧисло
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (n) самого числа.
Выход: Вещественное значение.
Постусловия: Нет.
ВзятьРСтрока
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает р-ичное число (q) в формате строки, изображающей значение поля (n) самого числа в системе счисления (b) с точностью (c).
Выход: Строка.
Постусловия: Нет.
ВзятьОснованиеЧисло
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (b) самого числа (q).
Выход: Целочисленное значение
Постусловия: Нет.
ВзятьОснованиеСтрока
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (b) самого числа в формате строки, изображающей (b) в десятичной системе счисления.
Выход: Строка.
Постусловия: Нет.
ВзятьТочностьЧисло
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (c) самого числа .
Выход: Целое значение.
Постусловия: Нет.
ВзятьТочностьСтрока
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (c) самого числа в формате строки, изображающей (c) в десятичной системе счисления.
Выход: Строка.
Постусловия: Нет.
УстановитьОснованиеЧисло
Вход: Целое число (newb).
Предусловия: 2 <= newb <= 16.
Процесс: Устанавливает в поле (b) самого числа значение (newb).
Выход: Нет.
Постусловия: Нет.
УстановитьОснованиеСтрока
Вход: Строка (bs), изображающая основание (b) p-ичного числа в десятичной системе счисления.
Предусловия: Допустимый диапазон числа, изображаемого строкой (bs) - 2,,16.
Процесс: Устанавливает значение поля (b) самого числа значением, полученным в результате преобразования строки (bs).
Выход: Строка.
Постусловия: Нет.
УстановитьТочностьЧисло
Вход: Целое число (newc).
Предусловия: newc >= 0.
Процесс: Устанавливает в поле (c) самого числа значение (newc).
Выход: Нет.
Постусловия: Нет.
УстановитьТочностьСтрока
Вход: Строка (newc).
Предусловия: Строка (newc) изображает десятичное целое >= 0.
Процесс: Устанавливает в поле (c) самого числа значение, полученное преобразованием строки (newc).
Выход: Нет.
Постусловия: Нет.
end TPNumber
Рекомендации к выполнению
1. Тип данных реализовать, используя класс
• Object Pascal,
• С++.
2. Число храните как поле вещественного типа.
3. Основание системы счисления храните как поле целочисленного типа.
4. Для чтения и записи р - ичного числа в вещественном и строковом формате используйте свойства (property).
5. Тип данных реализовать в отдельном модуле UPNumber.
Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования типа данных.
Контрольные вопросы
1. Что такое инкапсуляция?
2. Как синтаксически представлено поле в описании класса?
3. Как синтаксически представлен метод в описании класса?
4. Как синтаксически представлено простое свойство в описании класса?
5. Особенности описания методов класса?
6. Особенности описания и назначение конструктора класса?
7. Видимость идентификаторов в описании класса?
8. Особенности вызова методов применительно к объектам класса?
Лабораторная работа №2
Абстрактный тип данных (ADT) «p - ичная память»
1. Задание.
Тема: Классы Object Pascal, С++
Цель: Сформировать практические навыки: реализации абстрактного типа данных с помощью классов Object Pascal, С++.
Задание
1. В соответствии с приведенной ниже спецификацией реализовать абстрактный тип данных «р-ичная память», используя класс
• Object Pascal,
• C++.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных «р-ичная память».
ADT TMemory
Данные
Р-ичная память (тип TMemory, в дальнейшем - память) - это память для хранения объекта «р-ичное число» (тип TPNumber) и значения «состояние памяти». Объект «р-ичная память» - изменяемый. Он имеет два состояния, обозначаемых значениями: «Включена» (_On), «Выключена» (_Off). Её изменяют операции: Записать (Store), Добавить (Add), Очистить (Clear).
Операции
Конструктор
Начальные значения: Основание системы счисления (b), точность представления числа (c).
Процесс: Создаёт объект «память» типа TMemory. Создаёт и записывает в поле «р-ичное число» объекта «память» (тип TMemory) объект «р-ичное число» (тип TPNumber), инициализированный значениями: р-ичное число – 0, основание системы счисления - b, точность представления числа – c. Память устанавливается в состояние «Выключена», в поле «состояние памяти» заносится значение (_Off).
Записать
Вход: E – объект «р-ичное число» (тип TPNumber).
Предусловия: Нет.
Процесс: В объект «память» (тип TMemory) в поле «р-ичное число» записывается копия объекта Е. Память устанавливается в состояние «Включена», в поле «состояние памяти» заносится значение (_On).
Выход: Нет.
Постусловия: Состояние памяти – «Включена» (_On).
Взять
Вход: Нет.
Предусловия: Нет.
Процесс: Создаёт и возвращает копию объекта хранящегося в объекте «память» (тип TMemory) в поле «р-ичное число» (тип TPNumber).
Выход: Объект типа TPNumber.
Постусловия: Состояние памяти – «Включена» (_On).
Добавить
Вход: Е – р-ичное число (объект типа TPNumber).
Предусловия: Нет.
Процесс: В поле «р-ичное число» объекта «память» (тип TMemory) записывается объект «р-ичное число» (тип TPNumber), полученный в результате сложения числа (Е) и числа, хранящегося в памяти в поле «р-ичное число».
Выход: Нет.
Постусловия: Состояние памяти – «Включена» (_On).
Очистить Основание системы счисления (b), точность представления числа (c).
Вход: Нет.
Предусловия: Состояние памяти – «Включена» (_On).
Процесс: В поле «р-ичное число» объекта «память» (тип TMemory) записывается объект «р-ичное число» (тип TPNumber), инициализированный значениями: р-ичное число – 0, основание системы счисления - b, точность представления числа – c.. Память устанавливается в состояние «Выключена» (_Off).
Выход: Нет.
Постусловия: Состояние памяти – «Выключена» (_Off).
ЧитатьСостояниеПамяти
Вход: Нет.
Предусловия: Нет.
Процесс: Копирует и возвращает значение поля «состояние памяти» объекта «память» (тип TMemory) в формате строки.
Выход: Значение поля «состояния памяти» (типа String).
Постусловия: Нет.
ЧитатьЧисло
Вход: Нет.
Предусловия: Нет.
Процесс: Копирует и возвращает значение поля «р-ичное число» объекта «память» (тип TMemory) в формате строки.
Выход: Значение объекта «р-ичное число» (тип String).
Постусловия: Нет.
end TCMemory
Рекомендации к выполнению
1. Тип данных реализовать, используя класс Object Pascal, С++.
2. Число храните в поле типа TPNumber (см. лаб. Раб. Абстрактный тип данных - р-ичные числа).
3. Для чтения состояния памяти и хранимого значения используйте свойство (property).
4. Тип данных реализовать в отдельном модуле UMemory.
Лабораторная работа №3
Абстрактный тип данных: Р – ичный процессор
1. Задание.
Лабораторная работа. Абстрактный тип данных: P-ичный процессор.
Тема: Классы Object Pascal, С++
Цель: Сформировать практические навыки: реализации абстрактного типа данных с помощью классов Object Pasca, С++.
Задание
1. В соответствии с приведенной ниже спецификацией реализовать абстрактный тип данных «P-ичный процессор», используя класс
• Object Pasca,
• С++.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных «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).
Лабораторная работа №4
Редактор р-ичных чисел
1. Задание.
Тема: Классы Object Pascal, С++
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования Object Pascal, С++.
Задание
1. Разработать и реализовать класс TEditor «Редактор р-ичных чисел», используя класс
• Object Pascal,
• С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом:
РедакторР-ичныхЧисел
строка: String
числоЕстьНоль: Boolean
добавитьЗнак: String
добавитьР-ичную цифру(a: Integer): String
добавитьНоль: String
забойСимвола: String
очистить: String
конструктор
читатьСтрокаВформатеСтроки: String (метод свойства)
писатьСтрокаВформатеСтроки(a: String) (метод свойства)
редактировать(a: Integer): String
Обязанность:
ввод, хранение и редактирование строкового представления р-ичных чисел
2. Класс должен отвечать за ввод и редактирование строкового представления р-ичных чисел. Значение р-ичного нуля - ‘0,’. Класс должен обеспечивать:
• добавление символов, соответствующих р-ичным цифрам (р от 2 до 16);
• добавление и изменение знака;
• добавление разделителя целой и дробной частей;
• забой символа, стоящего справа (BackSpace);
• установку нулевого значения числа (Clear);
• чтение строкового представления р-ичного числа;
• запись строкового представления р-ичного числа;
3. Протестировать каждый метод класса.
Рекомендации к выполнению
1. В классе TEditor опишите следующие атрибуты:
• «строка» - строкового типа, содержит строковое представление редактируемого р- ичного числа, .
2. В классе опишите следующие операции:
• «число есть ноль», операция возвращает булевское значение True, если «строка» содержит изображение числа равного 0, False – в противном случае;
• «добавить знак», операция добавляет или удаляет знак «-» из «строка» и возвращает значение «строка»;
• «добавить р-ичную цифру», операция получает целое число (числовое обозначение р-ичной цифры), преобразует его в символ и добавляет к «строка», если это допускает формат, возвращает значение «строка»;
• «добавить ноль», операция добавляет ноль к «строка», если это допускает формат, возвращает значение «строка»;
• «забой символа», операция удаляет крайний правый символ «строка» и возвращает значение «строка»;
• «очистить», операция устанавливает в «строка» строку, изображающую р-ичный 0, возвращает значение «строка»;
• «редактировать», операция получает номер команды редактирования, выполняет действия по её выполнению и возвращает значение «строка»;
• «конструктор», создаёт объект типа TEditor;
• «читать «строка» в формате строки» - строкового типа (метод свойства), возвращает значение «строка» в заданном пользователем формате;
• «писать «строка» в формате строки», получает значение строкового типа (метод свойства) и заносит его в «строка»;
3. Класс реализуйте в отдельном модуле UEditor. В разделе описания констант опишите следующие константы:
• «разделитель целой и дробной частей» строкового типа;
• «строковое представление нуля» строкового типа.
Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования класса.
Контрольные вопросы
1. Что такое инкапсуляция?
2. Как синтаксически представлено поле в описании класса?
3. Как синтаксически представлен метод в описании класса?
4. Как синтаксически представлено простое свойство в описании класса?
5. Особенности описания методов класса?
6. Особенности описания и назначение конструктора класса?
7. Видимость идентификаторов в описании класса?
8. Особенности вызова методов применительно к объектам класса?
Лабораторная работа №5
Управление калькулятором р-ичных чисел
Управление калькулятором р-ичных чисел
1. Задание.
1. Разработать и реализовать класс «Управление калькулятором р-ичных чисел» тип TCtrl, используя класс
• Object Pascal,
• С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно описатьть следующим образом:
УправлениеКалькуляторомР-ичныхЧисел (тип TCtrl)
состояниеКалькулятора: TCtrlState
редактор: TEditor
процессор: TProc
память: TMemory
число: TPNumber
выполнитьКомандуКалькулятора(a: Integer; var b, MState: String): String
выполнитьКомандуРедактора(a: Integer): String
выполнитьОперацию(a: Integer): String
выполнитьФункцию(a: Integer): String
вычислитьВыражение(a: Integer): String
установитьНачальноеСостояниеКалькулятора(a: Integer): String
выполнитьКомандуюПамяти(a: Integer; var MState: String): String
очиститьПамять(var MState: String): String
записатьВПамять(var MState: String): String
считатьИзПамяти(var MState: String): String
добавитьКЧислуВПамяти(var MState: String): String
читатьПисатьСостояниеКалькулятора: TCtrlState (свойство, опирающееся на поле)
выполнитьКомандуБуфераОбмена(a: Integer; var b: String): String
записатьВБуферОбмена(a: Integer; var b: String): String
читатьИзБуферОбмена(a: Integer; var b: String): String
сменитьОснованиеСистемыСчисления(b: integer; var s:String)
конструктор
деструктор
Обязанность:
управление выполнением команд калькулятора
2. Класс должен отвечать за управление выполнением команд калькулятора. Класс должен обеспечивать:
• управление вводом и редактированием р-ичных чисел;
• управление выполнением операций, функций и выражений над р-ичными числами;
• управление выполнением операций по работе с памятью, объёмом в одно значение типа р-ичное число;
• управление работой с системным буфером обмена.
3. Протестировать каждый метод класса и класс в целом.
Рекомендации к выполнению
1. Класс TCtrl реализуйте в отдельном модуле UControl.
2. В модуле опишите перечисляемый тип TCtrlState = (cStart, cEditing, FunDone, cValDone, cExpDone, cOpChange, cError) для обозначения состояний калькулятора: cStart (Начальное), cEditing (Ввод и редактирование), cExpDone (Выражение вычислено), cOpDone (Операция выполнена), cValDone (Значение введено), cOpChange (Операция изменена),. cError (Ошибка).
3. В классе опишите следующие атрибуты:
• «редактор» - объект типа TEditior;
• «процессор» - объект типа TProc (TCalc в предыдущей редакции);
• «память» - объект типа TMemory;
• «состояние калькулятора» - тип TCtrlState;
• «число» - объект типа TPNumber (результат выполнения последней команды).
4. Набор основных операций класса определяется набором команд калькулятора, заданных пользователем. Кроме того, в классе будут определены вспомогательные операции, обеспечивающие реализацию основных операций. В классе опишите следующие операции:
• «выполнитьКомандуКалькулятора» (управляет вызовом операций по работе с объектами: редактор (поле TEditor), процессор (поле TProc), память (поле TMemory), буфер обмена (глобальный объект ClipBoard)), операция получает целое число (номер команды пользователя), строку для буфера обмена, строку со значением состояния памяти и возвращает строку для буфера обмена, строку состояния памяти и строку результата;
• «выполнитьКомандуРедактора» (управляет вызовом методов объекта редактор (тип TEditor)), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «выполнитьОперацию» (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «выполнитьФункцию» (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «вычислитьОперацию» (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «вычислитьВыражение» (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «установитьНачальноеСостояниеКалькулятора» (управляет вызовом методов для перевода объекта типа TCalc в состояние Start (см. ниже), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «выполнитьКомандуПамяти» (управляет вызовом методов объекта типа TCtrl, обеспечивающих выполнение команд памяти), операция получает целое число (номер команды пользователя), строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
• «очистить память» (обеспечивает выполнение команды MC памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
• «записать в память» (обеспечивает выполнение команды MS памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
• «считать из памяти» (обеспечивает выполнение команды MR памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
• «добавить к числу в памяти» (обеспечивает выполнение команды M+ памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
• «выполнитьКомандуБуфераОбмена» (управляет вызовом методов объекта типа TClipBoard, обеспечивающих выполнение команд буфера обмена), операция получает целое число (номер команды пользователя), строку со значением буфера обмена и возвращает строку со значением буфера обмена и строку результата;
• «записатьВБуферОбмена» (обеспечивает выполнение команды Вставить), операция возвращает строку со значением числа и строку результата;
• «читатьИзБуферОбмена» (обеспечивает выполнение команды Копировать), операция получает строку со значением числа и строку результата;
• «сменить основание системы счисления», операция получает новое значение основания системы счисления и возвращает строку, содержащую отображаемое число в новой системе счисления;
• «читать | писать состояние калькулятора», возвращает значение типа TCtrlState (свойство, опирающееся на поле);
• «конструктор», осуществляет создание объектов и инициализацию полей класса;
• «деструктор», осуществляет освобождение памяти, занимаемой объектом класса и объектами, указатели на которые хранятся в полях объекта: «Редактор», «Процессор», «Память», «Число».
Рекомендации к выполнению
Логика работы объекта «управление калькулятором» класс TCtrl может быть описана с помощью таблицы переходов, которая отражает изменение состояния калькулятора и результат работы объекта под действием команд пользователя. Таблица переходов строится на основе анализа прецедентов (вариантов использования), приведённых в спецификации.
Для построения таблицы переходов необходимо:
1. проанализировать спецификацию, приведённую в задании для калькулятора р-ичных чисел и выделить состояния калькулятора, например: Start (Начальное), Editing (Ввод и редактирование), ExpDone (Выражение вычислено), FunDone (Функция выполнена), ValDone (Значение введено), OpChange (смена операрации), Error (ошибка);
2. построить таблицу состояний следующего вида:
Абстрактный тип данных (ADT) p - ичное число
Задание
1. Реализовать абстрактный тип данных «р-ичное число», используя класс
Object Pascal,
C++,
в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных, одним из методов тестирования.
Спецификация типа данных «р-ичное число».
ADT TPNumber
Данные Р-ичное число TPNumber - это действительное число (n) со знаком в системе счисления с основанием (b) (b в диапазоне 2..16), содержащее целую и дробную части. Точность представления числа c (c >= 0). Р-ичные числа изменяемые.
Операции
Операции могут вызываться только объектом р-ичное число (тип TPNumber), указатель на который в них передаётся по умолчанию. При описании операций этот объект называется «само число».
КонструкторЧисло
Начальные значения: Вещественное число (a) во внутреннем формате, система счисления (b), точность представления числа (c)
Процесс: Создаёт p-ичное число: система счисления (b), точность представления (c). В поле (n) созданного числа заносится (a).
Например:
КонструкторЧисло(a,3,3) = число a в системе счисления 3 с тремя разрядами после троичной точки.
КонструкторЧисло (a,3,2) = число a в системе счисления 3 с двумя разрядами после троичной точки.
КонструкторСтрока
Начальные значения: Строковое представление р–ичного числа (a), система счисления (b), точность представления числа (c)
Процесс: Создаёт р-ичное число: система счисления (b), точность представления (c). В поле (n) созданного числа заносится результат преобразования строки (a) в числовое представление. b-ичное число (a) и основание системы счисления (b) представлены в формате строки.
Например:
КонструкторСтрока(‘20’,’3’,’6’) = 20 в системе счисления 3, точность 6 знаков после запятой.
КонструкторСтрока (‘0’,’3’,’8’) = 0 в системе счисления 3, точность 8 знаков после запятой.
Копировать:
Вход: Нет.
Предусловия: Нет.
Процесс: Создаёт копию самого числа (тип TPNumber).
Выход: р-ичное число.
Постусловия: Нет.
Сложить
Вход: Р-ичное число d с основанием и точностью такими же, как у самого числа.
Предусловия: Нет.
Процесс: Создаёт и возвращает р-ичное число (тип TPNumber), полученное сложением полей (n) самого числа и числа d.
Выход: р-ичное число.
Постусловия: Нет
Умножить
Вход: Р-ичное число d с основанием и точностью такими же, как у самого числа.
Предусловия: Нет.
Процесс: Создаёт и возвращает р-ичное число (тип TPNumber), полученное умножением полей (n) самого числа и числа d.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
Вычесть
Вход: Р-ичное число d с основанием и точностью такими же, как у самого числа.
Предусловия: Нет.
Процесс: Создаёт и возвращает р-ичное число (тип TPNumber), полученное вычитанием полей (n) самого числа и числа d.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
Делить
Вход: Р-ичное число d с основанием и точностью такими же, как у самого числа.
Предусловия: Поле (n) числа (d) не равно 0.
Процесс: Создаёт и возвращает р-ичное число (тип TPNumber), полученное делением полей (n) самого числа на поле (n) числа d.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
Обратить
Вход: Нет.
Предусловия: Поле (n) самого числа не равно 0.
Процесс: Создаёт р-ичное число, в поле (n) которого заносится значение, полученное как 1/(n) самого числа.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
Квадрат
Вход: Нет.
Предусловия: Нет.
Процесс: Создаёт р-ичное число, в поле (n) которого заносится значение, полученное как квадрат поля (n) самого числа.
Выход: Р-ичное число (тип TPNumber).
Постусловия: Нет.
ВзятьРЧисло
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (n) самого числа.
Выход: Вещественное значение.
Постусловия: Нет.
ВзятьРСтрока
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает р-ичное число (q) в формате строки, изображающей значение поля (n) самого числа в системе счисления (b) с точностью (c).
Выход: Строка.
Постусловия: Нет.
ВзятьОснованиеЧисло
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (b) самого числа (q).
Выход: Целочисленное значение
Постусловия: Нет.
ВзятьОснованиеСтрока
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (b) самого числа в формате строки, изображающей (b) в десятичной системе счисления.
Выход: Строка.
Постусловия: Нет.
ВзятьТочностьЧисло
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (c) самого числа .
Выход: Целое значение.
Постусловия: Нет.
ВзятьТочностьСтрока
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение поля (c) самого числа в формате строки, изображающей (c) в десятичной системе счисления.
Выход: Строка.
Постусловия: Нет.
УстановитьОснованиеЧисло
Вход: Целое число (newb).
Предусловия: 2 <= newb <= 16.
Процесс: Устанавливает в поле (b) самого числа значение (newb).
Выход: Нет.
Постусловия: Нет.
УстановитьОснованиеСтрока
Вход: Строка (bs), изображающая основание (b) p-ичного числа в десятичной системе счисления.
Предусловия: Допустимый диапазон числа, изображаемого строкой (bs) - 2,,16.
Процесс: Устанавливает значение поля (b) самого числа значением, полученным в результате преобразования строки (bs).
Выход: Строка.
Постусловия: Нет.
УстановитьТочностьЧисло
Вход: Целое число (newc).
Предусловия: newc >= 0.
Процесс: Устанавливает в поле (c) самого числа значение (newc).
Выход: Нет.
Постусловия: Нет.
УстановитьТочностьСтрока
Вход: Строка (newc).
Предусловия: Строка (newc) изображает десятичное целое >= 0.
Процесс: Устанавливает в поле (c) самого числа значение, полученное преобразованием строки (newc).
Выход: Нет.
Постусловия: Нет.
end TPNumber
Рекомендации к выполнению
1. Тип данных реализовать, используя класс
• Object Pascal,
• С++.
2. Число храните как поле вещественного типа.
3. Основание системы счисления храните как поле целочисленного типа.
4. Для чтения и записи р - ичного числа в вещественном и строковом формате используйте свойства (property).
5. Тип данных реализовать в отдельном модуле UPNumber.
Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования типа данных.
Контрольные вопросы
1. Что такое инкапсуляция?
2. Как синтаксически представлено поле в описании класса?
3. Как синтаксически представлен метод в описании класса?
4. Как синтаксически представлено простое свойство в описании класса?
5. Особенности описания методов класса?
6. Особенности описания и назначение конструктора класса?
7. Видимость идентификаторов в описании класса?
8. Особенности вызова методов применительно к объектам класса?
Лабораторная работа №2
Абстрактный тип данных (ADT) «p - ичная память»
1. Задание.
Тема: Классы Object Pascal, С++
Цель: Сформировать практические навыки: реализации абстрактного типа данных с помощью классов Object Pascal, С++.
Задание
1. В соответствии с приведенной ниже спецификацией реализовать абстрактный тип данных «р-ичная память», используя класс
• Object Pascal,
• C++.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных «р-ичная память».
ADT TMemory
Данные
Р-ичная память (тип TMemory, в дальнейшем - память) - это память для хранения объекта «р-ичное число» (тип TPNumber) и значения «состояние памяти». Объект «р-ичная память» - изменяемый. Он имеет два состояния, обозначаемых значениями: «Включена» (_On), «Выключена» (_Off). Её изменяют операции: Записать (Store), Добавить (Add), Очистить (Clear).
Операции
Конструктор
Начальные значения: Основание системы счисления (b), точность представления числа (c).
Процесс: Создаёт объект «память» типа TMemory. Создаёт и записывает в поле «р-ичное число» объекта «память» (тип TMemory) объект «р-ичное число» (тип TPNumber), инициализированный значениями: р-ичное число – 0, основание системы счисления - b, точность представления числа – c. Память устанавливается в состояние «Выключена», в поле «состояние памяти» заносится значение (_Off).
Записать
Вход: E – объект «р-ичное число» (тип TPNumber).
Предусловия: Нет.
Процесс: В объект «память» (тип TMemory) в поле «р-ичное число» записывается копия объекта Е. Память устанавливается в состояние «Включена», в поле «состояние памяти» заносится значение (_On).
Выход: Нет.
Постусловия: Состояние памяти – «Включена» (_On).
Взять
Вход: Нет.
Предусловия: Нет.
Процесс: Создаёт и возвращает копию объекта хранящегося в объекте «память» (тип TMemory) в поле «р-ичное число» (тип TPNumber).
Выход: Объект типа TPNumber.
Постусловия: Состояние памяти – «Включена» (_On).
Добавить
Вход: Е – р-ичное число (объект типа TPNumber).
Предусловия: Нет.
Процесс: В поле «р-ичное число» объекта «память» (тип TMemory) записывается объект «р-ичное число» (тип TPNumber), полученный в результате сложения числа (Е) и числа, хранящегося в памяти в поле «р-ичное число».
Выход: Нет.
Постусловия: Состояние памяти – «Включена» (_On).
Очистить Основание системы счисления (b), точность представления числа (c).
Вход: Нет.
Предусловия: Состояние памяти – «Включена» (_On).
Процесс: В поле «р-ичное число» объекта «память» (тип TMemory) записывается объект «р-ичное число» (тип TPNumber), инициализированный значениями: р-ичное число – 0, основание системы счисления - b, точность представления числа – c.. Память устанавливается в состояние «Выключена» (_Off).
Выход: Нет.
Постусловия: Состояние памяти – «Выключена» (_Off).
ЧитатьСостояниеПамяти
Вход: Нет.
Предусловия: Нет.
Процесс: Копирует и возвращает значение поля «состояние памяти» объекта «память» (тип TMemory) в формате строки.
Выход: Значение поля «состояния памяти» (типа String).
Постусловия: Нет.
ЧитатьЧисло
Вход: Нет.
Предусловия: Нет.
Процесс: Копирует и возвращает значение поля «р-ичное число» объекта «память» (тип TMemory) в формате строки.
Выход: Значение объекта «р-ичное число» (тип String).
Постусловия: Нет.
end TCMemory
Рекомендации к выполнению
1. Тип данных реализовать, используя класс Object Pascal, С++.
2. Число храните в поле типа TPNumber (см. лаб. Раб. Абстрактный тип данных - р-ичные числа).
3. Для чтения состояния памяти и хранимого значения используйте свойство (property).
4. Тип данных реализовать в отдельном модуле UMemory.
Лабораторная работа №3
Абстрактный тип данных: Р – ичный процессор
1. Задание.
Лабораторная работа. Абстрактный тип данных: P-ичный процессор.
Тема: Классы Object Pascal, С++
Цель: Сформировать практические навыки: реализации абстрактного типа данных с помощью классов Object Pasca, С++.
Задание
1. В соответствии с приведенной ниже спецификацией реализовать абстрактный тип данных «P-ичный процессор», используя класс
• Object Pasca,
• С++.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных «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).
Лабораторная работа №4
Редактор р-ичных чисел
1. Задание.
Тема: Классы Object Pascal, С++
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования Object Pascal, С++.
Задание
1. Разработать и реализовать класс TEditor «Редактор р-ичных чисел», используя класс
• Object Pascal,
• С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом:
РедакторР-ичныхЧисел
строка: String
числоЕстьНоль: Boolean
добавитьЗнак: String
добавитьР-ичную цифру(a: Integer): String
добавитьНоль: String
забойСимвола: String
очистить: String
конструктор
читатьСтрокаВформатеСтроки: String (метод свойства)
писатьСтрокаВформатеСтроки(a: String) (метод свойства)
редактировать(a: Integer): String
Обязанность:
ввод, хранение и редактирование строкового представления р-ичных чисел
2. Класс должен отвечать за ввод и редактирование строкового представления р-ичных чисел. Значение р-ичного нуля - ‘0,’. Класс должен обеспечивать:
• добавление символов, соответствующих р-ичным цифрам (р от 2 до 16);
• добавление и изменение знака;
• добавление разделителя целой и дробной частей;
• забой символа, стоящего справа (BackSpace);
• установку нулевого значения числа (Clear);
• чтение строкового представления р-ичного числа;
• запись строкового представления р-ичного числа;
3. Протестировать каждый метод класса.
Рекомендации к выполнению
1. В классе TEditor опишите следующие атрибуты:
• «строка» - строкового типа, содержит строковое представление редактируемого р- ичного числа, .
2. В классе опишите следующие операции:
• «число есть ноль», операция возвращает булевское значение True, если «строка» содержит изображение числа равного 0, False – в противном случае;
• «добавить знак», операция добавляет или удаляет знак «-» из «строка» и возвращает значение «строка»;
• «добавить р-ичную цифру», операция получает целое число (числовое обозначение р-ичной цифры), преобразует его в символ и добавляет к «строка», если это допускает формат, возвращает значение «строка»;
• «добавить ноль», операция добавляет ноль к «строка», если это допускает формат, возвращает значение «строка»;
• «забой символа», операция удаляет крайний правый символ «строка» и возвращает значение «строка»;
• «очистить», операция устанавливает в «строка» строку, изображающую р-ичный 0, возвращает значение «строка»;
• «редактировать», операция получает номер команды редактирования, выполняет действия по её выполнению и возвращает значение «строка»;
• «конструктор», создаёт объект типа TEditor;
• «читать «строка» в формате строки» - строкового типа (метод свойства), возвращает значение «строка» в заданном пользователем формате;
• «писать «строка» в формате строки», получает значение строкового типа (метод свойства) и заносит его в «строка»;
3. Класс реализуйте в отдельном модуле UEditor. В разделе описания констант опишите следующие константы:
• «разделитель целой и дробной частей» строкового типа;
• «строковое представление нуля» строкового типа.
Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования класса.
Контрольные вопросы
1. Что такое инкапсуляция?
2. Как синтаксически представлено поле в описании класса?
3. Как синтаксически представлен метод в описании класса?
4. Как синтаксически представлено простое свойство в описании класса?
5. Особенности описания методов класса?
6. Особенности описания и назначение конструктора класса?
7. Видимость идентификаторов в описании класса?
8. Особенности вызова методов применительно к объектам класса?
Лабораторная работа №5
Управление калькулятором р-ичных чисел
Управление калькулятором р-ичных чисел
1. Задание.
1. Разработать и реализовать класс «Управление калькулятором р-ичных чисел» тип TCtrl, используя класс
• Object Pascal,
• С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно описатьть следующим образом:
УправлениеКалькуляторомР-ичныхЧисел (тип TCtrl)
состояниеКалькулятора: TCtrlState
редактор: TEditor
процессор: TProc
память: TMemory
число: TPNumber
выполнитьКомандуКалькулятора(a: Integer; var b, MState: String): String
выполнитьКомандуРедактора(a: Integer): String
выполнитьОперацию(a: Integer): String
выполнитьФункцию(a: Integer): String
вычислитьВыражение(a: Integer): String
установитьНачальноеСостояниеКалькулятора(a: Integer): String
выполнитьКомандуюПамяти(a: Integer; var MState: String): String
очиститьПамять(var MState: String): String
записатьВПамять(var MState: String): String
считатьИзПамяти(var MState: String): String
добавитьКЧислуВПамяти(var MState: String): String
читатьПисатьСостояниеКалькулятора: TCtrlState (свойство, опирающееся на поле)
выполнитьКомандуБуфераОбмена(a: Integer; var b: String): String
записатьВБуферОбмена(a: Integer; var b: String): String
читатьИзБуферОбмена(a: Integer; var b: String): String
сменитьОснованиеСистемыСчисления(b: integer; var s:String)
конструктор
деструктор
Обязанность:
управление выполнением команд калькулятора
2. Класс должен отвечать за управление выполнением команд калькулятора. Класс должен обеспечивать:
• управление вводом и редактированием р-ичных чисел;
• управление выполнением операций, функций и выражений над р-ичными числами;
• управление выполнением операций по работе с памятью, объёмом в одно значение типа р-ичное число;
• управление работой с системным буфером обмена.
3. Протестировать каждый метод класса и класс в целом.
Рекомендации к выполнению
1. Класс TCtrl реализуйте в отдельном модуле UControl.
2. В модуле опишите перечисляемый тип TCtrlState = (cStart, cEditing, FunDone, cValDone, cExpDone, cOpChange, cError) для обозначения состояний калькулятора: cStart (Начальное), cEditing (Ввод и редактирование), cExpDone (Выражение вычислено), cOpDone (Операция выполнена), cValDone (Значение введено), cOpChange (Операция изменена),. cError (Ошибка).
3. В классе опишите следующие атрибуты:
• «редактор» - объект типа TEditior;
• «процессор» - объект типа TProc (TCalc в предыдущей редакции);
• «память» - объект типа TMemory;
• «состояние калькулятора» - тип TCtrlState;
• «число» - объект типа TPNumber (результат выполнения последней команды).
4. Набор основных операций класса определяется набором команд калькулятора, заданных пользователем. Кроме того, в классе будут определены вспомогательные операции, обеспечивающие реализацию основных операций. В классе опишите следующие операции:
• «выполнитьКомандуКалькулятора» (управляет вызовом операций по работе с объектами: редактор (поле TEditor), процессор (поле TProc), память (поле TMemory), буфер обмена (глобальный объект ClipBoard)), операция получает целое число (номер команды пользователя), строку для буфера обмена, строку со значением состояния памяти и возвращает строку для буфера обмена, строку состояния памяти и строку результата;
• «выполнитьКомандуРедактора» (управляет вызовом методов объекта редактор (тип TEditor)), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «выполнитьОперацию» (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «выполнитьФункцию» (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «вычислитьОперацию» (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «вычислитьВыражение» (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «установитьНачальноеСостояниеКалькулятора» (управляет вызовом методов для перевода объекта типа TCalc в состояние Start (см. ниже), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «выполнитьКомандуПамяти» (управляет вызовом методов объекта типа TCtrl, обеспечивающих выполнение команд памяти), операция получает целое число (номер команды пользователя), строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
• «очистить память» (обеспечивает выполнение команды MC памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
• «записать в память» (обеспечивает выполнение команды MS памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
• «считать из памяти» (обеспечивает выполнение команды MR памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
• «добавить к числу в памяти» (обеспечивает выполнение команды M+ памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
• «выполнитьКомандуБуфераОбмена» (управляет вызовом методов объекта типа TClipBoard, обеспечивающих выполнение команд буфера обмена), операция получает целое число (номер команды пользователя), строку со значением буфера обмена и возвращает строку со значением буфера обмена и строку результата;
• «записатьВБуферОбмена» (обеспечивает выполнение команды Вставить), операция возвращает строку со значением числа и строку результата;
• «читатьИзБуферОбмена» (обеспечивает выполнение команды Копировать), операция получает строку со значением числа и строку результата;
• «сменить основание системы счисления», операция получает новое значение основания системы счисления и возвращает строку, содержащую отображаемое число в новой системе счисления;
• «читать | писать состояние калькулятора», возвращает значение типа TCtrlState (свойство, опирающееся на поле);
• «конструктор», осуществляет создание объектов и инициализацию полей класса;
• «деструктор», осуществляет освобождение памяти, занимаемой объектом класса и объектами, указатели на которые хранятся в полях объекта: «Редактор», «Процессор», «Память», «Число».
Рекомендации к выполнению
Логика работы объекта «управление калькулятором» класс TCtrl может быть описана с помощью таблицы переходов, которая отражает изменение состояния калькулятора и результат работы объекта под действием команд пользователя. Таблица переходов строится на основе анализа прецедентов (вариантов использования), приведённых в спецификации.
Для построения таблицы переходов необходимо:
1. проанализировать спецификацию, приведённую в задании для калькулятора р-ичных чисел и выделить состояния калькулятора, например: Start (Начальное), Editing (Ввод и редактирование), ExpDone (Выражение вычислено), FunDone (Функция выполнена), ValDone (Значение введено), OpChange (смена операрации), Error (ошибка);
2. построить таблицу состояний следующего вида:
Дополнительная информация
Уважаемый слушатель, дистанционного обучения,
Оценена Ваша работа по предмету: Современные технологии программирования
Вид работы: Лабораторная работа 5
Оценка: Зачет
Дата оценки: 07.03.2018
Рецензия:Уважаемый С*
По всем вопросам пишите: currrent@yandex.ru
Оценена Ваша работа по предмету: Современные технологии программирования
Вид работы: Лабораторная работа 5
Оценка: Зачет
Дата оценки: 07.03.2018
Рецензия:Уважаемый С*
По всем вопросам пишите: currrent@yandex.ru
Похожие материалы
Лабораторные работы №1-5 по дисциплине: Современные технологии программирования. Вариант №18
ДО Сибгути
: 27 декабря 2017
Лабораторная работа 1. Абстрактный тип данных «комплексное число»
Тема: Классы Object Pascal, С++
Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов Object Pascal, С++. Синтаксис классов: инкапсуляция, простые свойства.
Задание
1. Реализовать абстрактный тип данных «комплексное число», используя класс
• Object Pascal,
• С++,
в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, оп
600 руб.
Лабораторные работы №1-3 по дисциплине: «Современные технологии программирования. Часть 1». Вариант №06.
teacher-sib
: 29 октября 2018
Лабораторная работа 1. Абстрактный тип данных простая дробь
Цель
Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++.
Задание
1. Реализовать абстрактный тип данных «простая дробь», используя класс С++, в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования
Спецификация типа данных «простые дроби».
ADT TFrac
Простая дробь (тип
600 руб.
Лабораторная работа №1 по Современные технологии программирования
zalexz95
: 17 октября 2017
Visual C++
Лабораторная работа. Абстрактный тип данных простая дробь
1. Реализовать абстрактный тип данных «простая дробь», используя класс С++ в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных «простые дроби».
ADT TFrac
Данные
Простая дробь (тип TFrac) - это пара целых чисел: числитель и знаменатель (a/b). Простые дроби изменяемые.
200 руб.
Лабораторная работа №1. Современные технологии программирования
Lampa
: 14 января 2014
на тему «Абстрактный тип данных (ADT) p - ичное число»
Задание
1. Реализовать абстрактный тип данных «р-ичное число», используя класс
Object Pascal, C++, в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных, одним из методов тестирования.
Спецификация типа данных «р-ичное число».
ADT TPNumber
ДанныеР-ичное число TPNumber - это действительное число (n) со знаком в системе счисления с основанием (b) (b в диапазоне 2..16), содержащее цел
39 руб.
Современные технологии программирования (часть 1). Вариант №06.
teacher-sib
: 30 августа 2019
Контрольная работа
Тема: Последовательные контейнеры STL и модульное тестирование
Цель: Сформировать практические навыки разработки абстракций данных на основе контейнеров STL и модульного тестирования средствами VisualStudio.
Задание
Реализовать обработку данных пользовательского типа (объектов класса) с помощью контейнера в соответствии с вариантом задания и со следующей спецификацией:
• приложение заполняет контейнер данными, которые вводятся пользователем с консоли;
• выводит содержимое кон
600 руб.
Современные технологии программирования (часть 2). Вариант №06.
teacher-sib
: 30 августа 2019
Контрольная работа, Ассоциативные контейнеры STL
Тема: Контейнеры STL и модульное тестирование
Цель: Сформировать практические навыки разработки абстракций данных на основе контейнеров STL и модульного тестирования средствами VisualStudio.
Задание
Реализовать абстрактный тип данных «Множество» в соответствии с вариантом задания и со спецификацией, приведённой ниже. Протестировать его, используя средства модульного тестирования VisualStudio. Тестовые наборы необходимо построить на основе критер
600 руб.
Лабораторные работы №1-5 по дисциплине: Современные технологии программирования. "Калькулятор р-ичных чисел"
Багдат
: 30 марта 2018
Лабораторная работа 1. Абстрактный тип данных (ADT) p - ичное число
Задание
1. Реализовать абстрактный тип данных «р-ичное число», используя класс
Object Pascal,
C++,
в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных, одним из методов тестирования.
Лабораторная работа 2. Абстрактный тип данных (ADT) «p - ичная память»
Задание
1. В соответствии с приведенной ниже спецификацией реализовать абстрактный тип данных «р-ичная память», исп
200 руб.
Современные технологии программирования ЛАБОРАТОРНЫЕ работы №№1-4
vastenin
: 10 июня 2019
Лабораторная работа №1 Абстракция данных «простая дробь»
Лабораторная работа №2 Абстракция данных «р-ичное число»
Лабораторная работа №3 Абстракция данных «комплексное число»
Лабораторная работа №4 Параметризованный абстрактный тип данных «Память»
Введение
Целями данного лабораторного практикума является формирование практических навыков:
проектирования программ в технологии «абстрактных типов данных»;
реализации абстрактных типов данных с помощью классов С++;
использования библиотеки визуа
17 руб.
Другие работы
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 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 руб.