uma sub-rotina que não possui parâmetros de entrada.
uma função que chama a si mesma, direta ou indiretamente.
aninhamentos de chamadas de diferentes sub-rotinas.