На языке Go сделать работающую реализацию паттерна Factory Method. Две низкоуровневые сущности Cat и Dog. Обе генерализируются в абстракцию Animal, у которой в контракте есть метод Sound, который обязаны реализовать все потомки. Отдельно нужна функция принимающая на вход множество (не важно массив или связанный список) объектов типа Animal, в теле перебор всех элементов и вызов у каждого метода Sound. В результате работы программы на экране должен появится столбик голосов что-то вроде:
“Гав”
“Мяу”
Код должен быть откомментирован. Должно быть понятно, как можно добавить новую сущность того же уровня, что и Cat, Dog.
Дан массив из 100 элементов, целых, упорядоченных по возрастанию, чисел от 1 до 100. Произвольный элемент этого массива заменили на значение 0, затем массив перемешали. На любом понятном языке программирования реализовать функцию, которая принимает на вход этот перемешанный массив и возвращает, то значение, которое до этого заменили на 0. Ограничение – это необходимо сделать за 1 проход по массиву.
Нужно спроектировать реляционную базу данных для издательства. У нас есть сущности: Автор (важно хранить ФИО), книга (важно хранить название), издание (важно хранить ISBN), гонорар (дату, сумму, кому выплачен).
Важно знать, что 1 автор может поучаствовать в создании более чем одной книги и над одной книгой могут потрудиться несколько авторов. Издание – это издание конкретной книги, книга может издаваться несколько раз, за каждое издание автору(ам) выплачивается гонорар.
Результатом будет ER диаграмма (предпочтительно, схема в нотации «вороньи лапы»), содержащая таблицы с полями и связями.