Logo Passei Direto
Buscar
LiveAo vivo
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

13/05/2025 18:21:29 1/3
REVISÃO DE SIMULADO
Nome:
ELINALDO TEIXEIRA ALVES
Disciplina:
Algoritmos e Programação II
Respostas corretas são marcadas em amarelo X Respostas marcardas por você.
Questão
001
A recursividade é uma técnica utilizada em programação onde uma função chama a si
mesma para resolver subproblemas menores de um problema maior. Considere a
seguinte implementação em C de uma função recursiva que calcula o fatorial de um
número inteiro positivo n:
int fatorial(int n) {
if (n == 0) {
return 1;
} else {
return n * fatorial(n - 1);
}
}
Sobre o código acima, assinale a alternativa correta:
A) A função fatorial utiliza a técnica de divisão e conquista para resolver o problema.
X B) A função fatorial entrará em laço de repetição infinito se n for negativo.
C) A função fatorial não pode ser implementada iterativamente.
D) A função fatorial não retornará o valor correto se n for maior que 10.
E) A função fatorial possui um caso base que garante a terminação da recursão.
Questão
002
Qual das opções a seguir representa uma limitação (ou problema) comum ao uso de
recursão em C?
A) Recursão não pode ser usada em funções que retornam um valor.
B) Funções recursivas não podem manipular estruturas de dados complexas.
X C) Funções recursivas podem resultar em estouro de pilha se mal implementadas.
D) Funções recursivas são incompatíveis com a abordagem de programação modular.
E) Recursão não pode ser combinada com ponteiros em C.
Questão
003
A recursividade é frequentemente usada em problemas que podem ser decompostos
em subproblemas menores, como o cálculo do fatorial. Entretanto, um dos maiores
desafios ao utilizar recursividade é a definição do caso base, que garante que a
recursão seja interrompida em algum ponto. Sobre o uso de recursão no cálculo do
fatorial, assinale a alternativa correta:
A) A recursão sempre resulta em um loop infinito, independentemente da definição do
caso base.
B) A recursividade só é eficiente para pequenos valores de n, sendo proibida para valores
maiores.
C) A função recursiva fatorial não precisa de um caso base, pois ela se resolve
automaticamente.
D) O cálculo do fatorial não pode ser implementado usando recursão, apenas iteração.
X E) O caso base para a função fatorial define a condição de parada da recursão, evitando
loops infinitos.
13/05/2025 18:21:29 2/3
Questão
004
A recursividade é uma técnica fundamental em algoritmos, onde uma função chama a
si mesma para resolver um problema maior dividindo-o em subproblemas menores.
Considere o seguinte código em C, que calcula o fatorial de um número:
int fatorial(int n) {
if (n == 0)
return 1;
else
return n * fatorial(n - 1);
}
Sobre esse código e o conceito de recursividade, analise as seguintes afirmações:
I. A função utiliza recursividade para resolver o problema, pois chama a si mesma para
calcular o fatorial de n.
II. O caso base está corretamente definido na condição n == 0, o que impede um loop
infinito.
III. A função pode causar estouro de pilha se for chamada com valores muito grandes de
n.
Está correto o que se afirma em:
A) I, apenas.
B) Nenhuma das alternativas anteriores.
X C) I, II e III.
D) I e II, apenas.
E) II e III, apenas.
Questão
005
Algumas funções matemáticas podem ser estabelecidas de tal forma que as suas
definições utilizem, de modo recorrente, a própria função que se está definindo. Um
exemplo clássico disso é a recursividade, que é uma ideia inteligente que desempenha
um papel central na programação funcional como o mecanismo de programação na
qual a chamada é feita direta ou indiretamente por ela mesma para realizar o cálculo
necessário.
Fonte: Aprendendo a Programar Programando na Linguagem C de Jaime Evaristo
(Terceira Edição).
Analise o trecho do código em C abaixo, aplicando a recursividade com a utilização do
conceito de um número fatorial.
long int FatRec(int n)
{
if ((n== 0) || (n== 1))
return (1);
else
return (n * FatRec(n - 1));
}
Qual seria o resultado exibido para o usuário usando o comando “printf” se ativarmos a
função acima passando o valor de n = 8?
A) 36860
X B) 40320
C) 362880
D) 40480
E) 5040
Questão
006
Sobre recursividade e funções recursivas, complete a frase abaixo com a alternativa
correta.
Uma função recursiva é uma função que __________.
13/05/2025 18:21:29 3/3
A) utiliza laços de repetição para processar dados de forma contínua.
X B) chama a si mesma direta ou indiretamente durante sua execução.
C) sempre chama outra função auxiliar para realizar sua tarefa.
D) armazena seus resultados em uma pilha para facilitar o acesso.
E) repete seu código até encontrar um valor de retorno específico.
Questão
007
Sobre recursividade e funções recursivas, marque a alternativa que completa a lacuna
abaixo corretamente.
Uma função recursiva deve ter __________, pois isso garante __________.
A) um valor inicial zero; o correto retorno do resultado.
B) uma função auxiliar; a correta chamada da recursão.
C) um contador de iterações; a eficiência na execução.
D) parâmetros de entrada constantes; a estabilidade da memória.
X E) uma condição de parada; que a função termine em algum momento.
Questão
008
Considerando o contexto da recursividade direta e indireta, avalie as seguintes
asserções e a relação proposta entre elas, e marque a opção correta.
I – A recursividade direta ocorre quando uma função chama a si mesma diretamente,
sendo amplamente utilizada em problemas como cálculo de fatorial e algoritmos de
ordenação.
PORQUE
II – A recursividade indireta é aquela em que uma função chama outra função, que por
sua vez chama a função original novamente, o que dificulta a implementação de casos
base, tornando-a menos comum.
A) As asserções I e II são proposições falsas.
B) A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
C) A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
D) As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
X E) As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.

Mais conteúdos dessa disciplina