Лабораторная работа №4. Редактор простых дробей
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Лабораторная работа. Редактор простых дробей
Тема: Классы 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|1’. Класс должен обеспечивать:
• добавление цифры;
• добавление и изменение знака;
• добавление разделителя целой и дробной частей;
• забой символа, стоящего справа (BackSpace);
• установку нулевого значения числа (Clear);
• чтение строкового представления простой дроби;
• запись строкового представления простой дроби.
3. Протестировать каждый метод класса.
Рекомендации к выполнению
1. В классе TEditor опишите следующие атрибуты:
• «строка» - строкового типа, содержит строковое представление редактируемой простой дроби.
2. В классе опишите следующие операции:
• «дробь есть ноль», операция возвращает булевское значение True, если «строка» содержит изображение дроби равной 0/1, False – в противном случае;
• «добавить знак», операция добавляет или удаляет знак «-» из «строка» и возвращает значение «строка»;
• «добавить цифру», операция получает целое число (числовое обозначение арабской цифры), преобразует его в символ и добавляет к «строка», если это допускает формат, возвращает значение «строка»;
• «добавить ноль», операция добавляет ноль к «строка», если это допускает формат, возвращает значение «строка»;
• «забой символа», операция удаляет крайний правый символ «строка» и возвращает значение «строка»;
• «очистить», операция устанавливает в «строка» строку, изображающую дробь 0/1, возвращает значение «строка»;
• «редактировать», операция получает номер команды редактирования, выполняет действия по её выполнению и возвращает значение «строка»;
• «конструктор», создаёт объект типа TEditor;
• «читать «строка» в формате строки» - строкового типа (метод свойства), возвращает значение «строка» в заданном пользователем формате;
• «писать «строка» в формате строки», получает значение строкового типа (метод свойства) и заносит его в «строка»;
3. Класс реализуйте в отдельном модуле UEditor. В разделе описания констант опишите следующие константы:
• «разделитель числителя и знаменателя» строкового типа;
• «строковое представление нуля» строкового типа.
Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования класса.
Контрольные вопросы
1. Что такое инкапсуляция?
2. Как синтаксически представлено поле в описании класса?
3. Как синтаксически представлен метод в описании класса?
4. Как синтаксически представлено простое свойство в описании класса?
5. Особенности описания методов класса?
6. Особенности описания и назначение конструктора класса?
7. Видимость идентификаторов в описании класса?
8. Особенности вызова методов применительно к объектам класса?
Тема: Классы 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|1’. Класс должен обеспечивать:
• добавление цифры;
• добавление и изменение знака;
• добавление разделителя целой и дробной частей;
• забой символа, стоящего справа (BackSpace);
• установку нулевого значения числа (Clear);
• чтение строкового представления простой дроби;
• запись строкового представления простой дроби.
3. Протестировать каждый метод класса.
Рекомендации к выполнению
1. В классе TEditor опишите следующие атрибуты:
• «строка» - строкового типа, содержит строковое представление редактируемой простой дроби.
2. В классе опишите следующие операции:
• «дробь есть ноль», операция возвращает булевское значение True, если «строка» содержит изображение дроби равной 0/1, False – в противном случае;
• «добавить знак», операция добавляет или удаляет знак «-» из «строка» и возвращает значение «строка»;
• «добавить цифру», операция получает целое число (числовое обозначение арабской цифры), преобразует его в символ и добавляет к «строка», если это допускает формат, возвращает значение «строка»;
• «добавить ноль», операция добавляет ноль к «строка», если это допускает формат, возвращает значение «строка»;
• «забой символа», операция удаляет крайний правый символ «строка» и возвращает значение «строка»;
• «очистить», операция устанавливает в «строка» строку, изображающую дробь 0/1, возвращает значение «строка»;
• «редактировать», операция получает номер команды редактирования, выполняет действия по её выполнению и возвращает значение «строка»;
• «конструктор», создаёт объект типа TEditor;
• «читать «строка» в формате строки» - строкового типа (метод свойства), возвращает значение «строка» в заданном пользователем формате;
• «писать «строка» в формате строки», получает значение строкового типа (метод свойства) и заносит его в «строка»;
3. Класс реализуйте в отдельном модуле UEditor. В разделе описания констант опишите следующие константы:
• «разделитель числителя и знаменателя» строкового типа;
• «строковое представление нуля» строкового типа.
Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования класса.
Контрольные вопросы
1. Что такое инкапсуляция?
2. Как синтаксически представлено поле в описании класса?
3. Как синтаксически представлен метод в описании класса?
4. Как синтаксически представлено простое свойство в описании класса?
5. Особенности описания методов класса?
6. Особенности описания и назначение конструктора класса?
7. Видимость идентификаторов в описании класса?
8. Особенности вызова методов применительно к объектам класса?
Дополнительная информация
Работа зачтена, 2016г.
Похожие материалы
Современные технологии программирования. Лабораторная работа №4. Абстрактный тип данных: Редактор простых дробей.
zhekaersh
: 20 февраля 2015
Тема: Классы Object Pascal, С++
Цель: Сформировать практические навыки: реализации абстрактного типа данных с помощью классов Object Pascal, С++.
Задание
1. Разработать и реализовать класс TEditor «Ввод и редактирование простых дробей», используя класс
• Object Pascal,
• С++.
70 руб.
Лабораторная работа №4
Администратор
: 19 апреля 2006
Исследование зависимости показателей качества в переходном режиме от изменения параметров следящей системы
Лабораторная работа №4
Администратор
: 22 марта 2006
“Настройка микрометра и определение годности калибра пробки”.
Лабораторная работа №4.
Администратор
: 17 марта 2006
“Изучение микроструктуры и механических свойств”
Информатика. Лабораторная работа №4.
konst1992
: 27 января 2018
1. Дан массив А(10). Вычислить сумму элементов массива кратных трем и их количество.
2. Дан массив А(10). Вычислить среднее значение положительных элементов массива и количество нулей.
3. Дан массив А(10). Определить наибольший по модулю элемент массива и его номер.
4. Дан массив А(10). Вычислить количество нулевых, отрицательных и
20 руб.
Информатика. Лабораторная работа №4
ddr84
: 30 сентября 2016
Лабораторная работа №4. Поверхности в трёхмерном пространстве.
1. Построить верхнюю часть эллипсоида: x^2/4+y^2/9+z^2/4=1
2. Построить верхнюю часть однополостного гиперболоида:
x^2/4+y^2/9-z^2/4=1
3. Построить гиперболический параболоид:
x^2/9+(-y^2)/4=2z
4. Построить верхнюю часть конуса:
x^2/4+y^2/9-z^2/4=0
400 руб.
Информатика. Лабораторная работа №4
ivi
: 15 июня 2016
Обработка одномерных массивов
Цель работы: Получить навыки разработки алгоритмов и программ для обработки одномерных массивов.
200 руб.
ОВП. Лабораторная работа №4.
daiciy
: 21 марта 2016
Требования к оформлению отчета:
Отчет должен включать следующее:
файл .doc c текстом программы и видом форм приложения;
папку с проектом Project1
!!! Каждый новый проект, соответствующей одной лабораторной работе, сохраняйте в новой папке.
Тема: Базы данных
ЗАДАНИЕ 1
1. Создание таблиц.
Создайте таблицы: Faculty (Название факультета, Курс, Количество групп на курсе ),
Group (Название группы, Фамилия старосты, Количество студентов в группе),
100 руб.
Другие работы
Лабораторные работы 1-3 по дисциплине: Теория электрических цепей. Вариант №09
IT-STUDHELP
: 4 июля 2023
Лабораторная работа No 1
Исследование реактивных двухполюсников
Цель работы
Исследование зависимости входного сопротивления реактивного двухполюсника от частоты.
Исследовать работу схемы реактивного двухполюсника, реализованного по 1-й форме Фостера Схемы цепи.
------------------------------------------------------------------------------
Таблица 1.1 для исходного четырехполюсника (схема a).
f, кГц f1 f2 fрез1 f4 fрез2 f6 fрез3 f8 fрез 4 f10 f11
0
5 8.74 15 19,967 23 25,909 3
900 руб.
Миграционная активность лейкоцитов в условиях нормы и при диффузных заболеваниях соединительной ткани
alfFRED
: 18 января 2013
А.В.Пизов – кандидат биологических наук, ассистент кафедры методики преподавания естественно-математических дисциплин в начальной школе Ярославского государственного педагогического университета им.К.Д.Ушинского; В.Н.Левин – доктор медицинских наук, профессор, зав.кафедрой МБОС Ярославского государственного педагогического университета им.К.Д.Ушинского.
В последние годы внимание специалистов всё больше привлекает изучение функциональных свойств таких клеток крови как лейкоциты, к которым относят
Клапан МЧ00.62.00.00 деталировка
bublegum
: 10 марта 2021
Клапан используют для изменения давления и скорости движения жидкости по трубопроводу.
При вращении маховичка поз. 4 винт поз. 9 с клапаном поз. 7 поднимается вверх, пропуская нужное количество жидкости. Внутри корпуса поз. 1 запрессовано седло поз. 8 клапана поз. 7. Конический конец клапана плотно притерт к конической поверхности седла. На чертеже клапан изображен закрытым, жидкость через клапан не проходит. Втулка поз. 3 фиксируется в стойке поз. 2 винтом поз. 11. Клапан соединен с винтом поз.
600 руб.
Лабораторная работа №2 по дисциплине: Функциональное и логическое программирование. Вариант №4
svladislav987
: 9 ноября 2021
Задание
Напишите на двух языках CLISP и SWI-PROLOG программы для работы со списками по заданию. Обязательно использование рекурсии. Ввод всех входных данных должен запрашиваться с клавиатуры в процессе работы программы (функции или предиката). В программе на языке CLISP не допускается использование: функционалов, а в теле рекурсивной функции - операторов SET и SETQ. В программе на SWI-PROLOG предикат после вывода результатов работы должен успешно завершиться (на экране появится true. и приглашен
200 руб.