Buscar

Estrutura de Dados exercicios prova

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CURTA MEU MATERIAL NO PASSEI DIRETO PARA ME AJUDAR A 
PRODUZIR MAIS =) 
 
 
 
AVALIAÇÃO ONLINE – ESAB 
ESTRUTURA DE DADOS 
 
1- Durante o desenvolvimento de uma aplicação, faz-se uso de diferentes 
tipos de dados. Na definição de tipos abstratos de dados (TAD), faz-se 
referência ao par (v,o). Qual é o significado desse par? 
(variável, operação). 
 
2- Considere as características, estrutura e funcionamento de matrizes, 
analise as alternativas a seguir e escolha a INCORRETA. 
Uma matriz é dita simétrica se a matriz e sua transposta são diferentes. 
 
3- Considerando duas matrizes m e n, marque a alternativa que 
representa corretamente a operação de multiplicação de elementos na 
linguagem MATLAB. 
r= m .* n; (C) 
 
4- Qual a altura da árvore a seguir? 
 
 
 
4. 
 
5- Uma árvore binária de busca, como o próprio nome sugere, é uma 
estrutura de dados que armazena dados de maneira que permita a 
realização de busca binária. Essa busca segue o paradigma de divisão e 
conquista e acaba tendo uma eficiência melhor do que uma busca linear. 
 
Existem duas abordagens para realizar a implementação dessa busca: a 
implementação recursiva e iterativa. Qual a principal diferença entre 
essas implementações? 
Na abordagem recursiva, um nó definido como base nele próprio realiza a 
repetição dos seus passos invocando a si próprio, executando todos os seus 
passos novamente até encontrar o valor buscado. Diferentemente da busca 
recursiva, a busca iterativa considera as ramificações de maneira explícita de 
cada nó para percorrer seus nós, pois não há uma chamada interna para a 
mesma função. (C) 
 
6- Qual é a principal característica de uma árvore binária completa? 
Possuir todas folhas no mesmo nível. 
 
7- A operação representada pelas 3 árvores abaixo é uma operação de 
rotação, de onde se inicia com uma árvore desbalanceada e se chega a 
uma árvore balanceada (da esquerda para direita). 
 
 
 
Qual o nome da rotação que foi realizada? 
Rotação dupla esquerda. 
 
8- Qual a sequência de saída para a árvore a seguir se o algoritmo de pós-
ordem for executado? 
 
 
 
3 7 6 12 24 15 8. (A) 
 
9- Uma professora deseja um programa para lhe auxiliar a calcular a 
média das notas de seus alunos. Ela possui 25 alunos e três notas para 
cada aluno, sendo que a média é calculada pela média aritmética simples 
das três notas. A partir das notas, ela precisa saber o maior valor e a 
média de cada uma delas. Além disso, precisa saber a maior média e a 
média das médias. Analise as alternativas a seguir e selecione aquela que 
tem a declaração de variáveis mais completa e adequada para atender a 
necessidade da professora. 
var Nota1, Nota2, Nota3, Media: vetor[1..25] de real SomaN1, SomaN2, 
SomaN3, SomaMedia, MediaN1, MediaN2, MediaN3,MediaMedia : real 
MaiorN1, MaiorN2, MaiorN3, MaiorMedia : real indice : inteiro C 
 
10- A matriz transposta de uma matriz é obtida invertendo-se os 
elementos de linha e coluna desta matriz. 
 
 
Analise as alternativas a seguir e selecione aquela que apresenta um 
função que inverta os elementos das linhas e colunas de uma matriz. Veja 
o seguinte exemplo: 
 
 
MATRIZ ORIGINAL 
01 - 02 - 03 
04 - 05 - 06 
07 - 08 - 09 
 
 
MATRIZ INVERTIDA (TRANSPOSTA) 
01 - 04 - 07 
02 - 05 - 08 
03 - 06 - 09 
procedimento inverter var aux : real inicio para i de 1 ate 4 passo 1 faca para j 
de i ate 4 passo 1 faca aux <- valores[i,j] valores[i,j] <- valores[j,i] valores[j,i] <- 
aux fimpara fimpara fimprocedimento E 
 
11- Dada a seguinte árvore, em relação ao nó 4 podemos afirmar que: 
 
 
O nó 4 é filho do nó 1 e pai dos nós 7, 8 e 9. (E) 
 
12- Marque a alternativa correta em relação às vantagens de uma lista 
dinâmica: 
Permitem aumento e redução do tamanho da lista em tempo de execução. 
 
13- Dado o seguinte algoritmo escrito na linguagem MATLAB, indique a 
alternativa que representa o resultado correto. 
 
m= [1, 2, 3; 4, 5, 6] 
n= find(m(2,1:3) < 5) > 
1 
 
14- A utilização de variáveis que consomem pouca memória é de suma 
importância para o desenvolvimento de aplicações com hardware 
limitado. Por isso, você precisa poupar memória no sistema de presença 
de uma universidade, na qual os computadores utilizados serão 
reciclados pelos alunos de anos iniciais. 
 
A partir das informações anteriores, qual tipo de variável deve ser 
utilizado para representar uma única letra do alfabeto visando à redução 
do custo de memória do computador? 
Char. 
 
15- O que é uma árvore binária? 
É um caso especial de árvore em que nenhum nodo tem grau superior a 2, isto 
é, nenhum nodo tem mais que 2 filhos. 
 
16- Considere o seguinte algoritmo em pseudocódigo: 
 
 
algoritmo vetores 
var 
valores: vetor[1..5] de real 
indice: inteiro 
inicio 
para indice de 1 ate 5 passo 1 faca 
escreva(Digite valor: ) 
leia(valores[indice]) 
fimpara 
fimalgoritmo 
 
 
Analise as alternativas a seguir e selecione a verdadeira. 
Para acessar um elemento de um vetor, deve-se acessar o índice da posição 
desejada; para o índice, pode-se utilizar uma variável ou uma constante inteira. 
 
17- Considere o seguinte algoritmo em pseudocódigo: 
algoritmo vetores var 
v1: vetor[1..5] de real 
v2: vetor[1..4] de real 
v3: vetor[1..9] de real 
indice: inteiro 
inicio 
para indice de 1 ate 5 passo 1 faca 
escreva(Digite valor: ) 
leia(v1[indice]) 
fimpara 
para indice de 1 ate 4 passo 1 faca 
escreva(Digite valor: ) 
leia(v2[indice]) 
fimpara 
para indice de 1 ate 9 passo 1 faca 
se (indice v3[indice] <- v1[indice] 
senao 
v3[indice] <- v2[indice-5] 
fimse 
fimpara 
para indice de 1 ate 9 passo 1 faca 
escreval(Valor[,indice,]: ,v3[indice]) 
fimpara 
fimalgoritmo 
 
 
Analise as afirmativas a seguir e selecione a correta. 
O vetor v3 é o resultado da concatenação dos vetores v1 e v2. 
 
18- Baseando-se no conceito de lista encadeada dupla, marque a 
alternativa correta em relação à inclusão de elementos: 
O número máximo de elementos a serem incluídos é definido no momento de 
sua criação. 
 
19- Quando inserimos um nó à direita da subárvore direita de uma árvore 
AVL, e essa inserção gera um desbalanceamento da árvore, qual a 
rotação que precisamos fazer para que a árvore fique balanceada 
novamente? 
Rotação simples à esquerda. 
 
20- Considere as seguintes declarações de variáveis: DECLARAÇÃO 1 
var 
x1,x2,x3 : vetor[1..4] de real 
 
 
DECLARAÇÃO 2 
var 
x1,x2,x3,x4: vetor[1..3] de real 
 
 
Analise as alternativas a seguir e selecione aquela que apresenta a 
CORRETA explicação das variáveis declaradas respectivamente nas 
declarações 1 e 2. 
(1) 3 variáveis do tipo vetor de 4 posições reais cada.(2) 4 variávies do tipo 
vetor de 3 posições reais cada. (B) 
21- O tipo de dado que representa números é muito utilizado em 
programação; logo, é sua correta utilização durante o desenvolvimento de 
uma aplicação é fundamental. 
 
Suponha que você esteja analisando os tipos de dados para a 
implementação de uma aplicação voltada à contabilidade. Durante essa 
análise, você questiona qual tipo de dados uma variável deve utilizar para 
representar o número 10, visando à redução do custo de memória do 
computador. 
Int. 
 
22- Em um programa de seleção de candidatos, no início do dia, é 
liberada a lista de códigos de inscrição dos 10 candidatos que serão 
entrevistados naquele dia. Em seguida, as pessoas informam seu código 
de inscrição e verifica-se se está ou não na lista. Para atender a esse 
necessidade, foi construído o algoritmo a seguir, que lê o vetor de 
códigos de inscrição dos candidatos selecionados, na sequência lê um 
código de inscrição e verifica-se se está ou não na lista, escrevendo essa 
conclusão. 
 
algoritmo procura 
var 
candidatos: vetor[1..10] de inteiro 
codigo : inteiro 
 
 
procedimento ler 
var 
indice : inteiro 
inicio 
para indice de 1 ate 10 passo 1 faca 
escreva(Elemento(,indice,): ) 
leia(candidatos[indice]) 
fimparafimprocedimento 
 
 
procedimento escrever 
var 
indice : inteiro 
inicio 
para indice de 1 ate 10 passo 1 faca 
escreval(V(,indice,): ,candidatos[indice]) 
fimpara 
fimprocedimento 
 
 
funcao busca(c : inteiro): inteiro 
var 
indice, achou : inteiro 
inicio 
indice <- 1 
achou <- 0 
enquanto (indice 
se (candidatos[indice] = c) entao 
achou <- 1 
fimse 
indice <- indice + 1 
fimenquanto 
retorne achou 
fimfuncao 
 
inicio 
ler() 
escrever() 
repita 
escreva(Digite código do candidato: ) 
leia(codigo) 
se (busca(codigo) = 0) entao 
escreval()Candidato nao encontrado!) 
senao 
escrevalCandidato selecionado! 
fimse 
ate codigo = 0 
fimalgoritmo 
 
Analise as alternativas a seguir a selecione a INCORRETA. 
A função busca retorna um valor inteiro, 0 quando achou e 1 quando não 
achou. 
 
23- Considere a estrutura, as características e o funcionamento das 
matrizes. Analise as alternativas a seguir e determine qual é a falsa. 
As variáveis utilizadas para indexar elementos de uma matriz podem ser do 
tipo real. 
 
24- Analise o seguinte código baseado na linguagem C e marque a 
alternativa que representa o seu significado: 
 
 
nodo *item= (nodo *) malloc(sizeof(nodo)); 
 
nodo *no= L->prox; 
 
while(no->prox != NULL) { 
 
no= no->prox; 
Adiciona um novo elemento no final da lista. 
 
25- Quais são as folhas da árvore abaixo? 
 
 
 
D, G, H e I. 
 
26- A análise e o desenvolvimento de algoritmos com o uso de listas 
encadeadas são de suma importância no desenvolvimento de uma 
aplicação. Durante essa ação, o desenvolvedor precisa realizar a análise 
prévia dos códigos de uma determinada aplicação para iniciar seu 
desenvolvimento. 
 
Analise o algoritmo a seguir e marque a alternativa que representa seu 
significado: 
 
1 def acao (self,item) 
2 temp = No(item) 
3 temp.prox(self.ini) 
4 self.ini = temp 
Adiciona um novo elemento no início da lista. 
 
27- Em termos de alocação de memória, podemos implementar uma 
árvore de busca binária utilizando alocação dinâmica ou alocação 
estática. 
 
Considerando a alocação estática, como ocorre a representação de uma 
árvore de pesquisa binária em um vetor? 
1- O nó raiz deve ficar na posição inicial do vetor. 2- Para cada nó em 
determinada posição i de um vetor, seu filho esquerdo ficará na posição 
2*i + 1, e seu filho direito ficará na posição 2*i + 2. (A) 
28- Indique qual o tipo de caminhamento é implementado pelo strecho de 
código a seguir: 
 
 
Caminhamento em ordem. 
 
29- Em álgebra linear, uma matriz é classificada como simétrica se 
coincidir com a sua transposta, ou seja, a matriz original é igual a sua 
transposta.Analise as alternativas a seguir e selecione aquela que 
apresenta uma função que testa se uma matriz é simétrica e retorna 1 
neste caso, caso contrário, retorna 0. 
funcao simetrica : inteiro var teste : inteiro inicio teste <- 0 para i de 1 ate 4 faca 
para j de 1 ate 4 faca se (valores[i,j]valores[j,i]) entao teste<-teste+1 fimse 
fimpara fimpara se (teste = 0) entao retorne 1 senao retorne 0 fimse fimfuncao 
(D) 
 
30- Em relação às estruturas de dados homogêneas, é INCORRETO 
afirmar que: 
Vetores somente são úteis para pequenos conjuntos de dados (menores que 
10 elementos), pois, para grandes conjuntos, o ideal é utilizar diversas 
variáveis simples (individuais). 
 
31- Programas de computador fazem uso de diversas variáveis e 
operações. Em qual momento uma variável ocupa a memória do 
computador? 
Durante a execução do programa. 
 
32- Em estruturas de dados, é encontrada a estrutura pilha. Avalie as 
assertivas abaixo e identifique a alternativa correta. 
 
I. Para excluir (remover ou desempilhar) o elemento da pilha, basta excluir 
o elemento para o qual aponta o ponteiro de início. Esta operação permite 
recuperar o dado no topo da pilha, e também removê-lo. 
 
II. Uma das possíveis utilizações de uma pilha é a implementação da 
sequência de desfazer (Ctrl + Z) de um editor de texto. 
 
III. Na estrutura pilha, o último elemento a entrar também é o último a sair. 
 
IV. Na pilha, as operações de exclusão e inclusão são realizadas na 
mesma extremidade, chamada topo. 
 
V. As operações de exclusão e inclusão são realizadas em qualquer parte 
da pilha. 
 
 
Assinale a alternativa correta: 
Somente a II e IV 
 
33- Considerando os conceitos de estrutura de dados, analise as 
afirmativas a seguir e marque verdadeiro (V) ou falso (F): 
 
 
( ) As filas são utilizadas para controlar o acesso de arquivos que 
concorrem a uma única impressora. 
 
 
( ) A pilha é uma estrutura de dados baseada no princípio LIFO, no qual os 
dados que foram inseridos primeiro na pilha serão os últimos a serem 
removidos. 
 
 
( ) Para gerenciar processos, sistemas operacionais utilizam filas para 
organizar processos que aguardam processamento. 
V, V, V 
 
36- Um conjunto ordenado de itens a partir do qual podem ser eliminados 
itens em uma extremidade e no qual podem ser inseridos itens na outra 
extremindade, é denominado: 
Filas 
 
37- Deseja-se construir um algoritmo que leia uma matriz bidimensional 
quadrada, ou seja, que a quantidade de linhas seja igual à quantidade de 
colunas. Esse algoritmo deve ter uma função responsável por calcular o 
somatório dos elementos da diagonal secundária. 
 
Analise as alternativas a seguir e selecione a que apresenta a mais 
correta implementação da função que calcula o somatório dos elementos 
da diagonal secundária da matriz. 
funcao secundaria:real var s : real inicio s <- 0 para i de 1 ate linhas passo 1 
faca para j de 1 ate colunas passo 1 faca se ((i+j) = (linhas+1)) entao s <- s + 
valores[i,j] fimse fimpara fimpara retorne s fimfuncao (C) 
 
38- Em relação às listas simplesmente encadeadas, leia as alternativas a 
seguir e indique a correta: 
Alocam apenas a memória necessária para armazenar os elementos da lista. 
 
39- Indique a alternativa que representa corretamente a declaração de 
uma matriz de 3 linhas e 2 colunas no MATLAB. 
m= [1, 2; 3, 4; 5, 6]; (D) 
 
40- Que grau possui a árvore abaixo? 
 
 
A árvore é grau 2. 
 
41- Considere as operações básicas que podem ser realizadas com uma 
matriz e assinale a alternativa que NÃO se refere a uma operação básica 
de manipulação de matrizes. 
Verificar quais números da matriz são números pares: para i de 1 ate linhas 
passo 1 faca para j de 1 ate colunas passo 1 faca se (valores[i,j] mod 2=0) 
escreval("Par: ",valores[i,j]) fimpara fimpara (D) 
 
42- Tratando-se de estruturas de dados em árvore, qual das opções 
abaixo representa o conceito de folha? 
Um nó que não possui sub-árvores. 
 
43- A análise e o desenvolvimento de algoritmos com o uso de listas 
encadeadas são de suma importância no desenvolvimento de uma 
aplicação. Durante essa ação, o desenvolvedor precisa realizar a análise 
prévia dos códigos de uma determinada aplicação para iniciar seu 
desenvolvimento. 
 
 
Analise o algoritmo a seguir e marque a alternativa que representa seu 
significado: 
 
 
def acao(self,item): 
atual = self.inicio 
status = False 
while atual != None and not status: 
if atual.dado()==item: 
status = True 
else: 
atual = atual.prox() 
return status 
Procura um elemento na lista. 
 
44- As listas simplesmente encadeadas possuem características únicas 
em seus nodos, diferentemente das listas estáticas. 
 
Em relação a essas características únicas, leia as alternativas a seguir e 
selecione a correta. 
O nodo tem seu conteúdo definido pelo usuário e um ponteiro para o próximo 
elemento. 
 
45- No contexto estrutura de dados, pilha é: 
Um tipo de lista linear em que o último elemento a ser inserido é o primeiro 
retirado. 
 
46- Baseando-se no conceito de lista encadeada dupla, marque a 
alternativa correta: 
Cada elemento apresenta dois atributos do tipo ponteiro da lista, usados para 
referenciar o elemento anterior e próximo.47- A estrutura de dados de árvore apresenta grande versatilidade. Pode 
ser aplicada na solução de um leque de problemas, como em indexação 
de bancos de dados, em buscas, em estruturas de diretórios em sistemas 
de arquivos, entre outros. 
 
Considerando uma árvore binária de busca, qual destas é uma de suas 
propriedades? 
A subárvore esquerda de um nó contém os nós com chaves menores ou iguais 
que a do nó. (B) 
 
48- Qual a diferença entre uma árvore AVL e uma árvore binária em 
busca? 
A árvore AVL é uma árvore binária de busca parcialmente balanceada, cuja 
altura das subárvores se difere no máximo em 1. 
 
49- Considere o seguinte objetivo: construir um algoritmo que leia um 
vetor G[13] que é o Gabarito de um teste da loteria esportiva, contendo os 
valores 1 (coluna , 2 (coluna , e 3 (coluna do meio). Ler, a seguir, para 
cada apostador, o número de seu cartão e um vetor Resposta R[13]. 
Verificar, para cada apostador, o número de acertos e escrever o número 
do apostador e seu número de acertos. Se tiver 13 acertos, acrescentar a 
mensagem Ganhador, parabéns!. Analise a implementação a seguir, feita 
para atender a essa necessidade: algoritmo loteria 
var 
G: vetor[1..13] de real 
R: vetor[1..13] de real 
indice, cartao, acertos: inteiro 
 
 
procedimento lerG 
inicio 
para indice de 1 ate 13 passo 1 faca 
escreva(Jogo(,indice,): ) 
leia(G[indice]) 
fimpara 
fimprocedimento 
 
procedimento lerR 
inicio 
para indice de 1 ate 13 passo 1 faca 
escreva(Jogo(,indice,): ) 
leia(R[indice]) 
se (R[indice] = G[indice]) entao 
acertos <- acertos + 1 
fimse 
fimpara 
fimprocedimento 
inicio 
lerG() 
repita 
escreva(Digite cartao do apostador: ) 
leia(cartao) 
se (cartao 0) entao 
acertos <- 0 
lerR() 
escreval(Acertos: ,acertos) 
se (acertos = 13) entao 
escreval(GANHADOR, PARABÉNS!) 
fimse 
fimse 
ate (cartao = 0) 
fimalgoritmo 
 
Assinale a alternativa INCORRETA: 
O algoritmo será repetido infinitamente. 
 
50- Considerando as duas matrizes m e n, indique a alternativa que 
apresenta o resultado correto da concatenação dessas matrizes, cujo 
conteúdo é: 
1 2 3 4 
3 4 5 6 
5 6 7 8 
 
m= [1 2; 3 4; 5 6]; 
n= [3 4; 5 6; 7 8]; 
r= [m n]; (A) 
 
51- Estrutura de Dados básicas como Fila são usadas em uma gama 
variada de aplicações computacionais. Marque a alternativa correta 
quanto a estas aplicações. 
Buffer para gravação de dados em mídia. 
 
52- Sobre lista duplamente encadeada, marque a alternativa correta em 
relação às suas características: 
Os elementos podem conter variáveis de um tipo primitivo ou estruturas 
compostas. 
 
53- Analise o seguinte programa em pseudocódigo: 
 
 
algoritmo matrizes 
var 
valores: vetor[1..3,1..4] de real 
calcula: real 
i,j: inteiro 
 
 
procedimento X 
inicio 
para i de 1 ate 3 passo 1 faca 
para j de 1 ate 4 passo 1 faca 
escreva(Digite valor: ) 
leia(valores[i,j]) 
fimpara 
fimpara 
fimprocedimento 
 
 
procedimento Y 
inicio 
para i de 1 ate 3 passo 1 faca 
escreval() 
para j de 1 ate 4 passo 1 faca 
escreva( ,valores[i,j]) 
fimpara 
fimpara 
fimprocedimento 
 
 
funcao Z:real 
var 
s : real 
inicio 
s <- 0 
para i de 1 ate 3 passo 1 faca 
para j de 1 ate 4 passo 1 faca 
s <- s + valores[i,j] 
fimpara 
fimpara 
retorne s 
fimfuncao 
 
 
inicio 
//conjunto de comandos 
fimalgoritmo 
 
 
Analise as alternativas a seguir e selecione a que apresenta corretamente 
o //conjunto de comandos para realizar a seguinte lista de operações: 
- ler a matriz; 
- calcular o somatório dos elementos da matriz; 
- escrever a matriz; 
- mostrar o somatório dos elementos da matriz. 
inicio //conjunto de comandos X() calcula <- Z() Y() escreval ( "Somatorio: ", 
calcula ) fimalgoritmo (C) 
 
54- Considere o seguinte algoritmo em pseudocódigo: 
 
 
algoritmo matrizes 
var 
valores: vetor[1..4,1..4] de real 
soma: vetor[1..4] de real 
i,j: inteiro 
 
 
procedimento ler 
inicio 
para i de 1 ate 4 passo 1 faca 
para j de 1 ate 4 passo 1 faca 
escreva(Digite valor: ) 
leia(valores[i,j]) 
fimpara 
fimpara 
fimprocedimento 
 
 
procedimento escrever 
inicio 
para i de 1 ate 4 passo 1 faca 
escreval() 
para j de 1 ate 4 passo 1 faca 
escreva( ,valores[i,j]: 
fimpara 
fimpara 
fimprocedimento 
 
 
inicio 
ler() 
escrever() 
fimalgoritmo 
 
 
Analise as alternativas a seguir e selecione a que apresenta a correta 
implementação de uma função que calcula o somatório dos elementos de 
cada linha e armazene esse somatório em um vetor. 
procedimento somatorio inicio para i de 1 ate 4 passo 1 faca soma[i] <- 0 para j 
de 1 ate 4 passo 1 faca soma[i] <- soma[i] + valores[i,j] fimpara fimpara 
fimprocedimento (A) 
 
55- Baseando-se no conceito de lista dinâmica encadeada, marque a 
alternativa correta em relação à inclusão de elementos: 
A inclusão de elementos deve ocorrer em qualquer posição da lista. (C) 
 
56- Suponha o seguinte cenário: Uma fila FIFO foi criada, e um nodo foi 
inserido a cada minuto, chegando a um total de dez elementos (dez 
minutos depois da criação da fila). A partir desse momento, decide-se 
remover um nodo. Qual deles será removido? 
O primeiro (inserido no minuto 1). 
 
57- Uma árvore binária de busca é conhecida pela sua eficiência quando é 
necessária a pesquisa de algum valor, seguindo as regras de buscas, 
ramificando para a esquerda e para a direita. 
 
Sabendo disso, de acordo com a árvore na imagem, determine qual 
caminho a chave de busca percorreu para pesquisa do valor 87 e se este 
existe ou não. 
 
 
 Visitou chave 70.Visitou chave 90.Visitou chave 83.Visitou chave 85.Visitou 
chave 89.Resultado: falha. (D) 
 
58- Inserindo os elementos 10, 3 e 2 em uma árvore binária, obtém-se a 
seguinte árvore desbalanceada: 
 
 
 
Em qual dos itens é posssível ver a rotação que foi feita e a árvore 
balanceada gerada a partir dessa rotação? 
Rotação à direita. 
 
 (E) 
 
59- Os tipos de dados booleanos têm características específicas em 
relação aos outros tipos de variáveis. A partir dessa afirmação, identifique 
a alternativa que apresenta um exemplo de dados booleanos: 
Verdadeiro ou falso. 
 
60- Levando em consideração os conceitos de uma lista simplesmente 
encadeada, assinale a alternativa que melhor representa a sua utilização: 
Listas grandes, com muitas inserções e em qualquer posição. 
 
61- Uma das estrutudas de dados utilizadas na programação de 
computadores funciona conforme o princípio conhecido como FIFO - First 
In First Out e LIFO - Last In First Out. Essas estruturas são denominadas, 
respectivamente: 
Fila e pilha. 
 
62- Assinale a opção correta relativa às operações básicas suportadas 
por pilhas. 
PUSH coloca um elemento no topo da pilha. (B) 
 
63- Assinale a ordem de exibição se for executado o algoritmo de 
caminhamento em pré-ordem para a seguinte árvore: 
 
 
ABCDEFG. (A) 
 
64- A lista simplesmente encadeada é uma lista do tipo dinâmica e 
apresenta vantagens em relação a listas estáticas, como vetores. 
 
A partir da afirmação anterior, marque a opção que infoma uma das 
vantagens das listas simplesmente encadeadas. 
Permitem variação de seu tamanho em tempo de execução. 
 
65- Analise o seguinte algoritmo baseado na linguagem MATLAB e 
marque a alternativa que representa o conteúdo da matriz m após a 
execução dos laços de repetição. 
 
 
m= [1:5; 2:6] * 3; 
for i= 1 : size(m, 1) 
for j= 1 : size(m, 2) 
if mod(m(i,j), 2) == 0 
m(i,j)= m(i,j) * 2; 
end 
end 
end 
3, 12, 9, 24, 15 12, 9, 24, 15, 36 (C) 
 
66- Sempre que vimos uma árvore, presumimos a ordem em que seus 
elementos foram adicionados. Dessa forma, conforme a imagem utilizada 
no exercício anterior, defina uma possível ordem do vetor que culminou 
na árvore apresentada, lembrando que o primeiro valor corresponde à raiz 
da árvore. 
 
 
 
[70,90,4,114,2,23,83,116,72,15,85,89,63]. (B) 
 
67- Que tipos de dados podem serarmazenados no nó de uma árvore 
binária? 
Qualquer tipo de dado, desde que esse dado esteja definido na estrutura que 
será usada para representar o nó. 
 
68- Em matemática, matriz identidade é uma matriz diagonal, cujos 
elementos da diagonal principal são todos iguais a 1, os outros elementos 
são 0. A matriz identidade é o elemento neutro da multiplicação de 
matrizes. 
 
Neste contexto, analise as alternativas a seguir e assinale aquela que 
apresenta uma função que testa CORRETAMENTE se uma matriz é uma 
matriz identidade, retornando 1 neste caso; caso contrário, retornar 0. 
funcao testa : inteiro var x : inteiro inicio x <- 1 i <- 1 enquanto ((i]] (C) 
 
69- Uma rotação dupla é realizada, unindo duas rotações simples. Assim, 
uma rotação dupla à direita é realizada da seguinte forma: 
uma rotação simples à esquerda e uma rotação simples à direita. 
 
70- Qual a diferença entre uma árvore e uma árvore binária? 
 
 
 
Uma árvore é uma estrutura hierárquica que não limita a quantidade de filhos 
que os nós pais podem ter, e em uma árvore binária os nós pais podem ter 2, 1 
ou 0 filhos. 
 
71- Considere o seguinte algoritmo em pseudocódigo (os dois dígitos à 
esquerda identificam o número da linha do algoritmo): 
 
 
01- algoritmo vetores 
02- var 
03- valores: vetor[1..5] de real 
04- indice: inteiro 
05- inicio 
06- para indice de 1 ate 5 passo 1 faca 
07- escreva(Digite valor: ) 
08- leia(valores[indice]) 
09- fimpara 
10- para indice de 1 ate 5 passo 1 faca 
11- escreval(Valor[,indice,]: ,valores[indice]) 
12- fimpara 
13- fimalgoritmo 
 
Analise as alternativas a seguir e selecione a INCORRETA. 
Se forem trocados de lugar os blocos de instruções das linhas 06-09 com 10-
12, o programa será executado da mesma forma e funcionará corretamente. 
 
72- A lista simplesmente encadeada é uma lista do tipo dinâmica e 
apresenta vantagens em relação a listas estáticas, como vetores. 
 
A partir dessa afirmação, marque a opção que informa um tipo de lista em 
que é mais apropriado utilizar listas simplesmente encadeadas em 
detrimento de listas do tipo estáticas, como vetores. 
Listas grandes que realizam diversas inserções em diferentes posições. 
 
73- Qual a diferença entre os caminhamentos pré-ordem, in-ordem e pós-
ordem em uma árvore binária, levando em consideração a implementação 
feita em C e usando recursão? 
A ordem em que os nós são visitados. 
 
74- A resolução de sistemas de equações lineares pode ser realizada por 
meio do processamento de matrizes. Na maioria dos métodos criados 
para este fim, é utilizado o processo de multiplicar toda a matriz por um 
número X, conforme exemplo a seguir: 
 
 
MATRIZ ORIGINAL 
01 - 02 - 03 
04 - 05 - 06 
07 - 08 - 09 
 
 
MATRIZ MULTIPLICADA POR X (X =2) 
02 - 04 - 06 
08 - 10 - 12 
14 - 16 - 18 
 
 
Analise as alternativas a seguir e selecione aquela que apresenta uma 
rotina que recebe por passagem de valor um número X e multiplica esse 
número por cada elemento da matriz. 
procedimento multiplica(x : real) inicio para i de 1 ate 4 passo 1 faca para j de 1 
ate 4 passo 1 faca valores[i,j]<-valores[i,j]*x fimpara fimpara fimprocedimento 
(B) 
 
75- Considere que os itens W, X, Y, Z e K foram inseridos nessa ordem em 
uma pilha. Necessariamente, o último elemento é: 
K. 
 
76- Em relação às listas com encadeamento duplo, leia as alternativas a 
seguir e indique a correta: 
Alocam apenas a memória necessária para armazenar os elementos atuais da 
lista. 
 
77- Um vetor é um arranjo de uma só dimensão que, portanto, necessita 
de apenas um índice para acessar seus elementos. Selecione a alternativa 
a seguir que NÃO apresenta uma característica de um vetor. 
Passagem de parâmetro complexa, pois exige a enumeração de cada 
elemento do vetor. 
 
78- Analise o seguinte método e marque a alternativa que representa o 
seu significado: 
 
struct Node{ 
int numero; 
struct Node *ant; 
struct Node *prox; 
}; 
typedef struct Node node; 
struct Descritor{ 
int n; 
struct Node *prim; 
struct Node *ult; 
}; 
typedef struct Descritor descritor; 
void metodo(descritor *desc, node *list) { 
node *u= desc->ult; 
node *p= u->ant; 
p->prox= NULL; 
desc->ult= p; 
free(u); 
desc->n--; 
} 
Adiciona um elemento no final da lista. (E) 
 
79- Considere os estados (inicial e final) da pilha a seguir, na qual top 
corresponde ao seu topo. 
 
 
 
Para atingir o estado final dessa pilha, deve-se usar a seguinte sequência 
de operações básicas: 
pop(), pop(), push(9), push(3). (A) 
 
80- Qual o nó raiz e os nós folha desta árvore binária? 
 
 
O nó raiz é A, e os nós filhos são D, E e F. (C) 
 
81- Qual a ordem de caminhamento que retorna os seus nós em ordem 
crescente para a árvore a seguir? 
 
 
 
Caminhamento in-ordem. 
 
//

Continue navegando

Outros materiais