Prévia do material em texto
Pincel Atômico - 24/04/2025 10:36:24 1/4
CLEMILSON BOSCO
ANDRADE
Avaliação Online (SALA EAD) - Todos Capitulos/Referencias
Atividade finalizada em 23/04/2025 12:39:09 (3896096 / 1)
LEGENDA
Resposta correta na questão
# Resposta correta - Questão Anulada
X Resposta selecionada pelo Aluno
Disciplina:
ALGORITMOS E PROGRAMAÇÃO II [770463] - Avaliação com 10 questões, com o peso total de 50,00 pontos [capítulos - Todos]
Turma:
Graduação: ENGENHARIA DE CONTROLE E AUTOMAÇÃO - Grupo: FEVEREIRO/2023 - ENGCONT/FEV23 [79043]
Aluno(a):
91680826 - CLEMILSON BOSCO ANDRADE - Respondeu 10 questões corretas, obtendo um total de 50,00 pontos como nota
[373358_35]
Questão
001
Sobre recursividade, analise as afirmativas abaixo e marque a alternativa correta.
I – A recursividade é uma técnica matemática extremamente importante na
computação e tratativa de problemas que tenha características recursivas em suas
formulações.
II – Uma árvore binária também é uma estrutura recursiva, onde cada parte de uma
árvore (subárvore) pode ser vista como uma árvore por si só.
III – A recursividade direta ocorre quando uma função chama a si mesma
diretamente. Este é o tipo mais simples e comum de recursividade.
É correto o que se afirma em:
I e III, apenas.
II, apenas.
II e III, apenas.
I, apenas.
X I, II e III.
[373358_51]
Questão
002
Ano: 2015 Banca: IESES Órgão: IFC-SC Prova: IESES - 2015 - IFC-SC - Informática
- Arquitetura de Computadores/Estrutura de Dados/Sistemas Operacionais.
Uma lista linear é um conjunto de informações de qualquer tipo, organizadas
sequencialmente. A organização sequencial estabelece uma relação de ordem,
decorrendo daí a possibilidade de identificar qualquer elemento da lista: o primeiro
ou último ou qual elemento precede ou sucede qualquer outro. Partindo dessa
organização, as operações básicas em listas lineares são:
Inserção, remoção e arquivamento
X Busca, inserção e remoção.
Busca e arquivamento.
Inserção e inclusão.
Pesquisa e Ordenação
[373358_18]
Questão
003
Na maioria dos casos a pesquisa binária poderá ter um comportamento melhor que a
pesquisa sequencial. Mas em alguns cenários, esta situação poderá ser diferente,
onde que a pesquisa sequencial pode ser mais apropriada do que a pesquisa
binária. Analise as afirmativas abaixo e marque a opção que indica um destes
cenários corretamente.
Quando os dados estão organizados em uma árvore AVL.
Quando os dados estão em uma lista ordenada.
Quando os dados são números reais ordenados.
X Quando os dados estão em uma lista desordenada.
Quando os dados estão em uma árvore binária de busca balanceada.
Pincel Atômico - 24/04/2025 10:36:24 2/4
[373358_32]
Questão
004
Em C, a palavra-chave struct permite definir um Tipo Abstrato de Dados (TAD) que
agrupa diferentes tipos de dados em uma única estrutura. Considere a seguinte
definição de estrutura que representa um ponto no espaço 2D:
struct Ponto {
float x;
float y;
};
float calcularDistancia(struct Ponto a, struct Ponto b) {
return (b.x - a.x) + (b.y - a.y);
}
Agora, considere o seguinte código:
int main() {
struct Ponto p1, p2;
p1.x = 2.0;
p1.y = 3.0;
p2.x = 5.0;
p2.y = 7.0;
float distancia = calcularDistancia(p1, p2);
return 0;
}
O programa acima visa calcular a "distância" entre dois pontos p1 e p2. No entanto,
o cálculo da distância está incorreto. Qual das alternativas abaixo corrige o erro de
lógica no cálculo da distância entre os pontos?
Alterar a função calcularDistancia() para retornar (b.x - a.x) + (b.y - a.y), pois o
código já está correto.
Alterar a função calcularDistancia() para retornar (b.x - a.x) * (b.y - a.y).
Alterar a função calcularDistancia() para retornar (b.x + b.y) - (a.x + a.y).
Alterar a função calcularDistancia() para retornar b.x + b.y - a.x - a.y.
X
Alterar a função calcularDistancia() para retornar ((b.x - a.x) * (b.x - a.x)) + ((b.y - a.y)
* (b.y - a.y)).
[373358_45]
Questão
005
(Concurso: Tribunal de Contas da União (TCU) Banca: Cespe/UnB Ano: 2015)
Assinale a alternativa que corresponde a um algoritmo de ordenação com
complexidade O(n log n):
Bubble Sort.
Counting Sort.
Selection Sort.
X Quick Sort.
Insertion Sort.
[373359_10]
Questão
006
O processo de balanceamento em uma árvore AVL é necessário para:
garantir que o tempo de busca seja constante.
reduzir a memória utilizada pelos nós da árvore.
manter a árvore completamente cheia.
facilitar a remoção de nós.
X impedir que a árvore se torne degenerada, garantindo uma altura logarítmica.
Pincel Atômico - 24/04/2025 10:36:24 3/4
[373359_4]
Questão
007
Sobre recursividade em C, analise as afirmativas abaixo e marque a alternativa
correta
I - Funções recursivas podem ter mais de uma condição de parada.
II - A recursão direta ocorre quando uma função chama a si mesma.
III - Funções recursivas são sempre mais eficientes do que funções iterativas.
IV - O uso excessivo de recursão pode levar ao estouro de pilha (stack overflow).
V - Em C, funções recursivas podem ser implementadas com ponteiros.
Está correto o que se afirma em:
II, III e IV
II, IV e V
I e II
X I, II e IV
III, IV e V
[373359_13]
Questão
008
Ano: 2019. Banca: CCV-UFC. Órgão: UFC. Cargo: Técnico de Tecnologia da
Informação.
Um dos exemplos de estrutura de dados é a lista encadeada dinâmica simples. Com
relação a esse tipo de lista, é correto afirmar:
É necessário definir o seu tamanho no momento da sua criação, pois se trata de
uma estrutura de dados estática.
Na recuperação de qualquer elemento da lista, não é necessário percorrer os outros
elementos. Desta forma, o elemento buscado é acessado diretamente na posição
onde se encontra.
Possui a característica de que o último elemento da lista possui um ponteiro para o
primeiro elemento da lista.
Quando essa estrutura é utilizada, os elementos da lista sempre estarão
armazenados sequencialmente na memória física.
X
Na inserção de um novo elemento, é necessário realizar a atualização dos ponteiros
dos elementos envolvidos, não sendo necessário realizar o deslocamento físico dos
elementos.
[373360_3]
Questão
009
Sobre uso recursos e desempenho de funções recursivas, marque a alternativa
correta?
X Recursão pode ser utilizada tanto para problemas numéricos quanto estruturais.
Toda função recursiva deve ter pelo menos duas condições de parada.
Funções recursivas sempre possuem melhor desempenho do que suas versões
iterativas.
Funções recursivas consomem menos memória que funções iterativas.
Funções recursivas são mais fáceis de depurar do que funções iterativas.
[373360_5]
Questão
010
Sobre análise e complexidade de algoritmos, analise as afirmativas abaixo e marque
a que descreve corretamente uma análise de desempenho de algoritmos.
O desempenho de um algoritmo depende do compilador utilizado.
O desempenho de um algoritmo depende exclusivamente da linguagem de
programação utilizada.
O desempenho de um algoritmo é medido pela quantidade de memória utilizada
durante a execução.
Pincel Atômico - 24/04/2025 10:36:24 4/4
X
O desempenho de um algoritmo é medido em função do número de operações
realizadas.
O desempenho de um algoritmo é calculado em tempo real, durante sua execução.