Computação Múltipla Escolha

A situação em que dois subprogramas fazem chamadas recíprocas, como, por exemplo, um subprograma P faz uma chamada a um subprograma J, que, por sua vez, faz uma chamada a P, é caracterizada como uma

A situação em que dois subprogramas fazem chamadas recíprocas, como, por exemplo, um subprograma P faz uma chamada a um subprograma J, que, por sua vez, faz uma chamada a P, é caracterizada como uma

  1. Recursividade direta
  2. Recursividade indireta
  3. Recursividade simples
  4. Lista linear simples
  5. Lista circular

Resolução completa

Explicação passo a passo

B
Alternativa B

Alternativa B - Recursividade Indireta

Análise do Conceito

A questão aborda um dos pilares fundamentais da programação estruturada e algoritmos: os tipos de recursividade.

Recursividade ocorre quando uma função ou subprograma se refere a si mesmo durante sua execução. Existem duas categorias principais:

  • Recursividade Direta: Acontece quando uma função chama a si mesma explicitamente.
  • Exemplo: Se o subprograma $P$ chama $P$.
  • Recursividade Indireta (ou Mútua): Ocorre quando um grupo de funções se chama em cadeia, retornando eventualmente à função original, mas passando por outras funções intermediárias.
  • Exemplo: O subprograma $P$ chama $J$, e o subprograma $J$ chama $P$.

Justificativa Didática

No enunciado da questão, temos a seguinte sequência lógica:

  1. O subprograma $P$ faz uma chamada ao subprograma $J$.
  2. O subprograma $J$, por sua vez, faz uma chamada ao subprograma $P$.

Isso caracteriza um ciclo de dependência entre dois elementos distintos. Como a chamada não é feita pela própria função imediatamente (o que seria recursividade direta), mas sim através de um terceiro elemento ($J$), definimos isso como recursividade indireta.

As outras alternativas podem ser descartadas pelos seguintes motivos:

  • Recursividade direta: Exigiria que $P$ chamasse diretamente $P$.
  • Listas (linear/circular): Referem-se a estruturas de dados para armazenamento de informações, e não ao comportamento de chamadas entre funções/subprogramas.

Portanto, a situação descrita é o exemplo clássico de recursividade indireta.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Computação

Ver mais Computação resolvidas

Tem outra questão de Computação?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.