Skip to content

NSTU-Csharp-labs/lab1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторная работа по программированию

C# - OOP - 1st lab

Задание

Реализуйте класс, моделирующий заданный тип объектов предметной области. Сделайте это на основании реализации в директории c_src, написанной на языке c++, проведите Code-Review, объясните свои изменения.

Генераторы последовательностей чисел. Разработать классы СлучайныйГенератор и ГенераторСПостояннымШагом, выдающий следующее число, отличающееся от предыдущего на заданный постоянный шаг. У генераторов должен быть метод СледующееЧисло, а также метод установки предыдущего числа (сброса в это состояние). У каждого объекта классов генераторов должно быть имя в виде текстовой строки. Добавьте каждому генератору метод возврата среднего последних N выданных чисел. N передаётся в конструктор генератора. Если ещё не были сгенерированы хотя бы N чисел, то возможны три варианта поведения: возврат среднего арифметического от сгенерированных чисел, которых меньше N; выброс исключения; возврат NotANumber.
Разработайте класс СоставнойГенератор, выдающий среднее арифметическое чисел, сгенерированных входящими в его состав СлучайнымиГенераторами и ГенераторамиСПостояннымШагом. Реализуйте расчёт среднего арифметического по последним N выданным числам.

Цели работы

  • Научиться анализировать, обновлять и дополнять чужой код
  • Познакомиться с языком программирования C#
  • Узнать о ранее неизвестных приемах, доступными в C#, например использование анонимных, лямбда -функций , CallBack-ми и др

Описание классов

class «BaseGen»
Назначение класса и UML-диаграмма
Базовый класс для всех генераторов, объединяет все общие черты генераторов.

LAB1

enum «AverageBehaviour»
Назначение перечисления
Перечисление, описывающее поведение генератора при попытке подсчета среднего арифметического, когда сгенерированных чисел недостаточно.

class «ConstStepGen»
Назначение класса и UML-диаграмма
Генератор с генерацией чисел методом прибавления какого константного значения.

LAB1

class «RandomGen»
Назначение класса и UML-диаграмма
Генератор с генерацией чисел методом псевдослучайных чисел.

LAB1

class «CompositionGen»
Назначение класса и UML-диаграмма
Генератор состоящий из вышеперечисленных генераторов. Генерация чисел зависит от имеющихся в нем генераторов и чисел в них.

LAB1

class «Menu»
Назначение класса и UML-диаграмма
Класс, отвечающий за работу с консолью.

LAB1

Описание программы

Программа представляет из себя консольное приложение, то есть все взаимодействие пользователя и программы происходит через консоль. При запуске выводится в чем суть приложение и общие понятия, объясняются сущности, с которыми юзер взаимодействует. В дальнейшем создается обязательный композитный генератор, с которым в дальнейшем юзер взаимодействует через меню.

LAB1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors