Лабораторная работа № 1 #
Проверяемые знания и умения #
- Знание основ языка Kotlin.
- Умение формировать функции.
- Умение формировать классы.
- Умение формировать классы данных.
- Умение использовать стандартные коллекции.
- Знание формата данных CSV.
- Знание формата данных JSON.
- Знание основ настройки системы сборки Gradle.
- Умение обрабатывать аргументы приложения.
- Умение подключать существующие библиотеки для работы приложения.
Требования к лабораторной работе #
- Результат работы — исходные коды приложения без артефактов сборки приложения
(без каталогов
bin
,build
,.gradle
,.idea
).- Не надо добавлять в архив с исходными кодами файлы, которые не нужны для компиляции, запуска. Исключением является — документация по работе приложения.
- В передаваемом архиве должны отсутствовать результаты работы приложения.
- Приложение должно запускаться и продуцировать результаты на любом компьютере, удовлетворяющем требованиям.
- Приложение должно запускаться из любого каталога, не должно быть привязок к абсолютным путям.
- Приложение должно быть разработано с использованием языка программирования Kotlin.
- Приложение должно быть разбито на логические части: пакеты, функции и классы.
- Приложение должно возвращать ненулевой код возврата, если произошла ошибка.
- Приложение не должно выводить стек вызова при любом сценарии использования приложения.
- Для подключения дополнительных библиотек необходимо использовать механизм, предложенный в шаблоне лабораторной работы.
- Исходный код лабораторной работы должен быть совместим с автоматизированной системой проверки.
Задача #
Разработать консольное приложение, считывающее данные из CSV-файла и выводящее результат собственной работы на стандартный поток вывода в формате JSON. Никаких других данных, которые не определены в задании, приложение не должно выводить.
Приложение должно реализовывать интерфейс, указанный в задании. Запрещается переименовывать аргументы, названия команд и т.д.
- Данные в CSV-документе всегда будут корректными.
- Пользователи могут передавать произвольные аргументы приложению. Если приложению будет передан аргумент, не соответствующий спецификации, то приложение должно завершить свою работу с ненулевым кодом возврата и сообщением об ошибке.
Спецификации заданий доступны по ссылкам ниже.
- Инвентаризационный список техники: спецификация.
- Продажа песчано-гравийной смеси: спецификация.
- Список задач: спецификация.
- Управление прачечной самообслуживания: спецификация.