Примеры решений задач на Ruby
Задача 1. Объектно-ориентированное программирование. Создайте набор классов, описывающих обмен валют. Пункт обмена валют обслуживает клиентов по разным схемам: обмен может быть прямой, с наценкой, с наценкой и начислением налога. Клиент имеет определенный баланс в валюте на своем счету и может обменять его на другую валюту в соответствии с правилами обменного пункт. Классы должны накапливать статистику по обменным операциям, доходу пункта обмены и накопленной сумме налога.
Задача 2. Объектно-ориентированное программирование. Создайте набор классов, описывающих поле для игры в "Морской бой" с кораблями. Поле должно иметь квадратную форму, на нем можно размещать Корабли произвольного типа по горизонтали или вертикали. Корабль должен размещаться на Поле, у Корабля есть такие параметры, как Расположение, Длину, Здоровье, Пределы здоровья (минимум и максимум). Корабль можно разместить на поле, удалить с поля, переместить вперед или назад, повернуть на угол относительно любой из его клеток на угол 90, 180, 270 градусов. Корабли можно повреждать, уменьшая Здоровье (при повреждении ниже минимального уровня Корабль удаляется с поля), чинить (не выше максимального уровня Здоровья).