Итоговая контрольная работа

Информация о проекте

Необходимо организовать систему учета для питомника в котором живут домашние и вьючные животные.

Как сдавать проект:

  • Для сдачи проекта необходимо создать отдельный общедоступный репозиторий(Github, gitlub, или Bitbucket).
  • Разработку вести в этом репозитории, использовать пул реквесты на изменения.
  • Программа должна запускаться и работать, ошибок при выполнении программы быть не должно.
  • Программа, может использоваться в различных системах, поэтому необходимо разработать класс в виде конструктора

Задание

1. Используя команду cat в терминале операционной системы Linux,

создать два файла Домашние животные (заполнив файл собаками, кошками, хомяками) и Вьючные животными заполнив файл (Лошадьми, верблюдами и ослы), а затем объединить их. Просмотреть содержимое созданного файла. Переименовать файл, дав ему новое имя (Друзья человека).

avp-home@avphome-VirtualBox:~/GB_Final$  cat > 'Домашние животные'
Собаки
Кошки
Хомяки

avp-home@avphome-VirtualBox:~/GB_Final$ cat > 'Вьючные животные'
Лошади,
ОСлы,
Верблюды

avp-home@avphome-VirtualBox:~/GB_Final$ cat 'Домашние животные' 'Вьючные животные' > Животные
avp-home@avphome-VirtualBox:~/GB_Final$ ls
    'Вьючные животные'  'Домашние животные'   Животные

avp-home@avphome-VirtualBox:~/GB_Final$ mv Животные 'Друзья человека'
avp-home@avphome-VirtualBox:~/GB_Final$ ls
'Вьючные животные'  'Домашние животные'  'Друзья человека'

2. Создать директорию, переместить файл туда.

avp-home@avphome-VirtualBox:~/GB_Final$ mkdir newdir
avp-home@avphome-VirtualBox:~/GB_Final$ mv 'Друзья человека' newdir/
avp-home@avphome-VirtualBox:~/GB_Final$ tree
.
├── newdir
│   └── Друзья человека
├── Вьючные животные
└── Домашние животные

3. Подключить дополнительный репозиторий MySQL. Установить любой пакет из этого репозитория.

Скачиваем конфигуратор mysql:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb

Переходим в папку Загрузки и устанавливаем компоненты mysql с помощью конфигуратора:

cd Загрузки sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb

В процессе установки жмем Ок, чтобы выполнить полную установку

Обновляем информацию о пакетах и видим подключенный репозиторий mysql:

sudo apt-get update

Устанавливаем mysql-server:

sudo apt-get install mysql-server

Проверяем результат установки:

systemctl status mysql Alt text Alt text

4. Установить и удалить deb-пакет с помощью dpkg.

Скачиваем пакет для установки:

wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j_8.0.32-1ubuntu22.04_all.deb

Устанавливаем пакет mysql-connector-j_8.0.32-1ubuntu22.04_all.deb:

sudo dpkg - i mysql-connector-j_8.0.32-1ubuntu22.04_all.deb

Удаляем пакет и его сопутствующие пакеты:

sudo dpkg -r mysql-connector-j

sudo apt-get autoremove

  1. Выложить историю команд в терминале ubuntu Alt text
  2. Нарисовать диаграмму, в которой есть класс родительский класс, домашние животные и вьючные животные, в составы которых в случае домашних животных войдут классы: собаки, кошки, хомяки, а в класс вьючные животные войдут: (Лошади, верблюды и ослы). Alt text
  3. В подключенном MySQL репозитории создать базу данных “Друзья человека”
  4. Создать таблицы с иерархией из диаграммы в БД
  5. Заполнить низкоуровневые таблицы именами(животных), командами которые они выполняют и датами рождения
  6. Удалив из таблицы верблюдов, т.к. верблюдов решили перевезти в другой питомник на зимовку. Объединить таблицы лошади, и ослы в одну таблицу.
  7. Создать новую таблицу “молодые животные” в которую попадут все животные старше 1 года, но младше 3 лет и в отдельном столбце с точностью до месяца подсчитать возраст животных в новой таблице
  8. Объединить все таблицы в одну, при этом сохраняя поля, указывающие на прошлую принадлежность к старым таблицам.

points 8_12

  1. Создать класс с Инкапсуляцией методов и наследованием по диаграмме.
  2. Написать программу, имитирующую работу реестра домашних животных. В программе должен быть реализован следующий функционал:

4.1 Завести новое животное

14.2 определять животное в правильный класс

14.3 увидеть список команд, которое выполняет животное

14.4 обучить животное новым командам

14.5 Реализовать навигацию по меню

  1. Создайте класс Счетчик, у которого есть метод add(), увеличивающий̆ значение внутренней̆int переменной̆на 1 при нажатие “Завести новое животное” Сделайте так, чтобы с объектом такого типа можно было работать в блоке try-with-resources. Нужно бросить исключение, если работа с объектом типа счетчик была не в ресурсном try и/или ресурс остался открыт. Значение считать в ресурсе try, если при заведения животного заполнены все поля.