Заказ закрыт
Лабораторная по ООП

Бюджет: по договоренности
Программа выполняется в среде разработки Qt SDK, а именно в Qt Creator, с использованием библиотеки Qt, желательно версии 4.8



1) Разработать абстрактный класс генератора сигнала SignalGeneration, содержащий абстрактные методы

-double GetSample(); // метод получения последуйщего сэмпла от генератора

-void SetFrequency (double iFrequency); // метод задания частоты генерируемого сигнала

-void SetAmplitude (double iAmplitude); // метод задания амплитуды генерируемого сигнала

-void SetOffset (double iOffset); // метод задания сдвига фазы относительно начала отсчёта по времени

-void ResetPosition(); // метод сброса текущего времени

-void SetDiscretizationFrequency(int iDescrFreq); // метод задания частоты дискретизации сигнала



Это задача общая, тк от нёё будут задачи индивидуальные. Данная задача была выполнена общими усилиями, её код можно найти в репозитории у других участников. (Я могу достать вам ее код)



2)На базе абстрактного класса генератора SingalGenerator создать классы :

-генератора синусоидального сигнала SineGenerator;

-генератора прямоугольного сигнала SquareWaveGenerator с собственным публичным методом void setDutyCycle(double iDutyCycle) задания скважности;

-генератора треугольного сигнала TriangleWaveGenerator;

-генератора трапецеидального сигнала TrapezioidWaveGenerator с собственными публичными методами void SetRizePeriod(double iRizePeriod) и void SetFallPeriod(double iFallPeriod);

-генератора шума NoiseGenerator;

5) Создать прогамму с собственным элементом интерфейса SignalDisplay на базе QWidget, выполняющую следующие функции

-отображение вывода с класса signalGenerator.



Общая концепция такова: Есть набор генераторов из П.2, которые все "подключены" к микшеру из П3, после которого подключен фильтр из П4, после которого функция отобрадается на экране через п.5. Все классы генераторов наследуются от абстрактного класса из п1, так что программе из п.5 без разницы, кого к ней подключат из всех наследников SignalGenerator, она будет их отображать в любом случае.



Сначало нужно выполнить п.1, потом можно параллельно разрабатывать пп2,3,4 и частично 5. Для п.5 лучше написать свой "виджет" контроля над компонентом, чтобы его можно было легко воткнуть в интерфейс программы из п.5

(((Некоторые пункты из условия могут отсутствовать из-за не надобности их выполнения)))
Опубликован 24.03.2015 в 00:58
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.