Skip to main content

Задание Numerics

📝 Основное задание

На вход подаются n случайных целых чисел. Из этих чисел необходимо сформировать одномерный массив или коллекцию.

С выбранным способом набора чисел без использования Linq выполнить:

  1. (0.5 баллов) Поиск минимального значения.
  2. (0.5 баллов) Поиск максимального значения.
  3. (0.5 баллов) Сортировку чисел по возрастанию.
  4. (0.5 баллов) Сортировку чисел по убыванию.
  5. (0.5 баллов) Нахождение индекса первого вхождения числа. Число вводится с консоли.
  6. (0.5 баллов) Нахождение индекса последнего вхождения числа. Число вводится с консоли.
  7. (0.5 баллов) Нахождение индексов всех вхождений числа. Число вводится с консоли.
  8. (0.5 баллов) Нахождение всех чисел, кратных m.

(1 балл) То же самое повторить с Linq. Засечь время выполнения алгоритма без и с Linq. Сравнить разницу во времени. Взять, например, секунды.

Все результаты выводить в консоль. Числа n и m вводятся с консоли. Для формирования чисел можно использовать класс Random с диапазоном от -1000 до 1000.

⭐ Задания со звездочкой

  1. (0.25 баллов + 0.25 баллов) Разработать процесс удаления дубликатов из набора без использования Linq и отдельно с его использованием.
  2. (0.25 баллов) Реализовать операции над множествами: проекция, объединение, пересечение, разность, соединение. (0.25 баллов) Так же без Linq и с Linq по отдельности.
  3. (1.5 балла) Разработать меню для выбора определённой операции. Реализовать возможность возврата к меню после выполнения математических операций. Формат меню может быть любой, например, числовой или псевдографический (как в TotalCommander в DOS или FarManager).

  1. (2.5 балла) Разработать модульные тесты для проверки правильности выполнения алгоритмов.

Бонусное задание

(до 5 баллов) Придумать самостоятельно, как можно модифицировать программу. Можно не реализовывать кодом, но тогда надо будет рассказать на собеседовании, как можно реализовать ту или иную модификацию.

Оценка

Оценка для текущего задания — 10-бальная система.

Формула оценки:

$$ \textup{Оценка} = min(\textup{полученные баллы}, 10) + min(\textup{полученные бонусные баллы}, 5) $$

Полученные баллы это сумма баллов за основные задания и за задания со звездочкой.

Полученные бонусные баллы это сумма бонусных баллов.

<aside> ⚠️ Минимальный порог — 4 из 10.

</aside>