codigo + o - funcional D: