Java Web Development
EPAM Systems
Minsk, Belarus (Минск, Беларусь)
March 2021
EN: All copyrights to the laboratory conditions provided below belong to the company
EPAM
RU: Все авторские права на предоставленные ниже условия лабораторных работ принадлежат компании
EPAM
Java Fundamentals
-
EN: Laboratory work №1
RU: Лабораторная работа №1
Tasks (Задачи)
Общие требования к коду задач:
-
При написании приложений обязательно используйте Java Code Convention.
-
Не размещайте код всего приложения в одном методе (даже если задача вам кажется маленькой и “там же нечего писать”).
-
Обязательно используйте пакеты.
-
Именуйте переменные, методы, класс и прочее так, чтобы можно было понять назначение элемента. Не используйте сокращений, только если это не общепринятые сокращения.
Task 1:
Написать программу, позволяющую по последней цифре числа определить последнюю цифру его квадрата.
Task 2:
Составить программу, которая по заданным году и номеру месяца определяет количество дней в этом месяце и корректно определялись все високосные года.
Task 3:
Окружность вписана в квадрат заданной площади. Найти площадь квадрата, вписанного в эту окружность. Во сколько раз площадь вписанного квадрата меньше площади заданного?
Task 4:
Составить программу, печатающую значение true, если указанное высказывание является истинным, и false — в противном случае: среди заданных целых чисел А, В, С, D есть хотя бы два четных.
Task 5:
Составить программу, печатающую значение true, если указанное высказывание является истинным, и false — в противном случае: является ли целое число совершенным (сумма делителей равна самому числу).
Task 6:
Идет n-я секунда суток, определить, сколько полных часов, полных минут и секунд прошло к этому моменту
Task 7:
Даны две точки А(х1, у1) и В(х2, у2). Составить алгоритм, определяющий, которая из точек находится ближе к началу координат x, y.
Task 8:
Вычислить значение функции.
F(x)={-x^2+3x+6, если x >= 3; 1/(x^3-6), если x < 3}
Task 9:
Вычислить длину окружности и площадь круга одного и того же заданного радиуса R.
Task 10:
Составить программу для вычисления значений функции F(x) на отрезке [а, b] с шагом h. Результат представить в виде таблицы, первый столбец которой – значения аргумента, второй - соответствующие значения функции.
F(x) = tg(x)
-
EN: Laboratory work №2
RU: Лабораторная работа №2
Task (Задача)
Создать класс Мяч. Создать класс Корзина. Наполнить корзину мячиками. Определить вес мячиков в корзине и количество синих мячиков.
-
EN: Laboratory work №3
RU: Лабораторная работа №3
Tasks (Задачи)
Task 1:
Создание типа Array, который является классом оболочкой над массивом целого типа. В данном типе должны быть реализованы конструкторы (позволяющие несколькими способами создавать объекты типа), get-ы, set-ы и переопределенные методы класса Object (toString(), equals(), hasCode()).
Программа должна иметь следующие возможности:
1 - Сортировать массив тримя способами.
2 - Осуществлять поиск элемента массива (использовать алгоритм бинарного поиска).
3 - Нахождение максимального и минимального элемента массива.
4 - Получить все простые числа находящиеся в массиве.
5 - Получить все числа Фибонначчи находящиеся в массиве.
6 - Получить все трехзначные числа, в десятичной записи которых нет одинаковых цифр.
7 - Заполнения элементов массива и с консоли, и с файла и с помощью генерации случайных чисел.
Task 2:
Дан непрямоугольный целочисленный массив (jagged array). Реализовать алгоритм "пузырьковой" сортировки, таким образом, чтобы была возможность упорядочить строки матрицы:
• в порядке возрастания (убывания) сумм элементов строк матрицы;
• в порядке возрастания (убывания) максимальных элементов строк матрицы;
• в порядке возрастания (убывания) минимальных элементов строк матрицы.
Для сортировки методы класса Arrays не использовать! Основное требование избежать повтора кода!!!!!
-
EN: Laboratory work №4
RU: Лабораторная работа №4
Tasks (Задачи)
Программа обработки текста, который может быть получен как с консоли, так и с файла.
Task 1:
В каждом слове k-ю букву заменить заданным символом. Если k больше длины слова, корректировку не выполнять.
Task 2:
В тексте после буквы Р, если она не последняя в слове, ошибочно напечатана буква А вместо О. Внести исправления в текст.
Task 3:
В тексте слова заданной длины заменить указанной подстрокой, длина которой может не совпадать с длиной слова.
Task 4:
Из небольшого текста удалить все символы, кроме пробелов, не являющиеся буквами. Между последовательностями подряд идущих букв оставить хотя бы один пробел.
Task 5:
Из текста удалить все слова заданной длины, начинающиеся на согласную букву.
-
EN: Laboratory work №5
RU: Лабораторная работа №5
Tasks (Задачи)
Задания необходимо выполнить с помощью командной строки и написать отчет.
Task 1:
Создать класс Hello, который будет приветствовать любого пользователя при вводе его имени через командную строку.
Task 2:
Создать приложение, которое отображает в окне консоли аргументы командной строки метода main() в обратном порядке.
Task 3:
Создать приложение, выводящее заданное количество случайных чисел с переходом и без перехода на новую строку.
Task 4:
Создать приложение для ввода пароля из командной строки и сравнения его со строкой-образцом.
Task 5:
Создать программу ввода целых чисел как аргументов командной строки, подсчета их суммы (произведения) и вывода результата на консоль.
Task 6:
Приложение, выводящее фамилию разработчика и за сколько дней готов выполнить задание. Необходимо рассчитать дату и время сдачи задания. Для получения даты и времени использовать класс Calendar из пакета java.util.
Task 7:
Создать приложение, получающее дату рождения (день, месяц и год) и определяющее в какой день недели Вы родились, сколько Вам полных лет и поздравляет с днем рождения, если оно сегодня (использовать класс Calendar из пакета java.util).
-
EN: Laboratory work №6
RU: Лабораторная работа №6
Task (Задача)
Авиакомпания. Определить иерархию самолетов. Создать авиакомпанию. Посчитать общую вместимость и грузоподъемность. Провести сортировку самолетов компании на основе одного и нескольких параметров. Найти самолет в компании, соответствующий заданному диапазону параметров потребления горючего.
MySQL
-
EN: Laboratory work №7
RU: Лабораторная работа №7
Task (Задача)
Интернет магазин. Спроектировать схему БД по теме. Создать таблицы, заполнить таблицы данными. Выполнить запросы для проверки работы.
Java web
-
EN: Laboratory work №8
RU: Лабораторная работа №8
Task (Задача)
Создать xml-файл, хранящий информацию об объектах определенной предметной области. Для валидации полученного xml-файла необходимо разработать соответствующую ему схему xsd.
Выполнить парсинг xml-документа с использованием DOM, SAX и StAX парсеров.
Файл загружать в веб-приложение через страницу в браузере, на странице осуществлять выбор парсера. Результаты парсинга должны быть выведены в браузер в виде таблицы.
Требования:
-
использовать для атрибутов required & optional
-
перечисления
-
шаблоны и предельные значения
-
использовать тип ID
-
задание значений атрибутов по умолчанию
-
расширение типов (имитация наследования)
-
использовать дату-время
-
создать в xml-документе не менее 16 сущностей
-
парсеры организовать с помощью шаблона Bilder
-
для записи логов использовать Log4J2
-
код должен быть покрыт тестами
Компьюетры
Компьютерные комплектующие имеют следующие характеристики:
Name - название комплектующего.
Origin - страна производства.
Price - цена (0-n рублей).
Type (должно быть несколько) - периферийное либо нет, энергопотребление (ватт), наличие кулера (есть либо нет), группа комплектующих (устройства ввода-вывода, мультимедийные),
порты (COM, USB, LPT).
Critical - критично ли наличие комплектующего для работы компьютера.
Корневой элемент назвать Devices.