- Зарегистрироваться на github.com (если аккаунта еще нет)
- Предоставить никнейм аккаунта в:
- После этого дождаться подтверждения того, что вас добавили в команду репозитория
- Ответом от преподавателя
- ваш никнейм в общей таблице выделен зеленым
- Принять приглашение к совместной работе над репозиторием (приходит на почту)
- Вся работа ведется в вашей персональной ветке
- Ветка должна именоваться
<group>_<LastName>-<FirstName>
- В качестве имени группы достаточно
90101
/00003
- Избегайте использования символов
/ , \ . | * +
- Не забывайте по завершении работы делать push в удаленную ветку
- Ветка должна именоваться
- По возможности старайтесь сделать красивую историю коммитов в ней
- ЗАПРЕЩАЕТСЯ ОПРАВЛЯТЬ ИЗМЕНЕНИЯ В ВЕТКУ main
- Все ваши коммиты из ветки main будут удалены
- Кара воспоследует
- Выполняете работу в исходных файлах с заданиями, там есть шаблон кода и описание, при этом НЕ НУЖНО:
- Копировать эти файлы в ту же директорию
- Создавать отдельную директорию для решиний
- Переименовывать эти файлы
- Перименовывать и менять сигнатуру методов шаблона кода внутри файла
- Выполнив задание и отправив его код в свою ветку в репозиторий, отметьте соответствующий чекбокс в Таблице с результатами
- После проверки преподавателем в этой таблице будет отмечено выполнение задание:
- Зеленый - все хорошо
- Желтый - принято, но можно лучше
- Оранжевый - есть замечания, требующие исправления
- Красный - задание не найдено, задание не выполнено, задание списано
- Будет добавлен комментарий с замечаниями, после исправления замечаний стоит добавить свой комментарий в трек
- Реализовать консольное приложение, позволяющая анализировать текстовые файлы
- Входные параметры
- путь к входному файлу
- путь к выходному файлу (необязательно)
- результат
- если путь к выходному файлу задан, то результат пишется в файл, если нет - выводится в консоль
- выводится количество слов
- выводится количество пробелов
- выводится количество слов из 1,2,3,4,5,6 ... букв
- Дополнительно: принимать в качестве параметра список символов и подсчитывать их количество
- Реализовать консольное приложение, позволяющее генерировать случайные данные
- Входные параметры:
- тип распределения (равномерное, нормальное, пуассона)
- параметры распределения
- Количество значений (минимум 10000)
- формат выхода (CSV, database)
- директория для записи результатов
- Результат выполнения:
- Статус генерации
- Путь к файлу с результатами
- Требования
- минимум два модуля (java9/jigsaw): модуль генерации данных, модуль обработки входных параметров и записи результатов
- логгирование процесса работы приложения
- database - любая файловая база данных (sqlite, hsql...)
- модульные тесты
- "Хорошая" архитектура (декомпозиция, изоляция, SOLID)
-
В данном задании необходимо реализовать простые функции, используя рекурсию (допускается использование дополнительных "внутренних" функции)
-
Функции
def pascal(c: Int, r: Int): Int
- функция возвращающая значение элемента треугольника Паскаля по номеру колонки и строки
def balance(chars: List[Char]): Boolean
- функция, подсчитывающая баланс скобок в выражении (по открытым и закрытым скобкам)def countChange(money: Int, coins: List[Int])
- функция, определяющая количество возможных вариантов размена суммы (money
) монетами номиналом (coins
)
- В это задании необходимо реализовать множество целых числе заданное как функцию
type Set = Int => Boolean
, данная функция отвечает на вопрос "содержится ли заданный элемент в множестве", выделяя его таким образом из множества целых чисел - Для выполнения задания необходимо представить свою реализацию функций, тело которых представлено как
???
- После выполнения задания, подумайте над тем, где все-таки хранятся элементы множества
- Разработать консольную утилиту для поиска внутри файлов по регулярным выражениям
- Урезанный grep - grek:
grek -n <regEx> <pathToSingleFile>
grek -nr <regEx> <pathToFolder>
grek -B 4 -A 5 -nr <regEx> <pathToFolder>
- дополнительные ключи
-i
- поиск без учета регистра--help
- вывод подсказки--exclude
- исключение файлов из поиска
- Дополнительно: использование параллелизма для ускорения работы
- Требования:
- "Хорошая" архитектура (декомпозиция, изоляция, SOLID)
- модульные тесты
- сборка в grek.exe для Windows и grek.deb для Linux