*Лабораторная работа 1. Разработка консольных утилит.
Информация
Одной из задач инженера-программиста является разработка программных утилит,
обрабатывающих специфичную для предприятия
информацию. Достаточно часто создаваемые утилиты предназначены для промежуточной или конечной обработки информации, полученной
из различных источников, а результат обработки может быть востребован как пользователями, так и применяться
в виде исходных данных в других информационных системах. Для успешного решения указанной задачи исполнитель должен в совершенстве знать как минимум
один язык программирования, пригодный для обработки больших объемов данных, и владеть программным инструментарием.
Задание
Разработать утилиту concat, которая будет являться упрощенным вариантом
cat - стандартной утилиты операционной системы Unix (Linux, BSD, POSIX-совместимых и др. ОС), предназначенной для объединения файлов.
За основу взять вариант для ОС Linux. Из набора требуемых
опций реализовать -n, -b, -s, --help, --version. Вывод версии утилиты дополнить выводом
идентификационных данных разработчика.
Критерии зачета
Лабораторная работа зачитывается в случае, если студент успешно прошел всю совокупность контрольных мероприятий, перечисленных ниже:
- Продемонстрировал работоспособность утилиты с различными комбинациями файлов и опций по выбору преподавателя.
- Продемонстрировал программный код утилиты, объяснив функциональные возможности любых его участков по выбору преподавателя.
- *При модификации преподавателем условия задачи - внес требуемые изменения в программный код и продемонстрировал работоспособность утилиты.
Контрольное мероприятие, помеченное *, применяется в случае несамостоятельного решения
(плагиата, использование стороннего кода, в том числе - кода согрупников и т.д.),
а также в случае значительной задержки в представлении результатов работы.
Сложность данного мероприятия увеличивается как с увеличением задержки, так и с уровнем несамостоятельности решения. Уровень несамостятельности решения
определяется преподавателем.