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

Foram encontradas 82 questões

Ano: 2023 Banca: IADES Órgão: SEE-DF Prova: IADES - 2023 - SEE-DF - Professor - Eletrônica |
Q4230361 Algoritmos e Estrutura de Dados
    Os programas devem ser escritos para as pessoas lerem e, apenas incidentalmente, para as máquinas executarem.

ABELSON, H; SUSSMAN, G. J. structure and interpretation of computer programs, 2ª ed, MIT Press, 1996.


Considerando aspectos de software e dos computadores que os executam, julgue (C ou E) o item a seguir.
Um processo computacional recursivo é caracterizado por um número fixo de variáveis de estado combinado a uma regra fixa que descreve como essas variáveis de estado devem ser atualizadas.
Alternativas
Q4224662 Algoritmos e Estrutura de Dados
Analise o código abaixo escrito na linguagem de programação Java: 

Q44.png (437×202)

Considerando o funcionamento da pilha de execução (call stack) e o conceito de recursividade, qual será a saída do programa ao ser executado? 
Alternativas
Q4197623 Algoritmos e Estrutura de Dados

Considere os dois pseudocódigos recursivos apresentados a seguir:


Código 01

função fibonacci(n: inteiro) -> inteiro:

 se n <= 1 então

 retornar n

 senão

 retornar fibonacci(n-1) + fibonacci(n-2)

 fim se


Código 02

função fatorial(n: inteiro) -> inteiro:

 se n <= 1 então

 retornar 1

 senão

 retornar n * fatorial(n-1)

 fim se


A partir da análise dos códigos apresentados, assinale a alternativa que apresenta a principal diferença entre os pseudocódigos recursivos 1 e 2 em termos de seu propósito e operação.

Alternativas
Q4197621 Algoritmos e Estrutura de Dados

Considere a seguinte função recursiva em pseudocódigo:


função fatorial(n: inteiro) -> inteiro:

 se n = 0 ou n = 1 então

       retornar 1

 senão

       retornar n * fatorial(n - 1)

 fim se


Com base na análise da função, assinale a alternativa que apresenta o resultado da chamada da função fatorial(5). 

Alternativas
Q4193134 Algoritmos e Estrutura de Dados
A recursividade é um conceito fundamental em ciência da computação, em que uma função chama a si mesma para resolver instâncias menores do mesmo problema. No que se refere à estrutura e aos riscos do uso de funções recursivas, assinale a alternativa CORRETA.
Alternativas
Q4172580 Algoritmos e Estrutura de Dados

Considere o programa a seguir escrito em linguagem C.


#include <stdio.h>

int TAM(int n) {

 int x;

 if (n == 1) {

 return(1 + n);

 }

 x = TAM(n/2) + TAM(n/2);

 return(x);

}

int main() {

 int n = 16;

 printf("%d ", TAM(n));

}


Após a execução do programa, o resultado é

Alternativas
Q4159911 Algoritmos e Estrutura de Dados
Em estruturas de dados, diversos algoritmos de ordenação podem ser utilizados, cada um com características específicas quanto à eficiência e complexidade. Um desses algoritmos segue a estratégia “dividir para conquistar”, dividindo recursivamente o vetor em partes menores, ordenando essas partes e depois mesclando os resultados em uma sequência final ordenada. O enunciado refere-se ao algoritmo 
Alternativas
Q4137945 Algoritmos e Estrutura de Dados
Recursividade é o mecanismo de programação no qual uma definição de função refere-se à própria função sendo definida. Em resumo, pode ser definida como uma função que chama a si mesma, de forma direta ou indireta. Qual a saída que o pseudocódigo abaixo produzirá?
Imagem associada para resolução da questão
nomedafuncao(5);
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
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
Q4078623 Algoritmos e Estrutura de Dados
Algoritmos de ordenação podem ser aplicados em vários tipos de estruturas, como vetores, matrizes e estruturas dinâmicas (por exemplo: listas, pilhas e filas). Sobre os algoritmos de ordenação, corresponde ao algoritmo de ordenação que utiliza a estratégia de divisão e conquista e, ainda, usa um pivô de controle durante o processo de ordenação:
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
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
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
Respostas
1: E
2: A
3: A
4: D
5: D
6: B
7: E
8: D
9: C
10: B
11: C
12: D
13: A
14: D
15: A
16: D
17: C
18: A
19: B
20: C