Лабораторная работа по программированию (Java)
500 UAHОписание задания (проекта)
Задание состоит из двух частей: теоретическая и практическая.
В теоретической части необходимо описать и проиллюстрировать примерами на языке 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).
- В вариантах, где нужно преобразовать последовательность символов, ограниченную начальной и конечной «операторными скобками» (например, {{{ и }}}), начальная и конечная «скобки» могут располагаться на разных строках.
Обязательные требования к результатам работы. Форматы файлов, способы проверки
1. программа (исходный код);
2. лабораторная работа(в формате word, введение, разделы с названиями, четкое заключение)
Отзыв заказчика о сотрудничестве с Anatolii N
Лабораторная работа по программированию (Java)Анатолий, большое спасибо! Очень результативное сотрудничество! Были получены ответы на все вопросы и оперативно вносились корректировки в программу.
Успехов Вам!
![]()
Отзыв фрилансера о сотрудничестве с заказчиком
Лабораторная работа по программированию (Java)Приятно было работать, интересная задача, буду рад дальнейшему сотрудничеству.
-
359 28 0 Здравствуйте!
Сделаю работу на понедельник-вторник. Без оформления, только код, комментарии и скрины.
-
623 13 0 По заданию все понятно - вопросов больше нет.
Но что-то у меня не придумывается, как шаблон Посетитель к данной задаче применить?
Поэтому ставку делаю только для того, чтобы Вы могли ко мне обратиться, если больше никого не найдете.
Думаю, что за недельку я смогу что-то придумать.
-
2267 73 4 4 Обращайтесь, напишу для вас хороший код и документацию к работе.
-
"Не допустимо использование сторонних библиотек."
Я ж надеюсь, что стандартные библиотеки работы с файлами и потоками java.io.FileReader и import java.util.Scanner не считаются сторонними?
И их использовать можно?
-
"Обязательные требования к результатам работы. Форматы файлов, способы проверки
...
2. лабораторная работа(в формате word, введение, разделы с названиями, четкое заключение)
"
А у Вас есть пример лабораторной работы? Или хотя бы оглавление (какие блоки в какой последовательности должны идти в пояснительной записке)?
-
"осуществляет преобразование информации в соответствии с вариантом задания"
А еще Вы не указали вариант задания, и способ преобразования информации, в соответствии с этим вариантом.
-
Если что - могу сделать только программу с комментариями, без оформления работы - тогда цена будет в 3 раза меньше,чем в моей ставке..
-
Актуальные фриланс-проекты в категории Java
Разработка Android-приложения плеера для сервиса онлайн-ТВ
27 000 UAH
Нужен Android-разработчик для создания нативного Android-приложения для сервиса онлайн-ТВ. Планируется две версии: для мобильных устройств: смартфоны и планшеты; для Android TV / Android STB: телевизионные приставки. Ориентировочные сроки: до 3 месяцев. Ориентировочный… Java, Разработка под Android ∙ 28 дней 4 часа назад ∙ 32 ставки |