Лабораторная работа № 1

Лабораторная работа № 1 #

Проверяемые знания и умения #

  • Знание основ языка Kotlin.
    • Умение формировать функции.
    • Умение формировать классы.
    • Умение формировать классы данных.
    • Умение использовать стандартные коллекции.
  • Знание формата данных CSV.
  • Знание формата данных JSON.
  • Знание основ настройки системы сборки Gradle.
  • Умение обрабатывать аргументы приложения.
  • Умение подключать существующие библиотеки для работы приложения.

Требования к лабораторной работе #

  • Результат работы — исходные коды приложения без артефактов сборки приложения (без каталогов bin, build, .gradle, .idea).
    • Не надо добавлять в архив с исходными кодами файлы, которые не нужны для компиляции, запуска. Исключением является — документация по работе приложения.
    • В передаваемом архиве должны отсутствовать результаты работы приложения.
    • Приложение должно запускаться и продуцировать результаты на любом компьютере, удовлетворяющем требованиям.
  • Приложение должно запускаться из любого каталога, не должно быть привязок к абсолютным путям.
  • Приложение должно быть разработано с использованием языка программирования Kotlin.
  • Приложение должно быть разбито на логические части: пакеты, функции и классы.
  • Приложение должно возвращать ненулевой код возврата, если произошла ошибка.
  • Приложение не должно выводить стек вызова при любом сценарии использования приложения.
  • Для подключения дополнительных библиотек необходимо использовать механизм, предложенный в шаблоне лабораторной работы.
  • Исходный код лабораторной работы должен быть совместим с автоматизированной системой проверки.

Задача #

Разработать консольное приложение, считывающее данные из CSV-файла и выводящее результат собственной работы на стандартный поток вывода в формате JSON. Никаких других данных, которые не определены в задании, приложение не должно выводить.

Приложение должно реализовывать интерфейс, указанный в задании. Запрещается переименовывать аргументы, названия команд и т.д.

  • Данные в CSV-документе всегда будут корректными.
  • Пользователи могут передавать произвольные аргументы приложению. Если приложению будет передан аргумент, не соответствующий спецификации, то приложение должно завершить свою работу с ненулевым кодом возврата и сообщением об ошибке.

Спецификации заданий доступны по ссылкам ниже.

© A. M. Васильев, 2025, CC BY-SA 4.0, andrey@crafted.su