autoaperfeicoamento recursivo