refatora algoritmo principal em funções