Logo Passei Direto
Buscar

Estrutura de Dados

Ferramentas de estudo

Questões resolvidas

1) Sobre estruturas de dados, assinale a alternativa CORRETA.
a) Pilhas são tipos de dados abstratos caracterizadas pela política 'primeiro a entrar, último a sair'.
b) Filas são comumente implementadas sobre arrays ou grafos.
c) Árvores de busca binárias são estruturas nas quais nós filhos possuem valores numericamente inferiores aos dos nós pais.
d) Grafos são estruturas de dados em que cada nó possui um valor e um conjunto de relações unidirecionais com os demais nós.
e) Listas duplamente ligadas são estruturas em que cada nó possui uma referência tanto ao nó que o antecede quanto ao nó que o sucede. Além disso, o último nó da lista também possui uma referência para o primeiro nó da lista.
a) Malloc
b) Calloc
c) Realloc
d) Free
e) Clear

9) Considere o código a seguir escrito na linguagem C.

a) Valor total: 9.14.
b) Valor total: 9.142.
c) Valor total: 9.1.
d) Valor total: 9.141517.
e) Valor total: 9.141517e+00.

15) Assinale a alternativa correta em relação à definição de variáveis globais e locais.

a) Uma variável global não pode ser visível a todas as sub-rotinas hierarquicamente subordinadas à rotina principal.
b) As variáveis definidas como globais e locais precisam ser declaradas repetidas vezes dentro de cada sub-rotina.
c) Uma variável local pode ser considerada global quando declarada no cabeçalho de uma sub-rotina, porém só é válida dentro da rotina à qual está declarada.
d) Uma variável global não pode ser utilizada por qualquer sub-rotina subordinada ao algoritmo principal.
e) Uma variável global é declarada no início do algoritmo principal de um programa, pode ser utilizada por qualquer sub-rotina subordinada ao algoritmo principal.

Uma lista ordenada alocada sequencialmente possui como desvantagem:

a) Impossibilidade de acesso direto.
b) Tamanho limitado de memória alocada para lista.
c) Impossibilidade de remoção no meio da lista.
d) A reserva de memória em posições contíguas.
e) Complexidade O(n) para a busca.

33) Comparando o Merge Sort com o Método da bolha, podemos afirmar que:
a) O merge sort sempre executará mais rápido que o bubble sort, uma vez que sua complexidade é O(n log n) e a do bubble sort O(n2).
b) Ambos têm complexidade comparável, assim, não é possível afirmar qual irá executar em melhor tempo.
c) O merge sort tem complexidade computacional inferior ao bubble sort, porém o merge sort sempre executa em um tempo proporcional a n log n, enquanto o bubble sort pode executar em tempo linear em algumas instâncias (melhores casos).
d) O bubble sort sempre irá executar mais rápido que o merge sort por ter complexidade computacional inferior ao merge sort.
e) O merge sort, por ser instável, sempre executará em tempo superior ao bubble sort.

36) Qual a importância de se entender a "ordenação" de dados?
a) A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas.
b) A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas.
c) A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para resolver outros problemas.
d) A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas.
e) A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento para resolver outros problemas.

37) A técnica LIFO (last in first out), utilizada em programação estruturada, é fundamentada no conceito de:

a) loop
b) array
c) pilha
d) fila
e) ponteiro

39) Marque a afirmativa correta para a "inserção incremental".
a) Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
b) É um tipo de sequenciação por intercalação.
c) Os pivôs são escolhidos aleatoriamente.
d) É um tipo de ordenação por intercalação
e) A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.

41) Qual estrutura de dados não linear que é utilizada na implementação de Redes de Computadores, na Computação Gráfica, em modelagem de circuitos digitais etc. E que se caracteriza por apresentar um conjunto de nós e conexões entre eles.

a) Vetores
b) Pilhas Encadeadas
c) Filas Encadeadas
d) Grafos
e) Listas Encadeadas.

42) Assinale a alternativa que apresenta duas formas de passagem de parâmetros para uma rotina ou função:

a) Por inferência e por valor.
b) Por valor e por referência
c) Por teste e por reforço.
d) Por reforço e por referência.
e) Por memória e por disco

43) Com relação à struct, é correto afirmar que:
a) Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do mesmo tipo.
b) Cada elemento da struct é denominado membro ou campo, sendo que a struct pode armazenar elementos de tipos diferentes ou não.
c) Cada elemento da struct é chamado campo e cada campo deve ser, obrigatoriamente, de um tipo de dados distinto de outro campo.
d) A struct é sempre definida dentro da main.
e) Cada elemento da struct é chamado componente.

46) Em uma aplicação que usa processos de alocação estática e dinâmica de memória é correto afirmar que:
a) A memória utilizada pela aplicação é totalmente alocada após o início de sua execução
b) Apenas a memória associada às variáveis do tipo vetor é alocada após o início da execução da aplicação
c) Todas as afirmacoes acima são incorretas
d) Toda a memória utilizada pela aplicação não muda durante toda a sua execução
e) A memória utilizada pela aplicação é inicialmente estática, mas pode mudar

47) Com relação à lista duplamente encadeada, é correto afirmar que:

a) Não pode ser vazia.
b) Não pode haver remoções no meio da lista.
c) A lista precisa ter sempre um ponteiro apontando para o 1º. nó
d) A lista pode ser percorrida com igual facilidade para a direita ou para a esquerda, pois existem dois ponteiros.
e) Consome menos memória do que uma lista simplesmente encadeada, se tivermos uma mesma aplicação

A definição de Estrutura de Dados está expressa na alternativa:
a) É um modo de utilização de dados nos programas de computador.
b) É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente.
c) É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente.
d) São os nomes dados as variáveis na montagem de uma rotina.
e) É um modo de deleção de dados em um computador.
a) É um modo de utilização de dados nos programas de computador.
b) É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente.
c) É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente.
d) São os nomes dados as variáveis na montagem de uma rotina.
e) É um modo de deleção de dados em um computador.

Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para:

a) Para cima e para baixo ou para frente e para trás.
b) Para frente e para trás, apenas.
c) Para frente, apenas.
d) Para cima e para baixo, apenas.
e) Para trás, apenas.

Qual das seguintes estruturas de dados é classificada como heterogênea?

a) Loop
b) Registro
c) Vetor
d) Pilha
e) Fila

Uma fila duplamente terminada, isto é, uma estrutura linear que permite inserir e remover de ambos os extremos é chamada de:

a) Autômato.
b) Árvore.
c) Shift-and.
d) Boyer-Moore.
e) Deque.

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

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

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

Questões resolvidas

1) Sobre estruturas de dados, assinale a alternativa CORRETA.
a) Pilhas são tipos de dados abstratos caracterizadas pela política 'primeiro a entrar, último a sair'.
b) Filas são comumente implementadas sobre arrays ou grafos.
c) Árvores de busca binárias são estruturas nas quais nós filhos possuem valores numericamente inferiores aos dos nós pais.
d) Grafos são estruturas de dados em que cada nó possui um valor e um conjunto de relações unidirecionais com os demais nós.
e) Listas duplamente ligadas são estruturas em que cada nó possui uma referência tanto ao nó que o antecede quanto ao nó que o sucede. Além disso, o último nó da lista também possui uma referência para o primeiro nó da lista.
a) Malloc
b) Calloc
c) Realloc
d) Free
e) Clear

9) Considere o código a seguir escrito na linguagem C.

a) Valor total: 9.14.
b) Valor total: 9.142.
c) Valor total: 9.1.
d) Valor total: 9.141517.
e) Valor total: 9.141517e+00.

15) Assinale a alternativa correta em relação à definição de variáveis globais e locais.

a) Uma variável global não pode ser visível a todas as sub-rotinas hierarquicamente subordinadas à rotina principal.
b) As variáveis definidas como globais e locais precisam ser declaradas repetidas vezes dentro de cada sub-rotina.
c) Uma variável local pode ser considerada global quando declarada no cabeçalho de uma sub-rotina, porém só é válida dentro da rotina à qual está declarada.
d) Uma variável global não pode ser utilizada por qualquer sub-rotina subordinada ao algoritmo principal.
e) Uma variável global é declarada no início do algoritmo principal de um programa, pode ser utilizada por qualquer sub-rotina subordinada ao algoritmo principal.

Uma lista ordenada alocada sequencialmente possui como desvantagem:

a) Impossibilidade de acesso direto.
b) Tamanho limitado de memória alocada para lista.
c) Impossibilidade de remoção no meio da lista.
d) A reserva de memória em posições contíguas.
e) Complexidade O(n) para a busca.

33) Comparando o Merge Sort com o Método da bolha, podemos afirmar que:
a) O merge sort sempre executará mais rápido que o bubble sort, uma vez que sua complexidade é O(n log n) e a do bubble sort O(n2).
b) Ambos têm complexidade comparável, assim, não é possível afirmar qual irá executar em melhor tempo.
c) O merge sort tem complexidade computacional inferior ao bubble sort, porém o merge sort sempre executa em um tempo proporcional a n log n, enquanto o bubble sort pode executar em tempo linear em algumas instâncias (melhores casos).
d) O bubble sort sempre irá executar mais rápido que o merge sort por ter complexidade computacional inferior ao merge sort.
e) O merge sort, por ser instável, sempre executará em tempo superior ao bubble sort.

36) Qual a importância de se entender a "ordenação" de dados?
a) A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas.
b) A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas.
c) A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para resolver outros problemas.
d) A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas.
e) A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento para resolver outros problemas.

37) A técnica LIFO (last in first out), utilizada em programação estruturada, é fundamentada no conceito de:

a) loop
b) array
c) pilha
d) fila
e) ponteiro

39) Marque a afirmativa correta para a "inserção incremental".
a) Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
b) É um tipo de sequenciação por intercalação.
c) Os pivôs são escolhidos aleatoriamente.
d) É um tipo de ordenação por intercalação
e) A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.

41) Qual estrutura de dados não linear que é utilizada na implementação de Redes de Computadores, na Computação Gráfica, em modelagem de circuitos digitais etc. E que se caracteriza por apresentar um conjunto de nós e conexões entre eles.

a) Vetores
b) Pilhas Encadeadas
c) Filas Encadeadas
d) Grafos
e) Listas Encadeadas.

42) Assinale a alternativa que apresenta duas formas de passagem de parâmetros para uma rotina ou função:

a) Por inferência e por valor.
b) Por valor e por referência
c) Por teste e por reforço.
d) Por reforço e por referência.
e) Por memória e por disco

43) Com relação à struct, é correto afirmar que:
a) Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do mesmo tipo.
b) Cada elemento da struct é denominado membro ou campo, sendo que a struct pode armazenar elementos de tipos diferentes ou não.
c) Cada elemento da struct é chamado campo e cada campo deve ser, obrigatoriamente, de um tipo de dados distinto de outro campo.
d) A struct é sempre definida dentro da main.
e) Cada elemento da struct é chamado componente.

46) Em uma aplicação que usa processos de alocação estática e dinâmica de memória é correto afirmar que:
a) A memória utilizada pela aplicação é totalmente alocada após o início de sua execução
b) Apenas a memória associada às variáveis do tipo vetor é alocada após o início da execução da aplicação
c) Todas as afirmacoes acima são incorretas
d) Toda a memória utilizada pela aplicação não muda durante toda a sua execução
e) A memória utilizada pela aplicação é inicialmente estática, mas pode mudar

47) Com relação à lista duplamente encadeada, é correto afirmar que:

a) Não pode ser vazia.
b) Não pode haver remoções no meio da lista.
c) A lista precisa ter sempre um ponteiro apontando para o 1º. nó
d) A lista pode ser percorrida com igual facilidade para a direita ou para a esquerda, pois existem dois ponteiros.
e) Consome menos memória do que uma lista simplesmente encadeada, se tivermos uma mesma aplicação

A definição de Estrutura de Dados está expressa na alternativa:
a) É um modo de utilização de dados nos programas de computador.
b) É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente.
c) É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente.
d) São os nomes dados as variáveis na montagem de uma rotina.
e) É um modo de deleção de dados em um computador.
a) É um modo de utilização de dados nos programas de computador.
b) É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente.
c) É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente.
d) São os nomes dados as variáveis na montagem de uma rotina.
e) É um modo de deleção de dados em um computador.

Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para:

a) Para cima e para baixo ou para frente e para trás.
b) Para frente e para trás, apenas.
c) Para frente, apenas.
d) Para cima e para baixo, apenas.
e) Para trás, apenas.

Qual das seguintes estruturas de dados é classificada como heterogênea?

a) Loop
b) Registro
c) Vetor
d) Pilha
e) Fila

Uma fila duplamente terminada, isto é, uma estrutura linear que permite inserir e remover de ambos os extremos é chamada de:

a) Autômato.
b) Árvore.
c) Shift-and.
d) Boyer-Moore.
e) Deque.

Prévia do material em texto

1) Sobre estruturas de dados, assinale a alternativa CORRETA. 
a) Pilhas são tipos de dados abstratos caracterizadas pela política 
"primeiro a entrar, último a sair". 
b) Filas são comumente implementadas sobre arrays ou grafos. 
c) Árvores de busca binárias são estruturas nas quais nós filhos 
possuem valores numericamente inferiores aos dos nós pais. 
d) Grafos são estruturas de dados em que cada nó possui um 
valor e um conjunto de relações unidirecionais com os demais 
nós. 
e) Listas duplamente ligadas são estruturas em que cada nó 
possui uma referência tanto ao nó que o antecede quanto ao 
nó que o sucede. Além disso, o último nó da lista também 
possui uma referência para o primeiro nó da lista. 
 
2) Considere o programa a seguir, elaborado na linguagem C: 
Assinale a alternativa correta sobre a saída (output) obtida ao se 
executar o programa 
 
a) 8 8 
b) 10 8 
c) 8 10 
d) 10 10 
e) 9 10 
 
3) A linguagem C permite alocar (reservar) dinamicamente (em 
tempo de execução) blocos de memórias utilizando ponteiros. 
A esse processo dá-se o nome de alocação dinâmica, que 
faz uso das funções malloc, calloc, realloc e free, disponíveis na 
biblioteca stdlib.h. Para liberar um bloco de memória 
previamente alocado, por meio de um único parâmetro de 
entrada, faz-se uso de qual função? 
a) Malloc 
b) Calloc 
c) Realloc 
d) Free 
e) Clear 
 
4) A sigla FIFO refere-se a estruturas de dados do tipo fila. 
Como é o funcionamento em uma FIFO? 
a) O primeiro objeto inserido na fila é o último a ser removido. 
b) O primeiro objeto inserido na fila é também o primeiro a ser 
removido. 
c) O último objeto inserido na fila é o primeiro a ser removido. 
d) O programador irá definir a ordem de entrada e de saída dos 
objetos em uma FIFO. 
e) Uma FIFO e uma LIFO possuem as mesmas características 
de entrada e de saída dos objetos. 
 
5) Referente à alocação dinâmica de memória em C, é 
CORRETO afirmar: 
a) As funções malloc e free e o operador sizeof, são essenciais 
para a alocação dinâmica de memória. 
b) A função malloc usa o número de blocos de memória que 
serão alocados na memória. 
c) As funções calloc e realloc são usadas para liberar arrays. 
d) A função clear é usada para limpar o conteúdo de um 
ponteiro. 
e) A função free é geralmente usada com o operador sizeof. 
 
6) Para melhorar a performance de um jogo, os 
desenvolvedores precisam armazenar e manipular 
eficientemente as posições dos personagens em um mundo 
virtual tridimensional. Qual tipo de dado em C é mais adequado 
para representar as posições tridimensionais dos 
personagens? 
a) Array de caracteres. b) Estrutura contendo três floats. c) 
Ponteiro para inteiro. d)Variável do tipo double. e) Lista ligada 
de structs. 
 
7) Em um projeto de software para gerenciamento de 
bibliotecas, utiliza-se a estrutura de dados heterogênea para 
modelar livros. Cada livro é representado por uma estrutura 
contendo título, autor, ano de publicação e status de 
empréstimo. Qual estrutura de dados em C é mais apropriada 
para armazenar os detalhes de cada livro no projeto descrito? 
a)Array de inteiros. b)Lista ligada de caracteres. c)Estrutura 
(struct). d)Ponteiro para void. e) Matriz bidimensional de floats. 
 
8) Em um sistema de gerenciamento de estoque, utiliza-se uma 
estrutura para armazenar informações dos produtos, como 
código, descrição, quantidade e preço. É necessário acessar 
rapidamente essas informações para atualizações frequentes. 
Como se deve acessar os membros de uma estrutura em C 
para realizar atualizações? 
a) Operador de desreferência. 
b) Operador ponto (.). 
c) Operador seta (→). 
d) Indexação de array. 
e) Chamada de função. 
 
9) Considere o código a seguir escrito na linguagem C. 
#include 
Int main() { 
printf(‘’Valor total: %.1f\n’’, 9,1415169265); 
return(0); 
} 
Assinale a alternativa que apresenta a saída correta. 
a) Valor total: 9.14. 
b) Valor total: 9.142. 
c) Valor total: 9.1. 
d) Valor total: 9.141517. 
e) Valor total: 9.141517e+00. 
 
10) (NUCEPE/2015 - adaptada) A modularização é importante para 
organizar melhor o código, facilitar a manutenção, entre 
outras coisas. 
Sobre a modularização, assinale a alternativa correta. 
#include < stdio.h > 
int *pa, a ; 
int main () { 
 a = 10 ; 
 pa = &a ; 
 printf (“%d”, a); 
 printf(“%d”, *pa); 
} 
a) É um procedimento que sempre retorna um valor ao 
programa. 
b) As variáveis definidas no escopo de cada função são 
acessíveis em todo o programa. 
c) As variáveis locais são declaradas no escopo do programa 
inteiro. 
d) A passagem de parâmetros para um subprograma pode ser 
somente por valor. 
e) É um método que consiste em decompor um programa em 
uma série de subprogramas individuais. 
 
11) Observe o trecho de código abaixo, escrito na linguagem C. 
void imprimecabecalho() { 
 ... 
} 
void calcula() { 
 int soma; 
 ... 
 imprimecabecalho(); 
} 
Com base nesse código, é correto afirmar que: 
a) O escopo da variável soma é contido pela função 
imprimecabecalho(). 
b) O escopo e o tempo de vida da variável soma são iguais e 
contidos pela função imprimecabecalho(). 
c) O tempo de vida da variável soma estende-se durante o 
tempo em que a função imprimecabecalho() é executada. 
d) O escopo da variável soma é dinâmico e se estende durante 
toda execução do programa. 
e) O escopo da variável soma se estende da função calcula() 
para a função imprimecabecalho(). 
 
12) (FUNCAB/2015 - adaptada) Na linguagem C, o cabeçalho de 
biblioteca stdio.h possui definições de sub-rotinas relativas às 
operações de entrada/saída padrão. Uma das funções tratadas 
na biblioteca, associada a esse cabeçalho, é a função. 
a) Strcpy. 
b) Stderr. 
c) Locatime. 
d) Trunc. 
e) Printf. 
 
13) Em relação ao uso e conceitos de procedimentos e funções 
em lógica de programação, analise as seguintes afirmativas: 
I. Procedimentos e funções são blocos de instruções para realizar 
tarefas específicas e são considerados sub-rotinas. 
II. Em um procedimento, a passagem de parâmetros é obrigatória. 
III. Em uma função, a passagem de parâmetros e o retorno de um valor 
são obrigatórios. 
Está CORRETO o que se afirma em: 
a) II e III, apenas. 
b) II, apenas. 
c) I e III, apenas. 
d) I, apenas. 
e) I e II, apenas. 
 
14) As sub-rotinas são procedimentos e funções da programação 
modularizada. Um parâmetro passado por valor para uma sub-
rotina se comportará como uma variável local, isto é, qualquer 
modificação no valor desta variável não será visível fora da 
sub-rotina. Sobre a passagem de parâmetros, analise as 
afirmativas abaixo. 
o I - Na passagem por valor ocorre uma troca de valores entre 
variáveis na sub-rotina. 
o II - Na passagem por valor ocorre uma cópia do valor da 
variável em todas as posições de memória, sendo possível 
alterar o conteúdo da variável original a qualquer momento. 
o III - A passagem por referência nunca deve ser utilizada. 
Marque a alternativa que apresenta a(s) afirmativa(s) correta(s). 
a) Apenas a afirmativa I está correta. 
b) Apenas as afirmativas I e II estão corretas. 
c) Apenas as afirmativas I e III estão corretas. 
d) As afirmativas I, II e III estão corretas. 
e) Apenas as afirmativas II e III estão corretas. 
 
15) Assinale a alternativa correta em relação à definição de 
variáveis globais e locais. 
a) Uma variável global não pode ser visível a todas as sub-
rotinas hierarquicamente subordinadas à rotina principal. 
b) As variáveis definidas como globais e locais precisam ser 
declaradas repetidas vezes dentro de cada sub-rotina. 
c) Uma variável local pode ser considerada global quando 
declarada no cabeçalho de uma sub-rotina, porém só é 
válida dentro da rotina à qual está declarada. 
d) Uma variável global não pode ser utilizada por qualquer sub-
rotina subordinada ao algoritmo principal. 
e) Uma variável global é declarada no início do algoritmoprincipal de um programa, pode ser utilizada por qualquer 
sub-rotina subordinada ao algoritmo principal. 
 
16) Há duas maneiras de se passar argumentos ou parâmetros 
para funções: por valor e por referência. Sobre passagem de 
parâmetros, analise as seguintes afirmativas: 
o Na passagem por referência, o que é passado como 
argumento no parâmetro formal é o endereço da 
variável. 
o Na passagem por valor, o valor é copiado do 
argumento para o parâmetro formal da função. 
o Por exemplo, quando duas variáveis inteiras i1 e i2 
são passadas por valor à função troca() chamada 
pelo programa principal, elas também são alteradas 
no programa principal. 
o Na passagem por referência, dentro da função, o 
argumento real utilizado na chamada é acessado 
através do seu endereço, sendo assim alterado. 
o Na passagem por valor, quaisquer alterações feitas 
nestes parâmetros dentro da função não irão afetar 
as variáveis usadas como argumentos para chamá-
la. 
Está CORRETO o que se afirma em: 
a) I, III e V, apenas 
b) I e III 
c) V, apenas 
d) II e IV, apenas 
e) I, II, IV e V, apenas 
 
17) Essas variáveis que são declaradas fora da sub-rotina, 
podendo ser acessíveis em todos os escopos, em qualquer 
lugar de um programa, disponíveis durante toda a execução 
do programa. 
Marque a alternativa que apresenta o tipo de variável descrito 
acima. 
a) Única. 
b) Local. 
c) Paramétricas. 
d) Formais. 
e) Global. 
 
18) O acesso ao elemento de uma estrutura de dados tipo pilha 
se restringe ao mais recente na pilha. Já o acesso a um 
elemento de uma estrutura tipo fila ocorre ao dado há mais 
tempo na fila. Sobre pilhas e filas, avalie as assertivas a seguir: 
o I - Uma forma de evitar o desperdício de memória numa fila 
em alocação sequencial é utilizar-se lista circular. 
o II - Em uma pilha em alocação encadeada, a complexidade da 
remoção é O(n). 
o III - Pilhas têm a propriedade de inverter a ordem de cadeias, 
enquanto as filas mantêm a ordem. 
A opção que contém todas as assertivas corretas é: 
a) I. 
b) II e III. 
c) II. 
d) I e II. 
e) I e III. 
 
19) Várias estruturas de dados podem ser utilizadas para 
armazenar dados de uma aplicação. Em relação ao assunto, 
assinale a alternativa correta. 
a) A estrutura de dados do tipo fila sempre retira os elementos 
que entraram por último na fila. 
b) A estrutura de dados do tipo lista utiliza a ideia do primeiro a 
chegar, primeiro a ser servido para inserir elementos. 
c) A estrutura de dados do tipo fila utiliza a ideia do primeiro a 
ser inserido, será o primeiro a ser retirado. 
d) A estrutura de dados do tipo pilha, para retirar o elemento do 
topo da pilha, é necessário retirar o elemento da base da pilha. 
e) A estrutura de dados do tipo pilha sempre retira os elementos 
que foram inseridos primeiro na estrutura. 
 
20) Sejam as seguintes propriedades de estruturas de dados: 
o a remoção de um elemento interno obriga ao deslocamento 
de todos os sucessores. 
o Um nó pode ser inserido no meio da estrutura com 
complexidade O (1). 
o III- a inserção e a remoção podem ser feitas em ambas as 
extremidades. 
As descrições acima se referem respectivamente à: 
a) Lista em alocação encadeada, Lista circular e Lista em 
alocação sequencial. 
b) Lista em alocação encadeada, Lista em alocação sequencial e 
deque. 
c) Lista em alocação sequencial, Lista circular e Lista em 
alocação encadeada. 
d) Lista em alocação sequencial, Lista em alocação encadeada e 
deque. 
e) Lista em alocação sequencial, Lista em alocação sequencial e 
deque. 
 
21) Insira os dados de entrada numa fila. Em seguida, retire cada 
dado da fila e insira numa pilha. Mostre a pilha. Depois retire os 
dados da pilha e insira na fila. Mostre a fila. 
Dados de entrada: 11, 12, 23, 14, 25, 50, 8, 18, 29, 10 
As estruturas mostradas ficam 
o Pilha: (topo) 10 - 29 - 18 - 8 - 50 - 25 - 14 - 23 - 12 - 11 
o Fila: (começo) 11 - 12 - 23 - 14 - 25 - 50 - 8 - 18 - 29 - 10 (fim) 
o Fila: (começo) 10 - 29 - 18 - 8 - 50 - 25 - 14 - 23 - 12 - 11 (fim) 
o Pilha: (topo) 11 - 12 - 23 - 14 - 25 - 50 - 8 - 18 - 29 - 10 
o A fila mostrada fica com os elementos em ordem invertida 
dos dados de entrada 
Está correto o que se afirma APENAS em: 
a) III e IV. 
b) I, III e V. 
c) II e IV. 
d) I, II e III. 
e) I, IV e V. 
 
22) Assinale, das alternativas abaixo, a única que identifica 
respectivamente uma Estrutura de Dados do tipo FIFO (First 
In, First Out) e uma outra com a Estrutura de dados do tipo 
LIFO (Last In, First Out): 
a) Vetor - lista 
b) Lista - vetor 
c) Pilha - fila 
d) Fila - pilha 
e) Matriz – vetor 
 
23) Sobre listas duplamente encadeadas, afirma-se: 
o Cada nó usa o dobro do número de campos ponteiro de uma 
lista simplesmente encadeada. 
o A complexidade de remoção é metade da complexidade de 
remoção em lista simplesmente encadeada. 
o Não permitem a inserção de nó no meio da lista. 
É correto apenas: 
a) II. 
b) I. 
c) III. 
d) I e III. 
e) II e III. 
 
24) Uma lista ordenada alocada sequencialmente possui como 
desvantagem: 
a) Impossibilidade de acesso direto. 
b) Tamanho limitado de memória alocada para lista. 
c) Impossibilidade de remoção no meio da lista. 
d) A reserva de memória em posições contíguas. 
e) Complexidade O(n) para a busca. 
 
25) Uma estrutura de dados onde existe uma coleção ordenada 
de entidades sendo a metodologia de busca com base no 
deslocamento relativo ao primeiro (cabeça) da coleção, 
chama-se: 
a) Árvore. 
b) Lista. 
c) Pilha. 
d) Fila. 
e) Árvore binária. 
 
26) Levando em consideração a estrutura de dados do tipo "Pilha", 
analise os itens a seguir e, ao final, assinale a alternativa correta: 
I- Um elemento a ser removido é o que está há menos tempo na 
estrutura de dados. 
II- Um elemento a ser removido é o que está há mais tempo na 
estrutura de dados. 
III- Um elemento a ser inserido é colocado na base da pilha. 
a) Apenas os itens I e II são verdadeiros 
b) Apenas os itens II e III são verdadeiros. 
c) Apenas o item III é verdadeiro. 
d) Apenas o item II é verdadeiro. 
e) Apenas o item I é verdadeiro. 
 
27) Uma pilha segue a regra: "o último a chegar é o primeiro a 
sair". Já as filas obedecem à regra: o primeiro a chegar é o 
primeiro a sair. Com base nesses argumentos, 
Uma pilha P e uma fila F originalmente com n elementos cada (n > 5), 
onde suas operações são: 
empilha(P, elemento): insere elemento na pilha P; 
desempilha(P): remove da pilha P e retorna o elemento removido; 
enfileira(F, elemento): insere elemento na fila F; 
desenfileira(F): remove da fila F e retorna o elemento removido; 
para i = 1 até n, faça 
empilha(P, desempilha(P)) 
 
 
 
enfileira(F, desenfileira(F)) 
fim-para 
Ao final da execução do pseudocódigo, os estados finais de P e F serão 
respectivamente: 
a) Ambas as estruturas estarão vazias. 
b) Elementos em ordem inversa e elementos em ordem original. 
c) Elementos em ordem inversa e elementos em ordem inversa. 
d) Elementos em ordem original e elementos em ordem original. 
e) Elementos em ordem original e elementos em ordem inversa. 
 
28) (INSTITUTO AOCP/2022 - Adaptada) A ordenação por 
seleção é um algoritmo de ordenação simples e intuitivo. Na 
ordenação por seleção, é necessário permutar o vetor. Para 
esse caso, o significado de 'permutar' é: 
a) substituir o vetor por chaves de ordenação. 
b) rearranjar os elementos do vetor. 
c) alterar os valores de um vetor A depois de ordenado em um 
vetor. 
d) alternar os valores de um vetor A com um vetor B. 
e) ordenar os elementos do vetor A em função de um vetor B 
de ordenação. 
 
29) (INSTITUTO AOCP/2013 - Adaptada) A ordenação é um dos 
conceitos fundamentais da ciência da computação e 
desempenha um papel crucial em várias áreas, como 
algoritmos, estruturas de dados e processamento de dados 
em geral. Qual das alternativas abaixo indica um algoritmo de 
ordenação? 
a) Shift sort 
b) Weber sort 
c) Vary sort 
d) Bubble sort 
e) Proxy sort30) (MPE-BA/2023) Algoritmos de ordenação são responsáveis 
por ordenar elementos de uma estrutura de dados de forma 
completa ou parcial. Sobre a complexidade dos algoritmos de 
ordenação, assinale, a seguir, o algoritmo de ordenação que, 
no pior caso, tem complexidade igual a O(n log n). 
Quick Sort- Merge Sort- Bubbe Sort- Insertion Sort- Selection Sort
 
31) Sobre o método da bolha é correto afirmar que: 
a) O algoritmo executa sempre no mesmo tempo para instâncias 
de mesmo tamanho n. 
b) O tempo de execução pode ser linear em relação ao tamanho 
da entrada se a instância apresentada estiver ordenada em 
ordem reversa a desejada. 
c) O tempo de execução é definido pela complexidade 
computacional sempre, independentemente da instância 
apresentada. 
d) A complexidade computacional deste algoritmo é O (n log n). 
e) O tempo de execução pode ser linear em relação ao tamanho 
da entrada se a instância apresentada já estiver ordenada. 
 
32) (UEAP/2014) Leia o seguinte trecho de código-fonte 
escrito em Java. 
 
O algoritmo de ordenação implementado nesse trecho de 
código-fonte é o: Heap Sort- Bubble Sort – Quick Sort – Merge 
Sort – May Sort
 
33) Comparando o Merge Sort com o Método da bolha, podemos 
afirmar que: 
a) O merge sort sempre executará mais rápido que o bubble 
sort, uma vez que sua complexidade é O(n log n) e a do 
bubble sort O(n2). 
b) Ambos têm complexidade comparável, assim, não é possível 
afirmar qual irá executar em melhor tempo. 
c) O merge sort tem complexidade computacional inferior ao 
bubble sort, porém o merge sort sempre executa em um 
tempo proporcional a n log n, enquanto o bubble sort pode 
executar em tempo linear em algumas instâncias (melhores 
casos). 
d) O bubble sort sempre irá executar mais rápido que o merge 
sort por ter complexidade computacional inferior ao merge 
sort. 
e) O merge sort, por ser instável, sempre executará em tempo 
superior ao bubble sort. 
 
34) (FUMARC/2014 - Adaptada) Considere uma estrutura de 
dados do tipo vetor de tamanho 6 (seis) inicializado com as 
chaves: V: [79-82-68-69-78-65] 
Analise a ilustração dos passos intermediários de um método de 
ordenação das chaves do vetor: 
 
O método de ordenação 
apresentado é: 
 
a) Ordenação por inserção 
b) Ordenação por seleção 
c) Quicksort 
d) Shellsort 
e) Mestrellasort 
 
35) Geralmente em algumas situações é necessário fazer a 
desalocação do espaço utilizado na memória. Porém, isso 
depende de como a reserva de uma quantidade de espaço 
de memória é feita, pois em alguns casos, o próprio 
compilador faz a desalocação. Quando o compilador não faz 
esta desalocação a memória foi reservada utilizando______. 
a) Declaração de função 
b) Alocação dinâmica de memória x 
c) Declaração de matriz 
d) Alocação estática de memória 
e) Declaração de vetor 
 
36) Qual a importância de se entender a "ordenação" de dados? 
a) A ordenação é a base na qual, muitos sistemas são 
construídos. Entendendo a ordenação, tem-se conhecimento 
para manter outros problemas. 
b) A ordenação é a base na qual, muitos programas são 
construídos. Entendendo a ordenação, tem-se conhecimento 
para manter outros problemas. 
c) A ordenação é a base na qual, muitos sistemas são 
construídos. Entendendo a ordenação, tem-se conhecimento 
para resolver outros problemas. 
d) A ordenação é a base na qual, muitos algoritmos são 
construídos. Entendendo a ordenação, tem-se conhecimento 
para manter outros problemas. 
e) A ordenação é a base na qual, muitos algoritmos são 
construídos. Entendendo a ordenação, tem-se conhecimento 
para resolver outros problemas. X 
 
37) A técnica LIFO (last in first out), utilizada em programação 
estruturada, é fundamentada no conceito de: 
a) loop 
b) array 
c) pilha x 
d) fila 
e) ponteiro 
 
38) Um programador recebeu a tarefa de construir um programa 
que receba uma cadeia de caracteres e verificar se esta 
cadeia de caracteres é um PALÍNDROME, sabendo-se que 
um PALÍNDROME apresenta a mesma sequência de 
caracteres da esquerda pra direita, quanto da direita para 
esquerda, marque a opção que possui a estrutura de dados 
mais adequada a este programa. 
a) Grafos 
b) Pilha Sequencial x 
c) Árvores 
d) Lista Sequencial 
e) Fila Sequencial 
 
39) Marque a afirmativa correta para a "inserção incremental". 
a) Consiste em adicionar um valor no vetor, mantendo a ordem 
existente e ajustando o total de elementos. x 
b) É um tipo de sequenciação por intercalação. 
c) Os pivôs são escolhidos aleatoriamente. 
d) É um tipo de ordenação por intercalação 
e) A técnica é boa quando os dados ficam uniformemente 
distribuídos entre os seus compartimentos. 
 
40) Considere uma estrutura de dados do tipo vetor. Com 
respeito a tal estrutura, é correto que seus componentes são 
caracteristicamente: 
a) Heterogêneos e com acesso indexado-sequencial. 
b) Heterogêneos e com acesso FIFO. 
c) Homogêneos e de acesso aleatório por intermédio de índices. 
x 
d) Homogêneos e com acesso indexado-sequencial. 
e) Heterogêneos e com acesso LIFO 
 
41) Qual estrutura de dados não linear que é utilizada na 
implementação de Redes de Computadores, na Computação 
Gráfica, em modelagem de circuitos digitais etc. E que se 
caracteriza por apresentar um conjunto de nós e conexões 
entre eles. 
a) Vetores 
b) Pilhas Encadeadas 
c) Filas Encadeadas 
d) Grafos x 
e) Listas Encadeadas. 
 
42) Assinale a alternativa que apresenta duas formas de passagem 
de parâmetros para uma rotina ou função: 
a) Por inferência e por valor. 
b) Por valor e por referência x 
c) Por teste e por reforço. 
d) Por reforço e por referência. 
e) Por memória e por disco 
 
43) Com relação à struct, é correto afirmar que: 
a) Não é possível criar um vetor de structs, pois o vetor trabalha 
apenas com dados do mesmo tipo. 
b) Cada elemento da struct é denominado membro ou 
campo, sendo que a struct pode armazenar elementos 
de tipos diferentes ou não. x 
c) Cada elemento da struct é chamado campo e cada campo 
deve ser, obrigatoriamente, de um tipo de dados distinto de 
outro campo. 
d) A struct é sempre definida dentro da main. 
e) Cada elemento da struct é chamado componente. 
 
44) Um órgão público adotou dois sistemas de senhas para 
atender os cidadãos na ordem de chegada. O sistema Iatende 
os não idosos. O sistema II atende os idosos. Nessa situação: 
a) o sistema I, adota o esquema LIFO de organização de dados 
e o II, o esquema FIFO. 
b) tanto o sistema I, quanto o II, adotam o esquema FIFO de 
organização de dados. x 
c) o sistema I, adota o esquema LIFO de organização de dados 
e o II, o esquema LIFO. 
d) tanto o sistema I, quanto o II, adotam o esquema vetor de 
organização de dados. 
e) tanto o sistema I, quanto o II, adotam o esquema LIFO de 
organização de dados. 
 
45) Considere dados sendo manipulados em uma pilha sequencial 
em que as operações possíveis são: inserção - push(novo 
valor) ou remoção - pop().Se realizarmos a seguinte sequência 
de operações: 
push(A), push(B), push(C), pop(), pop(), push(D), pop(), pop(), pop() . 
Pode-se dizer que o interior da pilha apresenta-se: 
a) Com os dados A e B 
b) Vazio x 
c) Com os dados A e D 
d) Apenas com o dado D 
e) Apenas com o dado A 
 
46) Em uma aplicação que usa processos de alocação estática e 
dinâmica de memória é correto afirmar que: 
a) A memória utilizada pela aplicação é totalmente alocada após 
o início de sua execução 
b) Apenas a memória associada às variáveis do tipo vetor é 
alocada após o início da execução da aplicação 
c) Todas as afirmações acima são incorretas 
d) Toda a memória utilizada pela aplicação não muda durante 
toda a sua execução 
e) A memória utilizada pela aplicação é inicialmente estática, mas 
pode mudar x 
47) Com relação à lista duplamente encadeada, é correto afirmar 
que: 
a) Não pode ser vazia. 
b) Não pode haver remoções no meio da lista.c) A lista precisa ter sempre um ponteiro apontando para o 1º. 
nó 
d) A lista pode ser percorrida com igual facilidade para a direita 
ou para a esquerda, pois existem dois ponteiros. x 
e) Consome menos memória do que uma lista simplesmente 
encadeada, se tivermos uma mesma aplicação 
 
48) Diferentes tipos de estrutura de dados são adequados a 
diferentes tipos de aplicação e algumas são altamente 
especializadas, destinando-se a algumas tarefas específicas. 
Dessa forma a definição de Estrutura de Dados está expressa 
na alternativa: 
a) É um modo de utilização de dados nos programas de 
computador. 
b) É um modo de distribuição e organização de dados em uma 
rede de computador de modo que possam ser usados de 
modo eficiente. x 
c) É um modo particular de armazenamento e organização de 
dados em um computador de modo que possam ser usados 
de modo eficiente. 
d) São os nomes dados as variáveis na montagem de uma rotina. 
e) É um modo de deleção de dados em um computador. 
 
49) Existem vários tipos de estruturas de dados do tipo dinâmicas, 
entretanto, uma estrutura considerada simples são as listas. 
Pode-se implementar vários tipos de listas, entretanto, a 
estrutura que apresenta o conceito de LIFO é: 
a) Ponteiro 
b) Struct 
c) Pilha x 
d) Matriz 
e) Fila 
 
50) Uma estrutura de dados em lista duplamente encadeada 
permite na cadeia movimentos para: 
a) Para cima e para baixo ou para frente e para trás. 
b) Para frente e para trás, apenas. x 
c) Para frente, apenas. 
d) Para cima e para baixo, apenas. 
e) Para trás, apenas. 
 
51) Qual das seguintes estruturas de dados é classificada como 
heterogênea? 
a) Loop 
b) Registro x 
c) Vetor 
d) Pilha 
e) Fila 
 
 
 
 
 
 
52) Para consultarmos uma estrutura de dados, normalmente, 
empregamos um tipo de pesquisa de dados. O trecho de 
programa a seguir refere-se a uma pesquisa por um 
elemento único (sua primeira ocorrência), em um conjunto 
de elementos de dados armazenado em uma estrutura de 
acesso indexado e aleatório. Selecione a opção 
correspondente ao algoritmo utilizado, no programa, para a 
referida pesquisa: 
 int busca(float v[], float valor, int n) { 
 int ini = 0, fim = n -1, meio; 
while (ini <= fim) { meio = (ini + fim)/2; 
if (v[meio] == valor) return meio; 
if (valor < v[meio]) fim = meio -1; 
else ini = meio+1; 
 } 
return -1; 
} 
a) pesquisa binária x 
b) pesquisa de cadeias 
c) pesquisa cadeias indexada 
d) pesquisa sequencial 
e) pesquisa indexada 
 
53) Uma fila duplamente terminada, isto é, uma estrutura linear 
que permite inserir e remover de ambos os extremos é 
chamada de: 
a) Autômato. 
b) Árvore. 
c) Shift-and. 
d) Boyer-Moore. 
e) Deque. X 
 
54) O almoxarifado de um órgão pediu ao técnico de informática 
que elaborasse um sistema de custeio que, para cada saída 
de material, considerasse o custo do mais recente que 
houvera dado entrada no almoxarifado. O técnico deve 
desenvolver um programa para tratar com uma estrutura de 
dados do tipo? 
a) FIFO 
b) TABLE 
c) RECORD 
d) LIFO x 
e) ARRAY 
 
 
 
 
 
 
 
 
 
55) Os registros também conhecidos como estruturas, são 
estruturas de dados do tipo heterogêneo, ou seja, permitem 
que valores de tipos diferentes possam ser armazenados em 
uma mesma estrutura. Analisando a estrutura abaixo, a mesma 
pode ser utilizada para qual tipo de estrutura de ordenação, 
marque a alternativa correta. 
struct nomeRegistro{ 
 int info; 
struct nomeRegistro* ant; 
 struct nomeRegistro* prox; 
 }; 
typedef struct nomeRegistro NOMEREGISTRO; 
 
a) Fila 
b) Matriz 
c) Pilha 
d) Lista duplamente encadeada x 
e) Lista encadeada

Mais conteúdos dessa disciplina