Мне хотелось бы понять: зачем создают такие задачи? Как они помогают усовершенствовать мой навык программирования и как они относятся к реальной работе программиста вообще?