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