Архив: лабораторная работа по программированию (Java)
- Описание
Описание проекта
Задание состоит из 2х частей:теорет и практ.
В теоретической части необходимо описать и проиллюстрировать примерами на языке Java шаблон проектирования "Посетитель (Visitor)".
В практической части задания необходимо разработать приложение на языке Java с типом интерфейса пользователя"командная строка".Необходимо написать программу, которая выполняет ввод текстовой информации из файла или стандартного потока ввода, осуществляет преобразование информации в соответствии с вариантом задания и выводит преобразованную информацию в файл или в стандартный поток вывода. Программа должна представлять собой консольную утилиту.Настройка работы программы осуществляется путем передачи аргументов в строке запуска. Типичными примерами консольных утилит являются cat,ls,cal(в Unix) или dir,type,copy(в Windows).
Строка запуска программы имеет следующий формат:
java имя_программы [опции] [исходный_файл [результирующий файл] ]
где
- имя_программы - имя класса программы, содержащего метод main;
- опции - последовательность ключей, настраивающих поведение программы.Опции перечислены в примечаниях задания.Могут быть предусматриваться дополнительные опции.В случае передачи в командной строке не предусмотренных вариантом опций программа должна сообщать об ошибке.
Практическое задание:
Написать программу, которая позволяет закодировать или раскодировать файл,используя следующую кодировку: каждый исходный байт преобразуется в два символа - код байта в шестнадцатеричной системе счисления (например,байт с кодом 123 (кодирует символ '{' - открывающую фигурную скобку) должен быть преобразован в последовательность символов "7В").
Опции:
-c - кодировать (прямое преобразование);
-d - декодировать (обратное преобразование).
Опции являются взаимоисключающими.
Примечание к заданию:
Опции:
-b = N выполнять действия, предусмотренные вариантом программы, начиная со строки номер N исходного текста. Если эта опция не задана, то действия выполняются, начиная с первой строки текста.
-e = M выполнять действия, предусмотренные вариантом программы, до строки номер M исходного текста включительно. Если эта опция не задана, то действия выполняются до конца текста.
В отчет лабораторной работы, помимо информации, которую необходимо включить по требованиям, изложенным в описании задания, необходимо добавить в качестве приложений:
-текст программы с комментариями;
- скриншоты примеров работы программы.
Проверка работы будет проходить в течение 2-х рабочих дней
Не допустимо использование сторонних библиотек.
Замечания:
В опциях вида -o=значение (например, -b=12) между буквой опции, знаком равенства и значением допустимы пробельные символы (например, -b = 12). Между буквой опции и дефисом пробелы недопустимы.
При описании синтаксиса командной строки аргументы, которые не являются обязательными, обозначаются квадратными скобками [ и ]. При запуске программы из командной строки с фактическими аргументами указывать квадратные скобки не нужно.
Словом считается последовательность непробельных символов. Слова в файле могут отделяться друг от друга пробельными символами, в число которых входят: собственно пробел, символ табуляции, перевод строки и возврат каретки.
В программе должна присутствовать обработка ошибок: в случае, если пользователь задал неверную комбинацию опций, указал файлы, которые невозможно открыть, и т.д. программа должна выдавать диагностическое сообщение на консоль, прежде чем завершиться.
При использовании опций -b и -e строки исходного файла вне заданного диапазона записываются в стандартный поток вывода или в результирующий файл без изменения.
Если в командной строке не задается исходный файл, то программа читает текст из стандартного потока ввода (stdin). Передать программе что-либо через стандартный поток ввода можно либо введя строки с клавиатуры (завершив ввод нажатием Ctrl-Z и Enter), либо используя каналы (pipes): например, команда «type some_file.txt | java my_prog» передаст содержимое файла some_file.txt на вход (в стандартный поток ввода) программе, запускаемой с помощью класса my_prog.
Программа не должна останавливаться для запроса дополнительных данных из стандартного ввода (все необходимые параметры передаются через командную строку), иначе она не сможет работать в составе конвейера через каналы (pipes).
В вариантах, где нужно преобразовать последовательность символов, ограниченную начальной и конечной «операторными скобками» (например, {{{ и }}}), начальная и конечная «скобки» могут располагаться на разных строках.
Обязательные требования к результатам
программа (исходный код);
лаб работа(формат word, введение, разделы с названиями, четкое заключение)
- Категория
Похожие проекты
Похожая удалённая работа
- Удаленная работа для веб-программиста
- Удаленная работа для разработчика баз данных
- Удаленная работа для прикладного программиста
- Удаленная работа для системного программиста
- Удаленная работа для разработчика игр
- Удаленная работа для разработчика мобильных приложений
- Удаленная работа для тестировщика ПО
- Удаленная работа для 1С программиста
- Удаленная работа для разработчика встраиваемых систем
- Удаленная работа для разработчика CRM и ERP