Questões de Concurso Sobre recursividade em algoritmos e estrutura de dados

Foram encontradas 81 questões

Q4086263 Algoritmos e Estrutura de Dados
No desenvolvimento de algoritmos, a recursividade pode ser classificada em diferentes tipos, de acordo com a forma como as chamadas recursivas ocorrem. Nesse sentido, considere que uma função, durante sua execução, realiza uma chamada para ela mesma, ou seja, a própria função invoca diretamente sua definição em seu corpo. Essa situação caracteriza qual tipo de recursividade? 
Alternativas
Q4086235 Algoritmos e Estrutura de Dados
Em linguagens de programação, os comandos controlam o fluxo de execução e manipulam dados. A recursividade permite que funções chamem a si mesmas para resolver problemas de forma hierárquica ou repetitiva. A esse respeito, informe se é verdadeiro (V) ou falso (F) o que se afirma a seguir e assinale a alternativa com a sequência correta.

( ) O comando for é um exemplo de estrutura de repetição que executa um bloco de código várias vezes, dependendo de uma condição.
( ) Em recursividade, não é necessário definir um caso-base, pois a função se encerra automaticamente após chamadas sucessivas.
( ) O comando if-else permite que diferentes blocos de código sejam executados dependendo de uma condição booleana.
( ) Uma função recursiva pode ser reescrita utilizando loops equivalentes, sem alterar o resultado final do programa. 
Alternativas
Q4071621 Algoritmos e Estrutura de Dados
Um método recursivo é aquele que chama a si mesmo, direta ou indiretamente. Métodos recursivos permitem uma descrição mais clara e concisa dos algoritmos, especialmente quando o problema a ser resolvido pode ser definido em termos recursivos. No entanto, isso não significa que um método recursivo será sempre a melhor opção para resolver um problema (Ziviani, 2012).
O código em Python, a seguir, tem como objetivo calcular, recursivamente, o n-ésimo número de Fibonacci. Esse código é extremamente ineficiente, pois recalcula o mesmo valor várias vezes. Por exemplo, para calcular fib(5) são necessários os valores de fib(4) e fib(3). Entretanto, fib(4) também chama recursivamente fib(3). 
Imagem associada para resolução da questão
Considerando a execução do código apresentado para n = 5, assinale a alternativa que representa CORRETAMENTE o número de chamadas de fib(5), fib(4), fib(3), fib(2) e fib(1), nessa ordem. 
Alternativas
Q4067222 Algoritmos e Estrutura de Dados
Considere uma função recursiva em Python destinada a calcular o fatorial de um número inteiro não negativo. Para que a recursão termine corretamente, é indispensável a definição de: 
Alternativas
Q4067211 Algoritmos e Estrutura de Dados
Considere uma função recursiva em Python destinada a calcular o fatorial de um número inteiro não negativo. Para que a recursão termine corretamente, é indispensável a definição de: 
Alternativas
Q4057675 Algoritmos e Estrutura de Dados
A recursão é uma técnica onde uma função chama a si mesma para resolver subproblemas menores de um problema original, sendo amplamente aplicada em algoritmos de divisão e conquista. Para que uma função recursiva termine adequadamente e não cause um erro de estouro de pilha, um elemento técnico específico deve estar presente. Assinale a alternativa correta.
Alternativas
Q4052681 Algoritmos e Estrutura de Dados
A técnica de recursividade em algoritmos, embora elegante, pode levar ao erro de Stack Overflow principalmente devido a: 
Alternativas
Ano: 2026 Banca: FGV Órgão: AMAZUL Prova: FGV - 2026 - AMAZUL - Engenheiro de Computação |
Q3851271 Algoritmos e Estrutura de Dados
Um desenvolvedor está otimizando um algoritmo recursivo de Fibonacci e observa que para n=45 o tempo de execução é inaceitável. A análise mostra que a função é chamada repetidamente com os mesmos argumentos.
A técnica de otimização mais adequada para reduzir drasticamente o tempo de execução, sem alterar a natureza recursiva do algoritmo é
Alternativas
Ano: 2025 Banca: INEP Órgão: INEP Prova: INEP - 2025 - INEP - Computação |
Q4146162 Algoritmos e Estrutura de Dados
Texto para questão


Em turmas de Educação Básica, a presença de estudantes neuroatípicos exige que o planejamento de ensino seja sensível à diversidade cognitiva. Dentre os principais desafios enfrentados pelos professores, está a promoção de práticas pedagógicas que considerem diferentes modos de aprender, exigindo a integração consciente de tecnologias e linguagens variadas no processo educativo.
Considerando a importância de respeitar os diferentes níveis de compreensão e dificuldades de comunicação verbal e os diferentes domínios cognitivos, qual estratégia de avaliação formativa sobre recursividade atende a esses objetivos?
Alternativas
Ano: 2025 Banca: INEP Órgão: INEP Prova: INEP - 2025 - INEP - Computação |
Q4146125 Algoritmos e Estrutura de Dados
Texto para questão


Um professor de Computação pretende ensinar algoritmos de ordenação e decide utilizar o Merge Sort, que consiste em dividir uma lista recursivamente até obter listas com um único elemento e combinar as listas ordenando os elementos até reconstruir a lista original. Por ser um exemplo clássico da técnica de divisão e conquista, seu objetivo é proporcionar aos estudantes uma experiência de aprendizagem em que percebam, de forma prática, como problemas complexos podem ser compreendidos e resolvidos por meio da reestruturação em tarefas mais simples. Além disso, o professor percebe que pode relacionar o conteúdo a conceitos matemáticos, estabelecendo conexões que favorecem o raciocínio lógico.
Para que o professor possa ensinar algoritmos de ordenação de forma interdisciplinar, integrando conceitos de funções matemáticas, a técnica de programação que favorece essa integração baseia-se na
Alternativas
Ano: 2025 Banca: INEP Órgão: INEP Prova: INEP - 2025 - INEP - Computação |
Q4146124 Algoritmos e Estrutura de Dados
Texto para questão


Um professor de Computação pretende ensinar algoritmos de ordenação e decide utilizar o Merge Sort, que consiste em dividir uma lista recursivamente até obter listas com um único elemento e combinar as listas ordenando os elementos até reconstruir a lista original. Por ser um exemplo clássico da técnica de divisão e conquista, seu objetivo é proporcionar aos estudantes uma experiência de aprendizagem em que percebam, de forma prática, como problemas complexos podem ser compreendidos e resolvidos por meio da reestruturação em tarefas mais simples. Além disso, o professor percebe que pode relacionar o conteúdo a conceitos matemáticos, estabelecendo conexões que favorecem o raciocínio lógico.
A abordagem Computação Desplugada para ensinar algoritmos de ordenação e promover a compreensão prática dos conceitos deve propor que os estudantes
Alternativas
Ano: 2025 Banca: INEP Órgão: INEP Prova: INEP - 2025 - INEP - Computação |
Q4146123 Algoritmos e Estrutura de Dados
Texto para questão


Um professor de Computação pretende ensinar algoritmos de ordenação e decide utilizar o Merge Sort, que consiste em dividir uma lista recursivamente até obter listas com um único elemento e combinar as listas ordenando os elementos até reconstruir a lista original. Por ser um exemplo clássico da técnica de divisão e conquista, seu objetivo é proporcionar aos estudantes uma experiência de aprendizagem em que percebam, de forma prática, como problemas complexos podem ser compreendidos e resolvidos por meio da reestruturação em tarefas mais simples. Além disso, o professor percebe que pode relacionar o conteúdo a conceitos matemáticos, estabelecendo conexões que favorecem o raciocínio lógico.
Uma abordagem que use a metodologia de programação por pares e permita promover a compreensão do conceito de divisão e conquista deve apresentar
Alternativas
Q4097654 Algoritmos e Estrutura de Dados

Examine o pseudocódigo a seguir:



Imagem associada para resolução da questão

Imagem associada para resolução da questão



Considerando uma execução correta do algoritmo, o total de chamadas à função “Fib” realizadas pelo algoritmo, caso o usuário informe o valor “5” para a variável “num”, é:

Alternativas
Q4097653 Algoritmos e Estrutura de Dados

Analise o pseudocódigo a seguir:



Imagem associada para resolução da questão



Considerando uma execução correta do algoritmo, o total de chamadas à função “Fatorial” realizadas pelo algoritmo, caso o usuário informe o valor “5” para a variável “num”, é:

Alternativas
Q3247488 Algoritmos e Estrutura de Dados
Os algoritmos são sequências lógicas e finitas de passos que resolvem problemas específicos, sendo a base para o desenvolvimento de sistemas computacionais. Sobre algoritmos, analise as afirmativas a seguir:
I. Algoritmos recursivos são aqueles que se definem em termos de si mesmos, exigindo uma condição base para evitar chamadas infinitas.
II. A complexidade de tempo de um algoritmo refere-se exclusivamente ao número de passos necessários para executar o código, desconsiderando a entrada do problema.
III. Um algoritmo pode ser implementado em diferentes linguagens de programação, desde que sua lógica seja preservada.
Está correto o que se afirma em:
Alternativas
Q3322953 Algoritmos e Estrutura de Dados
Ao processar uma função recursiva, por padrão, as chamadas recursivas são armazenadas na estrutura de dados:
Alternativas
Q3268804 Algoritmos e Estrutura de Dados
Assinale a alternativa que apresenta a situação em que a recursividade pode ser menos eficiente que a iteração.
Alternativas
Q2518299 Algoritmos e Estrutura de Dados
Filtros de partículas são, em geral, implementados com o uso de reamostragem sequencial por importância. Essa reamostragem pode ser adaptativa, ocorrendo apenas quando a métrica denominada número efetivo de partículas é considerada muito baixa.

Considerando um filtro de partículas com N partículas cujos pesos são dados por w(i) ,i = 1, … , N, a estimativa do número efetivo de partículas é dada por
Alternativas
Q2518079 Algoritmos e Estrutura de Dados
Diversas operações matemáticas podem ser implementadas de forma recursiva, como no algoritmo seguinte.

Função X (J: inteiro, K: inteiro)
Início
Se J < K Então
Retorne J
Senão
Retorne X (J-K, K)
Fim


Considerando o domínio dos inteiros positivos, a função terá como resultado o(a):
Alternativas
Q2480612 Algoritmos e Estrutura de Dados
A sequência de Fibonacci tem aplicação, dentre outras, em algoritmos de busca, classificação e criptografia. Trata-se de uma lista infinita de números, em que cada um de seus valores é o resultado da soma dos dois anteriores. Matematicamente, esta relação de recorrência é representada por:

Imagem associada para resolução da questão

Considere que foram elaboradas duas implementações algorítmicas definidas em linguagem Python (CODIGO-01 e CODIGO-02).
CODIGO-01 Imagem associada para resolução da questão


CODIGO-02 Imagem associada para resolução da questão


Quanto às implementações, assinale a afirmativa correta. 
Alternativas
Respostas
1: C
2: D
3: D
4: A
5: A
6: D
7: C
8: A
9: A
10: B
11: D
12: A
13: C
14: B
15: D
16: B
17: C
18: B
19: C
20: A