Arecursão é bastante poderosa, pois permite que uma função ou um procedimento possa chamar a execução dentro mesmo. Uma vez que a função ou o procedimento forem definidos, é possível executar a mesma função ou procedimento várias vezes.
A recursão sem cauda acontece quando, durante a execução da recursão, ela não deixa um rastro na memória, isto é, não tem uma cauda.
A recursão sem cauda, normalmente, acontece quando a sua recursão é um procedimento e não retorna um valor.
Para exemplificar a aplicação da recursão sem cauda, vamos desenvolver um exercício simples. Um deles é o desenvolvimento de um algoritmo em pseudocódigo, que calcula o fatorial de um número natural. Neste caso, vamos utilizar modularização e recursão sem cauda.
Vamos revisar o entendimento do fatorial de um número natural, lembrando que o fatorial é o produto do número com os seus antecessores até o número 1. E o fatorial de zero é 1.
O módulo ‘procedimento’ para o cálculo do fatorial segue com algoritmo. Observe que os comandos do então do se, referem-se à regra 1 da recursão e os comandos do ‘senão’ do ‘se’ referem-se às regras 2 e 3 da recursão.

Segue o algoritmo que realiza a chamada do módulo procedimento recursivo do cálculo do fatorial.

Ao realizar o teste de mesa, para o fatorial do número 5 e executar a chamada do método fat(5, 1), temos o que se segue:

A linguagem de programação que estamos utilizando é a linguagem Java.
Lembre-se de que você deve deixar seu programa bem alinhado e identado para que, posteriormente, consiga entender e dar suporte para o programa.
A documentação é uma parte importante quando se desenvolve um programa. Faça sempre comentários no seu código.
Para exemplificar a aplicação da recursão sem cauda com a Linguagem de Programação Java, vamos desenvolver um exercício simples.
Uma delas é o desenvolvimento de um algoritmo, em Java, usando a IDE NetBeans, que calcula o número fatorial de um número natural. Neste caso, vamos utilizar o método procedimento e recursão sem cauda.
O método para o cálculo do fatorial segue com algoritmo. Observe que os comandos do então do if se refere à regra 1 da recursão e os comandos do else do if se referem às regras 2 e 3 da recursão.