Questões de Recursividade (Algoritmos e Estrutura de Dados)

Limpar Busca

Julgue o item subsequente, a respeito de algoritmos para ordenação e pesquisa e de programação recursiva. 


Uma função é dita recursiva quando, dentro dela, é feita uma ou mais chamada a ela mesma. 

  • Certo
  • Errado

Considere a seguinte função recursiva: funcao recursiva(x : inteiro): inteiro início

se x = 1 então

retorne -x

senão

retorne -5 * recursiva(x - 1) + x

fimse

fimfuncao


Qual é o valor retornado pela função se ela for chamada com x = 4?

  • A -143.
  • B -56.
  • C 143.
  • D 56.
  • E 164.

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 recursividade direta.
  • B recursividade indireta.
  • C recursividade simples.
  • D lista linear simples.
  • E lista circular.

A respeito de um algoritmo recursivo, analise as afirmativas abaixo e assinale a alternativa correta.


I. Deve conter pelo menos uma estrutura de repetição.

II. Deve conter pelo menos uma estrutura de seleção.

III. Deve invocar a si mesmo pelo menos uma vez ao ser executado.

  • A Todas as afirmativas estão corretas.
  • B Somente a afirmativa II está correta.
  • C Somente as afirmativas I e II estão corretas.
  • D Somente a afirmativa I está correta.
  • E Somente as afirmativas II e III estão corretas.

Sobre linguagens recursivas e recursivamente enumeráveis, é correto afirmar que

  • A um autômato finito pode reconhecer uma linguagem recursiva, desde que o alfabeto seja suficientemente grande.
  • B uma linguagem é recursivamente enumerável se e somente se ela é livre de contexto e regular.
  • C elas são equivalentes.
  • D a classe das linguagens recursivamente enumeráveis é fechada para complemento.
  • E a classe das linguagens recursivas é um subconjunto estrito da classe das linguagens recursivamente enumeráveis.