Você está na página 1de 532

BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_2012/02_AV1_201107064741 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201107064741 - ALESSANDRO SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 4,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 21/09/2012

a
1 Questão (Cód.: 27753) Pontos: 0,5 / 0,5

Podemos dizer que estrutura de dados é:

O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.

a
2 Questão (Cód.: 27934) Pontos: 0,5 / 0,5

Sobre o funcionamento da busca binária, é correto afirmar que dividindo seu vetor em duas metades.

Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.
Se o item for menor que o item que está na metade do vetor, procure na segunda metade, ou seja, a da
direita.
Se o item for maior que o item que está na metade do vetor procure na primeira metade, ou seja, a da
direita.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Se o item for menor que o item que está na metade do vetor, o item foi encontrado.

a
3 Questão (Cód.: 19660) Pontos: 0,5 / 0,5

Diferentes tipos de estrutura de dados são adequadas 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:

É um modo de deleção de dados em um computador.


É um modo de utilização de dados nos programas de computador.
É um modo particular de armazenamento e organização de dados em um computador de modo que possam
ser usados de modo eficiente.
São os nomes dados as variáveis na montagem de uma rotina.
É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser
usados de modo eficiente.

1 de 4 16/11/2012 16:17
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
4 Questão (Cód.: 27933) Pontos: 0,5 / 0,5

É correto afirmar sobre o funcionamento da busca sequencial.

Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no último índice do
meu vetor.
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no último índice do meu
vetor.
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no primeiro índice do
meu vetor.
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no meio do meu
vetor.
Os elementos são pesquisados aleatoriamente. Pior caso: o elemento está no último índice do meu vetor.

a
5 Questão (Cód.: 27648) Pontos: 0,0 / 1,0

Dado o seguinte código, escrito em C++, qual a saída do programa?

#include

using namespace std;

void func1 (float x) {

cout << "X: "<< x << endl;

x = 3.5;

cout << "X: "<< x << endl;

int main () {

float y=1.5;

cout << y << endl;

func1(y);

cout << y << endl;

return 0;

1.5 1.5
1.5 1.5 0
1.5 1.5 3.5 1.5
1.5 1.5 0
1.5 1.5 3.5 1.5 0

a
6 Questão (Cód.: 77785) Pontos: 1,0 / 1,0

É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado (chave)
com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com
sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca

2 de 4 16/11/2012 16:17
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a
busca continua na metade anterior do vetor.

A descrição apresentada trata-se do método denominado busca ......

randômica.
por contagem.
por comparação.
linear.
binária.

a
7 Questão (Cód.: 28035) Pontos: 1,0 / 1,0

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus
elementos o nome e a nota obtida pelo candidato. Deseja-se que este vetor seja ordenado pela nota, em ordem decrescente.
Sendo o vetor pequeno (poucos elementos), o programador responsável por desenvolver este algoritmo, escolheu um
método de ordenação que executa os seguintes passos:

Selecione candidato com maior nota entre todos e troque-o com o candidato que está na primeira posição do vetor;

Selecione o segundo maior e troque-o com o candidato que está na segunda posição;

Os passos descritos anteriormente são seguidos para a terceira nota, quarta nota e assim por diante até que reste
apenas um candidato.

O algoritmo utilizado pelo programador trata-se do método de ordenação denominado:

Bolha
Heapsort
Seleção
Inserção
Quicksort

a
8 Questão (Cód.: 27624) Pontos: 0,0 / 1,0

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?

TABLE
FIFO
RECORD
ARRAY
LIFO

a
9 Questão (Cód.: 94162) Pontos: 0,0 / 1,0

A implementação da pilha de chamadas e retorno de funções é um tópico muito importante. Além disso, estratégias
para o gerenciamento de outra área de memória chamada de heap são importantes para a comprensão de objetos
dinâmicos como ________________. Com base na afirmativa marque a opção correta para completá-la:

REPETIÇÕES
MATRIZES

3 de 4 16/11/2012 16:17
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

ESTRUTURAS
VETORES
CONDICIONAIS

a
10 Questão (Cód.: 31182) Pontos: 0,0 / 1,0

As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de forma a facilitar a
consulta de determinado elemento. Existem vários tipos de algoritmos para realizar a ordenação dos elementos,
onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. O
trecho de código abaixo descreve o algoritmo chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca
mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo

MergeSort
Bolha
QuickSort
Seleção
Inserção

4 de 4 16/11/2012 16:17
Fechar

Avaliação: CCT0174_AV1_201101233222 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201101233222 - ALINE MIRELLE SOUZA COSTA


Professor
ALEXANDRE SOARES ALVES Turma: 9002/AB
:
Nota da Prova: 4,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 19/09/2012

Questão (Cód.: 19684) Pontos: 1,0

Analise as seguintes afirmações: I. Na Passagem por Referência, o parâmetro que vai ser passado na chamada
da função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a
variável correspondente. II. Uma recursão consiste em uma função chamar ela mesma com argumentos sempre
do mesmo valor. III. Considerando-se o escopo das variáveis, é correto afirmar que uma variável é dita global
quando a sua passagem no momento da chamada de uma função se dá tanto por valor quanto por referência.
Uma variável é dita local quando esta passagem se dá apenas por valor. Indique a opção que contenha todas as
afirmações verdadeiras.

I e III.
II e III.
somente a alternativa I.
somente a alternativa e II.
I e II.

Questão (Cód.: 11223) Pontos: 0,0

As coleções de dados podem ser classificadas em estruturas lineares e estruturas não lineares. Nesse contexto,
é correto afirmar que

a lista é uma estrutura linear cuja implementação pode ser feita por meio de lista ligada em que as
estruturas são estáticas ou através de um array para permitir que as estruturas sejam ligadas
dinamicamente.
a fila de prioridade é uma versão especial da fila, uma estrutura não linear. Quando se retira um
elemento desta estrutura é selecionado aquele que tem maior prioridade, tendo portanto a ordenação do
tipo FIFO.
na tabela de Hash a chave é transformada num índice inteiro que é usado para acessar os dados. A
chave pode ser um string, desde que haja uma função que transforme essa chave num inteiro. É uma
estrutura linear.
tendo uma estrutura não linear, um array dinâmico é criado usando técnicas de alocação e gestão
dinâmica de memória. Pode ser redimensionado e é alocado durante o tempo de compilação.
na pilha, uma estrutura não linear, os elementos são colocados e retirados por um único lado da lista, ou
seja, pelo topo, que é alterado sempre que um elemento é adicionado ou retirado da pilha. É um tipo de
estrutura que tem a ordenação do tipo LILO.
3a Questão (Cód.: 31180) Pontos: 0,0 / 1,0

Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer
acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam
ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio
do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso
contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior
do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O
algoritmo que utiliza esta metodologia é:

Seleção
Bolha
Pesquisa sequencial
Pesquisa binária
Inserção

Questão (Cód.: 27591) Pontos: 0,5

O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?

inclusão
remoção
ordenação
overflow
underflow

Questão (Cód.: 27773) Pontos: 1,0

Ordene a coluna direita de acordo com a da esquerda, associando as características de implementação de


cada: (Podem existir mais de uma opção à direita para alguma da esquerda)

Indique a alternativa correta:

a-c-a-b-c-a
a-b-a-c-c-b
a-a-a-b-c-b
c-a-a-b-c-b
b-b-a-c-c-c
6a Questão (Cód.: 31182) Pontos: 0,0 / 1,0

As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de forma a
facilitar a consulta de determinado elemento. Existem vários tipos de algoritmos para realizar a ordenação dos
elementos, onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre
os elementos. O trecho de código abaixo descreve o algoritmo chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca
mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo

QuickSort
Seleção
MergeSort
Inserção
Bolha

Questão (Cód.: 19668) Pontos: 0,0

Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas


de dados Lineares e Não Lineares com suas respectivas coleções de dados.

correta associação entre os elementos das duas tabelas é:


a2, b1, c2, d1.
a1, b2, c1, d1.
a1, b1, c2, d2.
a2, b2, c1, d2.
a1, b1, c2, d1

Questão (Cód.: 19660) Pontos: 0,5

Diferentes tipos de estrutura de dados são adequadas 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:

É um modo particular de armazenamento e organização de dados em um computador de modo que


possam ser usados de modo eficiente.
É um modo de deleção de dados em um computador.
São os nomes dados as variáveis na montagem de uma rotina.
É um modo de utilização de dados nos programas de computador.
É um modo de distribuição e organização de dados em uma rede de computador de modo que possam
ser usados de modo eficiente.

Questão (Cód.: 19815) Pontos: 1,0

Observe o algorítmo a seguir, onde ocorre a passagem de parâmetro por valor e por
referência, respectivamente, deITALIA para FIAT e de FRANCA para HONDA.
Ao final do processamento, as variáveis ITALIA e FRANCA terão, respectivamente, os seguintes
valores:
97 e VERDADEIRO
25 e FALSO
85 e FALSO
85 e VERDADEIRO

97 e FALSO

a
Questão (Cód.: 19663) Pontos: 0,0

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

Por teste e por reforço.


Por valor e por referência
Por inferência e por valor.
Por reforço e por referência.
Por memória e por disco.
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_AV1_201107093228 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201107093228 - DENILSON PEREIRA DE MACEDO

Professor: ALEXANDRE SOARES ALVES Turma: 9001/AA

Nota da Prova: 3,0 de 8,0 Nota do Trabalho: Nota de Participação: 0,5 Data: 21/09/2012

a
1 Questão (Cód.: 27759) Pontos: 0,0 / 0,5

Podemos dizer que um container é:

O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
A saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.

a
2 Questão (Cód.: 28095) Pontos: 1,0 / 1,0

Ao remover um elemento armazenado em uma pilha é necessário a atualização da variável (Topo) indicadora de
posição. Qual das alternativas abaixo está correta?

Após a operação de remoção decrementa a variável indicadora de posição.


Antes a operação de remoção decrementa a variável indicadora de posição.
Antes da operação de remoção incrementa a variável indicadora de posição.
Após a operação de remoção incrementa a variável indicadora de posição.
Após a operação de remoção incrementa a variável indicadora de inicio.

a
3 Questão (Cód.: 27753) Pontos: 0,5 / 0,5

Podemos dizer que estrutura de dados é:

É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.

1 de 3 26/11/2012 13:12
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
4 Questão (Cód.: 27778) Pontos: 0,0 / 0,5

Em que aplicação se pode utilizar a "ordenação"?

Busca, Par mais próximo, Unicidade de elementos, Distribuição de ausência, Seleção e Casco conexo.
Busca, Par mais próximo, Unicidade de elementos, Distribuição de frequência, Seleção e Casco conexo.
Busca, Par mais próximo, Unicidade de elementos, Distribuição de ausência, Seleção e Casco convexo.
Busca, Par mais endógeno, Unicidade de elementos, Distribuição de frequência, Seleção e Casco convexo.
Busca, Par mais próximo, Unicidade de elementos, Distribuição de frequência, Seleção e Casco convexo.

a
5 Questão (Cód.: 27780) Pontos: 0,5 / 0,5

Marque a afirmativa correta para a "inserção incremental".

É um tipo de ordenação por intercalação


A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
É um tipo de sequenciação por intercalação.
Os pivôs são escolhidos aleatoriamente.

a
6 Questão (Cód.: 28107) Pontos: 0,0 / 1,0

Tanto a operação TOP (acessa topo), quanto à operação POP (remover), permite acessar o último elemento
armazenado em uma Pilha. Quanto à diferença entre ambas as operações em relação ao estado da Pilha é correto
afirmar:

A operação TOP remove um elemento e altera o estado da Pilha


Nenhuma das operações altera o estado da Pilha
Somente a operação POP altera o estado da Pilha
Ambas alteram o estado da Pilha
Somente a operação TOP altera o estado da Pilha

a
7 Questão (Cód.: 27980) Pontos: 1,0 / 1,0

Suponha uma listagem, contendo número de inscrição e pontuação (ordenada pelo número de inscrição) dos
candidatos para o cargo de Analista de Sistemas de uma grande empresa pública. São 1024 candidatos inscritos e o
sistema implementado para consulta do resultado, permite busca binária ou busca sequencial pelo número de
inscrição. O número máximo de comparações executadas se fosse utilizada a busca binária e se fosse utilizada
busca sequencial, respectivamente, seria de:

1024 e 512
9e9
512 e 1024
9 e 10
10 e 10

a
8 Questão (Cód.: 28135) Pontos: 0,0 / 1,0

Analisando o trecho do algoritmo abaixo,

2 de 3 26/11/2012 13:12
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

pode-se afirmar que se trata de uma operação de: Se topo < Maximo Então início Topo <- Topo + 1 Pilha[Topo] <-
Valor Sucesso <- verdadeiro Fim

Remoção de um elemento de uma estrutura FIFO


Exibição de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura FIFO
Remoção de um elemento de uma estrutura LIFO

a
9 Questão (Cód.: 30946) Pontos: 0,0 / 1,0

O registro de ativação de uma sub-rotina é o conjunto das informações que devem/precisam ser alocadas em
memória. Assinale abaixo a única opção que representa a composição destas informações.

( ) endereço de retorno / variáveis locais / parâmetros passados


( ) parâmetros passados / endereço inicial / endereço de retorno
( ) endereço de retorno / valor de retorno / endereço de ponteiro
( ) variáveis locais / valor de retorno / endereço de ponteiro
( ) endereço de ponteiro / variáveis locais / endereço inicial

a
10 Questão (Cód.: 94162) Pontos: 0,0 / 1,0

A implementação da pilha de chamadas e retorno de funções é um tópico muito importante. Além disso, estratégias
para o gerenciamento de outra área de memória chamada de heap são importantes para a comprensão de objetos
dinâmicos como ________________. Com base na afirmativa marque a opção correta para completá-la:

REPETIÇÕES
ESTRUTURAS
MATRIZES
VETORES
CONDICIONAIS

3 de 3 26/11/2012 13:12
Estácio http://bquestoes.estacio.br/entrada.asp?p0=143486640&p1=20110702...

Avaliação: CCT0174_2012/02_AV1_201107023904 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201107023904 - DULCIENE DA SILVA MARQUES

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 5,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 19/09/2012

a
1 Questão (Cód.: 28113) Pontos: 0,5 / 0,5

As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um espaço na
memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a declaração
desta forma estamos declarando uma variável do tipo:

Constante
Inteiro
Global
Local
Real

a
2 Questão (Cód.: 11223) Pontos: 0,0 / 1,0

As coleções de dados podem ser classificadas em estruturas lineares e estruturas não lineares. Nesse contexto, é
correto afirmar que

a lista é uma estrutura linear cuja implementação pode ser feita por meio de lista ligada em que as
estruturas são estáticas ou através de um array para permitir que as estruturas sejam ligadas
dinamicamente.
na pilha, uma estrutura não linear, os elementos são colocados e retirados por um único lado da lista, ou
seja, pelo topo, que é alterado sempre que um elemento é adicionado ou retirado da pilha. É um tipo de
estrutura que tem a ordenação do tipo LILO.
a fila de prioridade é uma versão especial da fila, uma estrutura não linear. Quando se retira um elemento
desta estrutura é selecionado aquele que tem maior prioridade, tendo portanto a ordenação do tipo FIFO.
na tabela de Hash a chave é transformada num índice inteiro que é usado para acessar os dados. A chave
pode ser um string, desde que haja uma função que transforme essa chave num inteiro. É uma estrutura
linear.
tendo uma estrutura não linear, um array dinâmico é criado usando técnicas de alocação e gestão dinâmica
de memória. Pode ser redimensionado e é alocado durante o tempo de compilação.

a
3 Questão (Cód.: 27753) Pontos: 0,5 / 0,5

Podemos dizer que estrutura de dados é:

A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma

1 de 1 16/11/2012 16:09
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_2012/02_AV1_201107101301 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201107101301 - EVANDRO FERREIRA DA SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 3,5 de 8,0 Nota do Trabalho: Nota de Participação: 0,5 Data: 22/09/2012

a
1 Questão (Cód.: 27753) Pontos: 0,5 / 0,5

Podemos dizer que estrutura de dados é:

O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.

a
2 Questão (Cód.: 28113) Pontos: 0,5 / 0,5

As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um espaço na
memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a declaração
desta forma estamos declarando uma variável do tipo:

Local
Constante
Global
Inteiro
Real

a
3 Questão (Cód.: 27582) Pontos: 0,0 / 0,5

Considere:

I - Os algoritmos de busca binária e de busca seqüencial executam processamento repetitivo.

II - Os algoritmos de busca binária e de busca seqüencial utilizam a técnica de recursão.

III - A busca seqüencial executa cada fase de repetição na forma de uma subtarefa da fase anterior.

IV - A busca binária trabalha com uma forma circular de repetição. Está correto o que consta em:

(D) I, II, III e IV.


(E) I e IV, apenas.
(A) I, apenas.
(C) I e II, apenas.

1 de 4 16/11/2012 15:49
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

(B) II, apenas.

a
4 Questão (Cód.: 28143) Pontos: 0,5 / 0,5

Os algoritmos de busca são muito utilizados em estrutura de dados. Sendo assim, o algoritmo que realiza a busca
em vetores e que exige acesso aleatório aos elementos do mesmo e que parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca comparando o elemento que se deseja com o elemento
do meio do vetor, é chamado de:

Pesquisa binária
Tabela Hash
Pesquisa sequêncial
Pesquisa de seleção
Pesquisa ordenada

a
5 Questão (Cód.: 27773) Pontos: 0,0 / 1,0

Ordene a coluna direita de acordo com a da esquerda, associando as características de implementação de


cada: (Podem existir mais de uma opção à direita para alguma da esquerda)

Indique a alternativa correta:

a-b-a-c-c-b
a-a-a-b-c-b
b-b-a-c-c-c
a-c-a-b-c-a
c-a-a-b-c-b

a
6 Questão (Cód.: 19684) Pontos: 0,0 / 1,0

Analise as seguintes afirmações: I. Na Passagem por Referência, o parâmetro que vai ser passado na chamada da
função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a variável
correspondente. II. Uma recursão consiste em uma função chamar ela mesma com argumentos sempre do mesmo
valor. III. Considerando-se o escopo das variáveis, é correto afirmar que uma variável é dita global quando a sua
passagem no momento da chamada de uma função se dá tanto por valor quanto por referência. Uma variável é dita
local quando esta passagem se dá apenas por valor. Indique a opção que contenha todas as afirmações
verdadeiras.

somente a alternativa I.
II e III.
I e III.
I e II.
somente a alternativa e II.

2 de 4 16/11/2012 15:49
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
7 Questão (Cód.: 28135) Pontos: 0,0 / 1,0

Analisando o trecho do algoritmo abaixo,

pode-se afirmar que se trata de uma operação de: Se topo < Maximo Então início Topo <- Topo + 1 Pilha[Topo] <-
Valor Sucesso <- verdadeiro Fim

Exibição de um elemento em uma estrutura LIFO


Inserção de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura FIFO
Remoção de um elemento de uma estrutura LIFO
Remoção de um elemento de uma estrutura FIFO

a
8 Questão (Cód.: 28034) Pontos: 1,0 / 1,0

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de
seus elementos o número de inscrição, o nome e a nota obtida pelo candidato. Este vetor está ordenado pelo
número de inscrição. Para realização de uma consulta que, dado um número de inscrição, apresenta o nome e nota
do candidato, um programador utilizou um algoritmo de busca que realiza sucessivas divisões no vetor,
comparando o número de inscrição procurado com o número de inscrição do candidato posicionado no meio do
vetor. Se o candidato posicionado do meio do vetor tiver o número de inscrição igual ao número de inscrição
procurado, a busca termina com sucesso. Caso contrário, se candidato posicionado do meio do vetor tiver número
de inscrição menor que o procurado, então a busca continua na metade posterior do vetor. E finalmente, se
candidato posicionado do meio do vetor tiver número de inscrição maior que o procurado, a busca continua na
metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método denominado busca:

randômica.
por comparação.
por contagem.
linear.
binária.

a
9 Questão (Cód.: 31184) Pontos: 0,0 / 1,0

Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação deve
rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta que cita o
algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre os elementos
que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido entre os ordenados
movendo-se os elementos maiores que ele uma posição para a direita e posteriormente inserindo-o na posição
vaga".

Seleção
MergeSort
Inserção
QuickSort

3 de 4 16/11/2012 15:49
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Bolha

a
10 Questão (Cód.: 30945) Pontos: 1,0 / 1,0

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;

pesquisa binária
pesquisa indexada
pesquisa cadeias indexada
pesquisa de cadeias
pesquisa sequencial

4 de 4 16/11/2012 15:49
Pontos: 0,5
1a Questão (Cód.: 27759)
/ 0,5
Podemos dizer que um container é:

O que permite o armazenamento e a recuperação de dados independentemente de seu


conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída
previamente determinada.
A saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se
calcular uma solução do problema.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as
modificações.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se
calcular uma solução do problema.

Pontos: 0,0
2a Questão (Cód.: 11223)
/ 1,0
As coleções de dados podem ser classificadas em estruturas lineares e estruturas não lineares. Nesse
contexto, é correto afirmar que

a lista é uma estrutura linear cuja implementação pode ser feita por meio de lista ligada em
que as estruturas são estáticas ou através de um array para permitir que as estruturas sejam
ligadas dinamicamente.
a fila de prioridade é uma versão especial da fila, uma estrutura não linear. Quando se retira
um elemento desta estrutura é selecionado aquele que tem maior prioridade, tendo portanto a
ordenação do tipo FIFO.
na pilha, uma estrutura não linear, os elementos são colocados e retirados por um único lado
da lista, ou seja, pelo topo, que é alterado sempre que um elemento é adicionado ou retirado
da pilha. É um tipo de estrutura que tem a ordenação do tipo LILO.
tendo uma estrutura não linear, um array dinâmico é criado usando técnicas de alocação e
gestão dinâmica de memória. Pode ser redimensionado e é alocado durante o tempo de
compilação.
na tabela de Hash a chave é transformada num índice inteiro que é usado para acessar os
dados. A chave pode ser um string, desde que haja uma função que transforme essa chave
num inteiro. É uma estrutura linear.

Pontos: 0,0
3a Questão (Cód.: 27971)
/ 0,5
Com relação as listas lineares sequenciais:

I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array.
II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice.

III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.

Apenas as afirmações I e II estão corretas.


Apenas a afirmação I está correta.
Apenas as afirmações II está corretas.
Apenas as afirmações II e III estão corretas.
Apenas as afirmações I e III estão corretas.

Pontos: 0,5
4a Questão (Cód.: 27787)
/ 0,5
Marque a afirmativa correta para a "Busca ou pesquisa binária".

Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de


elementos.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de
elementos.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio
e verificando se o dado está no meio ou, antes do meio ou depois do meio.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou
decrescente.

Pontos: 1,0
5a Questão (Cód.: 28148)
/ 1,0
A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder
armazenar valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis
locais e globais. Sendo assim, qual das situações abaixo representa melhor o conceito das variáveis
globais.

Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser
apresentado em qualquer outra função do programa.
Em uma função "resul" tem-se uma variável ali declarada por 'T' que recebe o valor inteiro 5.
Ao tentar chamar esta variável em outra função é mencionado um warning.
Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor
poderemos imprimir esta variável em qualquer outra função do programa mostrando o valor
atribuído na função "mostra".
Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta
variável em outra função, onde tambem está declarada a variável 'Y', será acusado um erro de
compilação.
Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome
apresentando o mesmo valor.

Pontos: 0,0
6a Questão (Cód.: 28126)
/ 1,0
As funções em programação permitem que se possa realizar a modularização do código diminuindo
assim sua complexidade. Analise a função abaixo e assinale alternativa que descreve corretamente o
tipo de função:
int funcao (int x){
if(x == 0)
return 0;
else
funcao(x-1);
}

Condicional de seleção
Passagem por referência
Recursiva
Sequencial
Igual a zero

Pontos: 0,0
7a Questão (Cód.: 95244)
/ 1,0
Sobre estrutura de dados, identifique o que está correto afirmar.

I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são
colocados e retirados por um único lado e são ordenados pelo princípio LIFO (last in first out).
Assim, sempre que um elemento é adicionado ou retirado seu topo é alterado.

II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na
recursividade e pelos compiladores, na passagem de parâmetros para as funções.

III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de
diferentes tipos.

IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme
o elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente.
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são
ordenados pelo princípio LIFO (last in first out).

II, III, IV e V.
I, III e V.
I, III, IV e V.
II, IV e V.
I, II e III.

Pontos: 0,5
8a Questão (Cód.: 27753)
/ 0,5
Podemos dizer que estrutura de dados é:

É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se
calcular uma solução do problema.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se
calcular uma solução do problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída
previamente determinada.
O que permite o armazenamento e a recuperação de dados independentemente de seu
conteúdo.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as
modificações.

Pontos: 0,0
9a Questão (Cód.: 31184)
/ 1,0
Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de
ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a
alternativa correta que cita o algoritmo cuja descrição é: "considera cada elemento uma vez
inserindo-o em seu lugar correto entre os elementos que já estão em ordem". E o seu passo a passo
pode ser descrito como: "o elemento é inserido entre os ordenados movendo-se os elementos
maiores que ele uma posição para a direita e posteriormente inserindo-o na posição vaga".

Seleção
Inserção
QuickSort
MergeSort
Bolha
Pontos: 0,0
10a Questão (Cód.: 30945)
/ 1,0
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;

pesquisa de cadeias
pesquisa sequencial
pesquisa binária
pesquisa cadeias indexada
pesquisa indexada
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_2012/02_AV1_201107101311 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201107101311 - JOSE WILSON FARIA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 6,0 de 8,0 Nota do Trabalho: Nota de Participação: 0,5 Data: 21/09/2012

a
1 Questão (Cód.: 27759) Pontos: 0,5 / 0,5

Podemos dizer que um container é:

O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.


A saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.

a
2 Questão (Cód.: 27978) Pontos: 0,0 / 0,5

O método de ordenação que compara pares de chaves de ordenação, trocando os elementos correspondentes caso
estejam fora de ordem é o método:

Heapsort
inserção
seleção
bolha
QuickSort

a
3 Questão (Cód.: 27971) Pontos: 0,0 / 0,5

Com relação as listas lineares sequenciais:

I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array.

II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice.

III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.

Apenas as afirmações I e III estão corretas.


Apenas as afirmações I e II estão corretas.
Apenas as afirmações II e III estão corretas.
Apenas a afirmação I está correta.
Apenas as afirmações II está corretas.

1 de 4 16/11/2012 16:26
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
4 Questão (Cód.: 27787) Pontos: 0,5 / 0,5

Marque a afirmativa correta para a "Busca ou pesquisa binária".

Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando
se o dado está no meio ou, antes do meio ou depois do meio.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando
se o dado está no meio ou, antes do meio ou depois do meio.

a
5 Questão (Cód.: 28126) Pontos: 0,0 / 1,0

As funções em programação permitem que se possa realizar a modularização do código diminuindo assim sua
complexidade. Analise a função abaixo e assinale alternativa que descreve corretamente o tipo de função:
int funcao (int x){
if(x == 0)
return 0;
else
funcao(x-1);
}

Igual a zero
Recursiva
Sequencial
Condicional de seleção
Passagem por referência

a
6 Questão (Cód.: 27980) Pontos: 1,0 / 1,0

Suponha uma listagem, contendo número de inscrição e pontuação (ordenada pelo número de inscrição) dos
candidatos para o cargo de Analista de Sistemas de uma grande empresa pública. São 1024 candidatos inscritos e o
sistema implementado para consulta do resultado, permite busca binária ou busca sequencial pelo número de
inscrição. O número máximo de comparações executadas se fosse utilizada a busca binária e se fosse utilizada
busca sequencial, respectivamente, seria de:

9 e 10
1024 e 512
512 e 1024
10 e 10
9e9

a
7 Questão (Cód.: 28035) Pontos: 1,0 / 1,0

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus
elementos o nome e a nota obtida pelo candidato. Deseja-se que este vetor seja ordenado pela nota, em ordem decrescente.
Sendo o vetor pequeno (poucos elementos), o programador responsável por desenvolver este algoritmo, escolheu um
método de ordenação que executa os seguintes passos:

Selecione candidato com maior nota entre todos e troque-o com o candidato que está na primeira posição do vetor;

Selecione o segundo maior e troque-o com o candidato que está na segunda posição;

2 de 4 16/11/2012 16:26
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Os passos descritos anteriormente são seguidos para a terceira nota, quarta nota e assim por diante até que reste
apenas um candidato.

O algoritmo utilizado pelo programador trata-se do método de ordenação denominado:

Heapsort
Quicksort
Seleção
Bolha
Inserção

a
8 Questão (Cód.: 31184) Pontos: 1,0 / 1,0

Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação deve
rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta que cita o
algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre os elementos
que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido entre os ordenados
movendo-se os elementos maiores que ele uma posição para a direita e posteriormente inserindo-o na posição
vaga".

MergeSort
Seleção
QuickSort
Bolha
Inserção

a
9 Questão (Cód.: 28148) Pontos: 1,0 / 1,0

A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder armazenar
valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis locais e globais. Sendo
assim, qual das situações abaixo representa melhor o conceito das variáveis globais.

Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado em
qualquer outra função do programa.
Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome apresentando o
mesmo valor.
Em uma função "resul" tem-se uma variável ali declarada por 'T' que recebe o valor inteiro 5. Ao tentar
chamar esta variável em outra função é mencionado um warning.
Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor poderemos
imprimir esta variável em qualquer outra função do programa mostrando o valor atribuído na função
"mostra".
Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta variável em
outra função, onde tambem está declarada a variável 'Y', será acusado um erro de compilação.

a
10 Questão (Cód.: 30945) Pontos: 1,0 / 1,0

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) {

3 de 4 16/11/2012 16:26
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

meio = (ini + fim)/2;

if (v[meio] == valor) return meio;

if (valor < v[meio]) fim = meio -1;

else ini = meio+1;

return -1;

pesquisa de cadeias
pesquisa binária
pesquisa cadeias indexada
pesquisa indexada
pesquisa sequencial

4 de 4 16/11/2012 16:26
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_2012/02_AV1_201107023891 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201107023891 - EMANUEL PHILLIP PRUDENCIO DA SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 3,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 20/09/2012

a
1 Questão (Cód.: 27978) Pontos: 0,5 / 0,5

O método de ordenação que compara pares de chaves de ordenação, trocando os elementos correspondentes caso
estejam fora de ordem é o método:

seleção
bolha
QuickSort
inserção
Heapsort

a
2 Questão (Cód.: 27760) Pontos: 0,0 / 0,5

Estão entre algumas das possíveis formas de se estruturar dados:

Algoritmos, lista ordenada, vetores.


Lista encadeada, vetores, algoritmos.
Grafos, lista ordenada, vetores.
Grafos, lista ordenada, algoritmos.
Grafos, algoritmos, fila.

a
3 Questão (Cód.: 27582) Pontos: 0,0 / 0,5

Considere:

I - Os algoritmos de busca binária e de busca seqüencial executam processamento repetitivo.

II - Os algoritmos de busca binária e de busca seqüencial utilizam a técnica de recursão.

III - A busca seqüencial executa cada fase de repetição na forma de uma subtarefa da fase anterior.

IV - A busca binária trabalha com uma forma circular de repetição. Está correto o que consta em:

(A) I, apenas.
(C) I e II, apenas.
(E) I e IV, apenas.
(B) II, apenas.
(D) I, II, III e IV.

1 de 4 29/10/2012 09:14
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
4 Questão (Cód.: 28143) Pontos: 0,5 / 0,5

Os algoritmos de busca são muito utilizados em estrutura de dados. Sendo assim, o algoritmo que realiza a busca
em vetores e que exige acesso aleatório aos elementos do mesmo e que parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca comparando o elemento que se deseja com o elemento
do meio do vetor, é chamado de:

Pesquisa sequêncial
Pesquisa binária
Pesquisa de seleção
Tabela Hash
Pesquisa ordenada

a
5 Questão (Cód.: 27773) Pontos: 1,0 / 1,0

Ordene a coluna direita de acordo com a da esquerda, associando as características de implementação de


cada: (Podem existir mais de uma opção à direita para alguma da esquerda)

Indique a alternativa correta:

c-a-a-b-c-b
a-c-a-b-c-a
a-b-a-c-c-b
a-a-a-b-c-b
b-b-a-c-c-c

a
6 Questão (Cód.: 28034) Pontos: 1,0 / 1,0

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de
seus elementos o número de inscrição, o nome e a nota obtida pelo candidato. Este vetor está ordenado pelo
número de inscrição. Para realização de uma consulta que, dado um número de inscrição, apresenta o nome e nota
do candidato, um programador utilizou um algoritmo de busca que realiza sucessivas divisões no vetor,
comparando o número de inscrição procurado com o número de inscrição do candidato posicionado no meio do
vetor. Se o candidato posicionado do meio do vetor tiver o número de inscrição igual ao número de inscrição
procurado, a busca termina com sucesso. Caso contrário, se candidato posicionado do meio do vetor tiver número
de inscrição menor que o procurado, então a busca continua na metade posterior do vetor. E finalmente, se
candidato posicionado do meio do vetor tiver número de inscrição maior que o procurado, a busca continua na
metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método denominado busca:

linear.
randômica.
binária.
por comparação.
por contagem.

2 de 4 29/10/2012 09:14
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
7 Questão (Cód.: 19684) Pontos: 0,0 / 1,0

Analise as seguintes afirmações: I. Na Passagem por Referência, o parâmetro que vai ser passado na chamada da
função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a variável
correspondente. II. Uma recursão consiste em uma função chamar ela mesma com argumentos sempre do mesmo
valor. III. Considerando-se o escopo das variáveis, é correto afirmar que uma variável é dita global quando a sua
passagem no momento da chamada de uma função se dá tanto por valor quanto por referência. Uma variável é dita
local quando esta passagem se dá apenas por valor. Indique a opção que contenha todas as afirmações
verdadeiras.

somente a alternativa e II.


I e II.
II e III.
somente a alternativa I.
I e III.

a
8 Questão (Cód.: 28128) Pontos: 0,0 / 1,0

Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação
posterior de itens de conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque
corretamente a alternativa que apresenta o código do método de seleção.

int ordena(float v[], float valor, int n) {


int ini = 0, fim = n-1, meio;
while (ini >= fim){
meio = ini/2;
if (v[meio] == valor)
return meio;
if (valor < v[meio])
fim = meio -1;
else
ini = meio+1;
}
int ordena(float v[], float valor, int n){
for (int i = 0; i < n; i++)
if (v[i] == valor)
return i;
return -1;
}
void ordena (int v[], int n){
int i, j, aux;
for (j = 1; j < n; j++)
for (i=j; i > 0 && v[i-1]> v[i]; i--){
aux = v[i-1];
v[i-1] = v[i];
v[i] = aux;
}
}
void ordena(int v[], int n){
int i, j, menor, aux;
for (j = 0; j < n-1; j++) {
for (i = j+1; i < n; i++) {
if (v[i] < v[j]) {
aux = v[j];
v[j] = v[i];
v[i] = aux;
}
}
}
}
int ordena(float v[], float valor, int n) {
int ini = 0, fim = n -1, meio;
while (ini <= fim){
meio = (ini + fim)/2;

3 de 4 29/10/2012 09:14
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

if (v[meio] == valor)
return meio;
if (valor < v[meio])
fim = meio -1;
else
ini = meio+1;
}
return -1;
}

a
9 Questão (Cód.: 94162) Pontos: 0,0 / 1,0

A implementação da pilha de chamadas e retorno de funções é um tópico muito importante. Além disso, estratégias
para o gerenciamento de outra área de memória chamada de heap são importantes para a comprensão de objetos
dinâmicos como ________________. Com base na afirmativa marque a opção correta para completá-la:

MATRIZES
REPETIÇÕES
CONDICIONAIS
VETORES
ESTRUTURAS

a
10 Questão (Cód.: 31182) Pontos: 0,0 / 1,0

As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de forma a facilitar a
consulta de determinado elemento. Existem vários tipos de algoritmos para realizar a ordenação dos elementos,
onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. O
trecho de código abaixo descreve o algoritmo chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca
mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo

MergeSort
Inserção
Seleção
Bolha
QuickSort

4 de 4 29/10/2012 09:14
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0260_AV1_201201069114 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201201069114 - RODRIGO MACHADO DA SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9001/AA

Nota da Prova: 0,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 17/09/2012

1 a Questão (Cód.: 28113) Pontos: 0,0 / 0,5

As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um
espaço na memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a
declaração desta forma estamos declarando uma variável do tipo:

Global
Real
Local
Constante
Inteiro

2 a Questão (Cód.: 28114) Pontos: 0,5 / 0,5

As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:

Função
Matriz
Registro
Vetor
Variável

3 a Questão (Cód.: 27582) Pontos: 0,0 / 0,5

Considere:

I - Os algoritmos de busca binária e de busca seqüencial executam processamento repetitivo.

II - Os algoritmos de busca binária e de busca seqüencial utilizam a técnica de recursão.

III - A busca seqüencial executa cada fase de repetição na forma de uma subtarefa da fase anterior.

IV - A busca binária trabalha com uma forma circular de repetição. Está correto o que consta em:

(C) I e II, apenas.


(B) II, apenas.
(A) I, apenas.
(E) I e IV, apenas.
(D) I, II, III e IV.

1 de 5 12/11/2012 09:18
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

4 a Questão (Cód.: 27602) Pontos: 0,0 / 0,5

Considere uma estrutura de dados do tipo vetor. Com respeito a tal estrutura, é correto que seus componentes
são caracteristicamente:

Homogêneos e com acesso indexado-sequencial.


Heterogêneos e com acesso FIFO.
Heterogêneos e com acesso indexado-sequencial.
Heterogêneos e com acesso LIFO.
Homogêneos e de acesso aleatório por intermédio de índices.

5 a Questão (Cód.: 27617) Pontos: 0,0 / 1,0

O seguinte trecho de programa abaixo representa qual tipo de estrutura de ordenação?

void ordenar(float v[], int n) // n é o no. de elementos em v

int i , // índice

aux, // auxiliar para troca

trocou = true,

fim = n - 1;

while (trocou)

trocou = false; // sinaliza que é falso que trocou

for (i = 0; i < fim; i++)

if (v[i] > v[i+1])

aux = v[i];

v[i] = v[i+1];

v[i+1] = aux;

// sinaliza que é verdadeiro que trocou

trocou = true;

} // fim if

} // fim for

fim--; // decrementa o fim

} // fim while

} // fim da função

Bublesort
Shellsort
Mergesort
Heapsort
Quicksort

2 de 5 12/11/2012 09:18
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

6 a Questão (Cód.: 28144) Pontos: 0,0 / 1,0

Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de
funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e
marque corretamente a alternativa que descreve as funcionalidades desta.

int funcao(float v[], float vl, int n)


{
for (int i = 0; i < n; i++)
if (v[i] == vl)
return i;
return -1;
}

Retorna -1 se o valor de n foi encontrado.


Retorna o valor de vl se o valor n foi encontrado.
Retorna -1 se o valor de vl estiver dentro de v.
Resulta em erro, se o valor de vl não estiver dentro de v.
Retorna a posição de v se o valor vl foi encontrado.

7 a Questão (Cód.: 95244) Pontos: 0,0 / 1,0

Sobre estrutura de dados, identifique o que está correto afirmar.

I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e
retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um
elemento é adicionado ou retirado seu topo é alterado.

II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e
pelos compiladores, na passagem de parâmetros para as funções.

III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos.

IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o
elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente.
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo
princípio LIFO (last in first out).

II, IV e V.
I, II e III.
II, III, IV e V.
I, III, IV e V.
I, III e V.

8 a Questão (Cód.: 31180) Pontos: 0,0 / 1,0

Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer
acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam
ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio
do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso
contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior
do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O
algoritmo que utiliza esta metodologia é:

Inserção
Seleção
Pesquisa binária
Bolha
Pesquisa sequencial

3 de 5 12/11/2012 09:18
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

9 a Questão (Cód.: 28128) Pontos: 0,0 / 1,0

Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação
posterior de itens de conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque
corretamente a alternativa que apresenta o código do método de seleção.

void ordena(int v[], int n){


int i, j, menor, aux;
for (j = 0; j < n-1; j++) {
for (i = j+1; i < n; i++) {
if (v[i] < v[j]) {
aux = v[j];
v[j] = v[i];
v[i] = aux;
}
}
}
}
int ordena(float v[], float valor, int n){
for (int i = 0; i < n; i++)
if (v[i] == valor)
return i;
return -1;
}
int ordena(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;
}
int ordena(float v[], float valor, int n) {
int ini = 0, fim = n-1, meio;
while (ini >= fim){
meio = ini/2;
if (v[meio] == valor)
return meio;
if (valor < v[meio])
fim = meio -1;
else
ini = meio+1;
}
void ordena (int v[], int n){
int i, j, aux;
for (j = 1; j < n; j++)
for (i=j; i > 0 && v[i-1]> v[i]; i--){
aux = v[i-1];
v[i-1] = v[i];
v[i] = aux;
}
}

10a Questão (Cód.: 31182) Pontos: 0,0 / 1,0

As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de forma a
facilitar a consulta de determinado elemento. Existem vários tipos de algoritmos para realizar a ordenação dos
elementos, onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre
os elementos. O trecho de código abaixo descreve o algoritmo chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca

4 de 5 12/11/2012 09:18
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo

Inserção
MergeSort
Seleção
QuickSort
Bolha

5 de 5 12/11/2012 09:18
Detalhes Fechar

Avaliação: CCT0260_2012/02_AV1_201201174082
Tipo de Avaliação: AV1
Aluno:
Professor: SERGIO DE OLIVEIRA SANTOS Turma: 9001/AA
Nota da Prova: 5,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 21/09/2012

1.) FUNÇÃO Pontos: 0,5 / 0,5


Assinale a opção certa.

Quando não se escreve o protótipo de uma função ...

A chamada da função poderá ser feita em qualquer hipótese.


O programa não funcionará de forma alguma.
A chamada da função não poderá ser feita em qualquer hipótese.
É preciso definir a função antes do programa principal.
A definição da função deverá ser escrita, obrigatoriamente, após o programa principal.

2.) INTRODUÇÃO Pontos: 0,5 / 0,5


Diferentes tipos de estrutura de dados são adequadas 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:

É um modo de utilização de dados nos programas de computador.


São os nomes dados as variáveis na montagem de uma rotina.
É um modo de distribuição e organização de dados em uma rede de computador de modo que
possam ser usados de modo eficiente.
É um modo particular de armazenamento e organização de dados em um computador de modo
que possam ser usados de modo eficiente.
É um modo de deleção de dados em um computador.

3.) UNIDADE 3: ORDENAÇÃO Pontos: 0,5 / 0,5


Marque a afirmativa correta para a "Ordenação em Listas Lineares Sequenciais".

Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio
e verificando se o dado está no meio ou, antes do meio ou depois do meio.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou
decrescente.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de
elementos.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de
elementos.

Pontos: 0,5 / 0,5


4.) UNIDADE 3: ORDENAÇÃO
Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada".

Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de


elementos.
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio
e verificando se o dado está no meio ou, antes do meio ou depois do meio.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou
decrescente.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de
elementos.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.

5.) UNIDADE 3: ORDENAÇÃO Pontos: 0,0 / 1,0


Qual a importância de se entender a "ordenação" de dados ?

A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-
se conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-
se conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação,
tem-se conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação,
tem-se conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação,
tem-se conhecimento para manter outros problemas.

6.) LISTAS Pontos: 1,0 / 1,0


Ao remover um elemento armazenado em uma pilha é necessário a atualização da variável (Topo)
indicadora de posição. Qual das alternativas abaixo está correta?

Antes da operação de remoção incrementa a variável indicadora de posição.


Antes a operação de remoção decrementa a variável indicadora de posição.
Após a operação de remoção decrementa a variável indicadora de posição.
Após a operação de remoção incrementa a variável indicadora de posição.
Após a operação de remoção incrementa a variável indicadora de inicio.

7.) UNIDADE 3: Pontos: 0,0 / 1,0


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?

ARRAY
LIFO
FIFO
RECORD
TABLE

8.) ESTRUTURA DE DADOS Pontos: 1,0 / 1,0


Sobre estrutura de dados, identifique o que está correto afirmar.

I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são
colocados e retirados por um único lado e são ordenados pelo princípio LIFO (last in first out).
Assim, sempre que um elemento é adicionado ou retirado seu topo é alterado.

II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na
recursividade e pelos compiladores, na passagem de parâmetros para as funções.

III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de
diferentes tipos.

IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme
o elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente.
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são
ordenados pelo princípio LIFO (last in first out).

I, III e V.
II, IV e V.
I, III, IV e V.
II, III, IV e V.
I, II e III.

9.) UNIDADE 2: FUNÇÕES Pontos: 0,0 / 1,0


O registro de ativação de uma sub-rotina é o conjunto das informações que devem/precisam ser
alocadas em memória. Assinale abaixo a única opção que representa a composição destas
informações.

( ) endereço de ponteiro / variáveis locais / endereço inicial


( ) endereço de retorno / valor de retorno / endereço de ponteiro
( ) variáveis locais / valor de retorno / endereço de ponteiro
( ) endereço de retorno / variáveis locais / parâmetros passados
( ) parâmetros passados / endereço inicial / endereço de retorno

10.) UNIDADE 3 Pontos: 1,0 / 1,0


Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e
requer acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do
vetor estejam ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado
com o elemento do meio do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o
desejado, a busca termina. Caso contrário, se o elemento do meio vier antes do elemento buscado,
então a busca continua na metade posterior do vetor. E se o elemento do meio vier depois da chave,
a busca continua na metade anterior do vetor. O algoritmo que utiliza esta metodologia é:

Bolha
Inserção
Pesquisa sequencial
Pesquisa binária
Seleção
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_AV2_201107064741 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: 201107064741 - ALESSANDRO SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 4,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 21/11/2012

a
1 Questão (Cód.: 58564) Pontos: 1,5 / 1,5

Como é a lógica do FIFO?

Resposta: ESTRUTURA LINEAR ONDE A INCLUSÃO É FEITA EM UMA ESTREMIDADE E A EXCLUSÃO EM OUTRA.

a
2 Questão (Cód.: 56270) Pontos: 0,0 / 1,5

Considere uma lista simplesmente encadeada não circular de inteiros e o tipo


struct no {
int dado;
struct no *link;
};
Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante.
Protótipo : no *inverter(no *ini); //ini aponta para o início da lista

Resposta:

a
3 Questão (Cód.: 27578) Pontos: 0,0 / 0,5

Diga, para o programa abaixo, qual a opção que melhor representa a saída em tela. (Considere que o programa
será compilado sem erros, e irá executar também sem problemas).

#include

using namespace std;

void FuncX( int x, int *y )

int tmp;

tmp = *y;

*y = x * 2;

1 de 4 26/11/2012 11:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

cout << " "<< v[i] <<" "<


x = tmp+1;

int main()

int a = 13, b = 10;

FuncX( a-3, &b );

cout<<"Valores: "<< a<<"\t"<< b<

system("pause");

Valores: 10, 20
Valores: 13, 20
Valores: 10, 10
Valores: 20, 10
Valores: 13, 10

a
4 Questão (Cód.: 27935) Pontos: 0,5 / 0,5

Sobre o funcionamento da busca binária, é incorreto afirmar que dividindo seu vetor em duas metades.

Se o item for menor ao item que está na primeira posição do vetor, o item não foi encontrado.
Se o item for menor que o item que está na metade do vetor, procure na primeira metade, ou seja, a da
esquerda.
Se o item for maior que o item que está na metade do vetor procure na segunda metade, ou seja, a da
direita.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.

a
5 Questão (Cód.: 19678) Pontos: 1,0 / 1,0

Uma lista ligada é uma estrutura que corresponde a uma sequência lógica de entradas ou nós. Cada nó armazena a
localização do próximo elemento na sequência, ou seja, de seu nó sucessor. Nessa estrutura,

para estabelecer a ligação entre um nó já pertencente a uma lista e um novo nó, basta fazer com que o
novo nó referencie no, campo next, o nó que anteriormente era referenciado pelo nó original, desde que
esse campo não tenha o valor nulo.
o armazenamento de uma lista requer uma área contígua de memória para permitir a otimização no
processamento de criação e remoção de nós da lista.
enquanto a entrada que determina o topo da lista é mantida em um nó descritor dessa lista, a entrada que
marca o fim da lista é mantida fora do descritor.
o armazenamento de uma lista não requer uma área contígua de memória. Como listas são estruturas
dinâmicas, normalmente são definidos procedimentos que permitem criar e remover nós na memória.
a existência de um ponteiro apontando para o 1º elemento e outro para o fim da lista permite que a
inserção ou deleção de dados de um nó que esteja no meio da lista seja rapidamente executada.

a
6 Questão (Cód.: 95248) Pontos: 0,0 / 0,5

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

2 de 4 26/11/2012 11:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Deque.
Boyer-Moore.
Autômato.
Árvore.
Shift-and.

a
7 Questão (Cód.: 28144) Pontos: 0,0 / 0,5

Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de funções
que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e marque
corretamente a alternativa que descreve as funcionalidades desta.

int funcao(float v[], float vl, int n)


{
for (int i = 0; i < n; i++)
if (v[i] == vl)
return i;
return -1;
}

Retorna -1 se o valor de n foi encontrado.


Retorna a posição de v se o valor vl foi encontrado.
Retorna -1 se o valor de vl estiver dentro de v.
Retorna o valor de vl se o valor n foi encontrado.
Resulta em erro, se o valor de vl não estiver dentro de v.

a
8 Questão (Cód.: 19663) Pontos: 1,0 / 1,0

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

Por reforço e por referência.


Por teste e por reforço.
Por memória e por disco.
Por inferência e por valor.
Por valor e por referência

a
9 Questão (Cód.: 27988) Pontos: 0,0 / 0,5

Considerando a estrutura de fila circular vista em sala, que define as seguintes operações com uma fila:

int enfileirar(int v[], int valor, int *fim) - insere um elemento na fila indicada por v.

int desenfileirar(int v[], int *inicio, int fim, float &valor) - remove um elemento da fila indicada por v.

Supondo que foram realizadas as seguintes operações numa fila circular (implementada em uma estrutura linear
sequencial) de números inteiros de tamanho 5, que inicialmente se encontrava vazia:

enfileirar (minhaFila[], 10, fim);

enfileirar (minhaFila[], 20, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 30, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

3 de 4 26/11/2012 11:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

enfileirar (minhaFila[], 40, fim);

enfileirar (minhaFila[], 50, fim);

enfileirar (minhaFila[], 60, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 70, fim);

Qual a posição, dentro da estrutura linear sequencial (vetor - que representa a fila), que se encontra o último
elemento inserido na fila?

4
7
6
5
1

a
10 Questão (Cód.: 28102) Pontos: 0,0 / 0,5

Analisando a seqüência do código abaixo, pode se afirmar que se trata da:

for (int i = topo-1; i>=0 ; i--)

cout << " "<< v[i] <<" "<

Exibição de todos os elementos armazenados em uma Pilha na ordem de entrada.


Exibição de todos os elementos armazenados em uma Pilha na ordem inversa da entrada.
Exibição de todos os elementos armazenados em uma Fila na ordem de entrada.
Exibição de todos os elementos armazenados em uma Fila na ordem decrescente.
Exibição de todos os elementos armazenados em uma Fila na ordem inversa da entrada.

4 de 4 26/11/2012 11:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
1 Questão (Cód.: 58564) Pontos: 0,0 / 1,5

Como é a lógica do FIFO?

Resposta: Lógica FIFO se determina em fila dinamica.

a
2 Questão (Cód.: 27759) Pontos: 0,0 / 1,0

Podemos dizer que um container é:

A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
A saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.

a
3 Questão (Cód.: 19673) Pontos: 0,0 / 1,0

Uma fila dupla que se trata de uma lista linear na qual os elementos podem ser inseridos ou removidos de qualquer
extremo denomina-se:

lista fechada
hashing
lista aberta
grafo
deque

a
4 Questão (Cód.: 27578) Pontos: 0,0 / 0,5

Diga, para o programa abaixo, qual a opção que melhor representa a saída em tela. (Considere que o programa
será compilado sem erros, e irá executar também sem problemas).

#include

using namespace std;

void FuncX( int x, int *y )

1 de 4 16/11/2012 16:04
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

void FuncX( int x, int *y )

int tmp;

tmp = *y;

*y = x * 2;

x = tmp+1;

int main()

int a = 13, b = 10;

FuncX( a-3, &b );

cout<<"Valores: "<< a<<"\t"<< b<

system("pause");

Valores: 20, 10
Valores: 13, 20
Valores: 13, 10
Valores: 10, 20
Valores: 10, 10

a
5 Questão (Cód.: 56276) Pontos: 0,0 / 1,5

Considere duas listas simplesmente encadeadas circulares e não vazias de inteiros e


o tipo
struct no {
int dado;
struct no *link;
};
Faça uma função para criar uma lista simplesmente encadeada não circular que seja
constituída pelos elementos comuns às duas listas passadas.
Protótipo : no *inter(no *x, no*y);

Resposta:

a
6 Questão (Cód.: 28136) Pontos: 0,5 / 0,5

Analisando a figura abaixo, marque a alternativa correta que apresenta o tipo de estrutura de dados utilizado.

2 de 4 16/11/2012 16:04
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Pilha
Struct
Fila
Matriz
Hash

a
7 Questão (Cód.: 27775) Pontos: 0,0 / 0,5

Qual a importância de se entender a "ordenação" de dados ?

A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.

a
8 Questão (Cód.: 28131) Pontos: 0,5 / 0,5

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através
da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em
posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar
os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.

Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.


Proteção de memória, transferência de dados, estruturas simples.
Acesso, representação, compartilhamento de memória.
Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.

a
9 Questão (Cód.: 28148) Pontos: 0,5 / 0,5

A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder armazenar
valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis locais e globais. Sendo
assim, qual das situações abaixo representa melhor o conceito das variáveis globais.

Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome apresentando o
mesmo valor.
Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta variável em
outra função, onde tambem está declarada a variável 'Y', será acusado um erro de compilação.
Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor poderemos
imprimir esta variável em qualquer outra função do programa mostrando o valor atribuído na função
"mostra".

3 de 4 16/11/2012 16:04
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

"mostra".
Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado em
qualquer outra função do programa.
Em uma função "resul" tem-se uma variável ali declarada por 'T' que recebe o valor inteiro 5. Ao tentar
chamar esta variável em outra função é mencionado um warning.

a
10 Questão (Cód.: 28104) Pontos: 0,5 / 0,5

Para a criação de uma Fila seqüencial basta iniciar as variáveis de início e final, ou seja, apontá-las para as posições
iniciais do vetor. O que alteraria na rotina de inserir se a variável final fosse inicializada com o valor -1 (menos
um):

Antes da inserção deve-se fazer o incremento da variável final


Antes da inserção deve-se fazer o decremento da variável final
Após a inserção deve-se fazer o decremento da variável final
Após a inserção deve-se fazer o incremento da variável inicio
Após a inserção deve-se fazer o incremento da variável final

4 de 4 16/11/2012 16:04
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_AV2_201107023904 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: 201107023904 - DULCIENE DA SILVA MARQUES

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 7,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 14/11/2012

a
1 Questão (Cód.: 58562) Pontos: 1,5 / 1,5

Qual a diferença entre pilha e fila?

Resposta: A pilha e a fila são dois casos especiais de lista. Na pilha, é usado o método LIFO, último a entrar
primeiro a sair, indicado em casos como o control Z, os dados são sempre inseridos e removidos do topo. Já na
Fila, o método é o FIFO, primeiro a entrar primeiro a sair, é a ideia de uma fila de atendimento, onde as pessoas
são atendidas por ordem de chegada.

a
2 Questão (Cód.: 51756) Pontos: 1,0 / 1,0

Com base nos principais elementos fornecidos pela biblioteca C++ padrão, marque a opção correta que resume
todos os elementos dessa biblioteca:

Listas, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade, mapas.


Iteradores, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade, mapas.
iteradores, vetores, listas, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade, mapas.
Vetores, listas, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade,
Iteradores, vetores, listas, pilhas, filas, deques e filas com prioridade, mapas.

a
3 Questão (Cód.: 19681) Pontos: 0,5 / 0,5

Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I
atende os não idosos. O sistema II atende os idosos. Nessa situação:

tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados.


tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados.
tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO.

a
4 Questão (Cód.: 27775) Pontos: 0,5 / 0,5

Qual a importância de se entender a "ordenação" de dados ?

A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.

1 de 4 16/11/2012 16:10
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.

a
5 Questão (Cód.: 56270) Pontos: 1,5 / 1,5

Considere uma lista simplesmente encadeada não circular de inteiros e o tipo


struct no {
int dado;
struct no *link;
};
Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante.
Protótipo : no *inverter(no *ini); //ini aponta para o início da lista

Resposta: no * inverter (no *ini){ int achou=0; do{ if(no->link == null){ return no; }else{ no=no->link }
while(achou=0) } }

a
6 Questão (Cód.: 27996) Pontos: 0,0 / 0,5

O que será impresso pelo trecho de código a seguir?

int main() {

int vet[5] = {80, 70 , 10, 50, 20};

int *ptr;

ptr = vet;

cout << *(ptr) << " ";

cout << *(ptr + 3);

return 0;

80 50
80 10
70 73
80 83
70 10

2 de 4 16/11/2012 16:10
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
7 Questão (Cód.: 28126) Pontos: 0,5 / 0,5

As funções em programação permitem que se possa realizar a modularização do código diminuindo assim sua
complexidade. Analise a função abaixo e assinale alternativa que descreve corretamente o tipo de função:
int funcao (int x){
if(x == 0)
return 0;
else
funcao(x-1);
}

Passagem por referência


Condicional de seleção
Sequencial
Recursiva
Igual a zero

a
8 Questão (Cód.: 27753) Pontos: 1,0 / 1,0

Podemos dizer que estrutura de dados é:

Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.

a
9 Questão (Cód.: 27988) Pontos: 0,5 / 0,5

Considerando a estrutura de fila circular vista em sala, que define as seguintes operações com uma fila:

int enfileirar(int v[], int valor, int *fim) - insere um elemento na fila indicada por v.

int desenfileirar(int v[], int *inicio, int fim, float &valor) - remove um elemento da fila indicada por v.

Supondo que foram realizadas as seguintes operações numa fila circular (implementada em uma estrutura linear
sequencial) de números inteiros de tamanho 5, que inicialmente se encontrava vazia:

enfileirar (minhaFila[], 10, fim);

enfileirar (minhaFila[], 20, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 30, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 40, fim);

enfileirar (minhaFila[], 50, fim);

enfileirar (minhaFila[], 60, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 70, fim);

Qual a posição, dentro da estrutura linear sequencial (vetor - que representa a fila), que se encontra o último
elemento inserido na fila?

3 de 4 16/11/2012 16:10
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

7
4
1
5
6

a
10 Questão (Cód.: 27963) Pontos: 0,5 / 0,5

O resultado de um concurso foi armazenado por um programador em um vetor, onde cada elemento (descrito pela
struct Candidato) possui a informação da matrícula e nota de cada candidato, conforme descrito a seguir.
Deseja-se que o vetor com os resultados fique ordenado em ordem decrescente pela nota. O programador pretende
usar o algoritmo de busca descrito a seguir, porém precisa de ajuda no trecho contendo ********.
Indique a opção que contém a solução que completa as linhas 1, 3 e 7 do algoritmo.

...
struct Candidato {
char mat[10];
float nota;
};
...

1.void ordenaSelecao (******** v[], int n) {


2. int i, j, maior;
3. ******** aux;
4. for (j = 0; j < n-1; j++) {
5. maior = j;
6. for (i = j+1; i < n; i++)
7. if (********)
8. maior = i;
9. aux = v[j];
10. v[j] = v[maior];
11. v[maior] = aux;
12. }
13.}

1. struct Candidato 3. struct Candidato 7. v[i].nota > v[maior].nota


1. struct Candidato 3. struct Candidato 7. v[i].nota < v[maior].nota
1. int 3. int 7. v[i] > v[maior]
1. int 3. int 7. v[i] < v[maior]
1. float 3. float 7. v[i] < v[maior]

4 de 4 16/11/2012 16:10
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_AV2_201107101298 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: 201107101298 - FERNANDO ROBERTO PARREIRAS

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 4,0 de 8,0 Nota do Trabalho: Nota de Participação: Data: 16/11/2012

a
1 Questão (Cód.: 58564) Pontos: / 1,5

Como é a lógica do FIFO?

Resposta: Se trata de uma estrutura firs in, firs out (primeiro a entrar será o primeiro a sair), inclusive no fórum
usei uma implementação de uma fila de táxi em um aeroporto. Essa estrutura é igual ao nosso dia a dia mesmo em
uma fila, ou seja, o primeiro que chega é o primeiro a ser atendido portanto o primeiro a sair.

a
2 Questão (Cód.: 56276) Pontos: / 1,5

Considere duas listas simplesmente encadeadas circulares e não vazias de inteiros e


o tipo
struct no {
int dado;
struct no *link;
};
Faça uma função para criar uma lista simplesmente encadeada não circular que seja
constituída pelos elementos comuns às duas listas passadas.
Protótipo : no *inter(no *x, no*y);

Resposta: Ponteiro é dificil viu. Abraço professor.

a
3 Questão (Cód.: 27760) Pontos: 1,0 / 1,0

Estão entre algumas das possíveis formas de se estruturar dados:

Grafos, lista ordenada, algoritmos.


Grafos, lista ordenada, vetores.
Lista encadeada, vetores, algoritmos.
Grafos, algoritmos, fila.
Algoritmos, lista ordenada, vetores.

1 de 4 16/11/2012 15:23
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

cout << " "<< v[i] <<" "<

a
4 Questão (Cód.: 27619) Pontos: 1,0 / 1,0

Em relação as estruturas de dados, aquela que corresponde ao armazenamento em uma lista linear com a posição
relativa (não contígua) na memória de dois nós consecutivos da lista é conhecida por alocação:

Estática.
Combinada.
Seqüencial.
Encadeada.
Binária.

a
5 Questão (Cód.: 19681) Pontos: 0,5 / 0,5

Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I
atende os não idosos. O sistema II atende os idosos. Nessa situação:

tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados.


o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO.
tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO.
tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados.

a
6 Questão (Cód.: 77785) Pontos: 0,5 / 0,5

É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado (chave)
com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com
sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca
continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a
busca continua na metade anterior do vetor.

A descrição apresentada trata-se do método denominado busca ......

por comparação.
binária.
linear.
randômica.
por contagem.

a
7 Questão (Cód.: 28104) Pontos: 0,5 / 0,5

Para a criação de uma Fila seqüencial basta iniciar as variáveis de início e final, ou seja, apontá-las para as posições
iniciais do vetor. O que alteraria na rotina de inserir se a variável final fosse inicializada com o valor -1 (menos
um):

Antes da inserção deve-se fazer o incremento da variável final


Antes da inserção deve-se fazer o decremento da variável final

2 de 4 16/11/2012 15:23
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Após a inserção deve-se fazer o decremento da variável final


Após a inserção deve-se fazer o incremento da variável final
Após a inserção deve-se fazer o incremento da variável inicio

a
8 Questão (Cód.: 27620) Pontos: 0,5 / 0,5

Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que
DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações:

ENQUEUE(1)

ENQUEUE(2)

DEQUEUE()

ENQUEUE(3)

ENQUEUE(4)

DEQUEUE()

DEQUEUE()

ENQUEUE(5)

Ao final da sequencia, a soma dos elementos de que (Q) será?

5
0
6
15
9

a
9 Questão (Cód.: 28147) Pontos: 0,0 / 0,5

Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam
ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar,
quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros
de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia
o endereço estamos ativando a função por meio de:

Passagem por valor.


Envio de inteiro.
Registro.
Ponteiros.
Envio de valor.

a
10 Questão (Cód.: 28102) Pontos: 0,0 / 0,5

Analisando a seqüência do código abaixo, pode se afirmar que se trata da:

for (int i = topo-1; i>=0 ; i--)

cout << " "<< v[i] <<" "<

3 de 4 16/11/2012 15:23
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Exibição de todos os elementos armazenados em uma Fila na ordem inversa da entrada.


Exibição de todos os elementos armazenados em uma Pilha na ordem inversa da entrada.
Exibição de todos os elementos armazenados em uma Pilha na ordem de entrada.
Exibição de todos os elementos armazenados em uma Fila na ordem de entrada.
Exibição de todos os elementos armazenados em uma Fila na ordem decrescente.

4 de 4 16/11/2012 15:23
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_AV2_201107101311 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: 201107101311 - JOSE WILSON FARIA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 3,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 19/11/2012

a
1 Questão (Cód.: 58562) Pontos: 1,5 / 1,5

Qual a diferença entre pilha e fila?

Resposta: PILHA exemplo: exemplo pilha de pratos empilhados o primeiro que entra é o primeiro que sai, voce
pode empilhar desempilhar saber qual elemento esta no topo, saber si a pilha esta cheia ou vazia é conhecido como
LIFO (ULTIMO QUE ENTRA É O PRIMEIRO QUE SAI). entra e sai pela mesma extremidade. FILA exemplo fila de um
banco: FIFO (primeiro que entra primeiro que sai), entra em uma extremidade e sai por outra, voce pode enfileirar
desenfileirar saber primeiro elemento que entrou, o ultimo elemento que entrou. si a fila esta cheia ou vazia.

a
2 Questão (Cód.: 56276) Pontos: 0,0 / 1,5

Considere duas listas simplesmente encadeadas circulares e não vazias de inteiros e


o tipo
struct no {
int dado;
struct no *link;
};
Faça uma função para criar uma lista simplesmente encadeada não circular que seja
constituída pelos elementos comuns às duas listas passadas.
Protótipo : no *inter(no *x, no*y);

Resposta: #include

a
3 Questão (Cód.: 27578) Pontos: 0,0 / 0,5

Diga, para o programa abaixo, qual a opção que melhor representa a saída em tela. (Considere que o programa
será compilado sem erros, e irá executar também sem problemas).

#include

using namespace std;

void FuncX( int x, int *y )

1 de 4 26/11/2012 11:53
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

int tmp;

tmp = *y;

*y = x * 2;

x = tmp+1;

int main()

int a = 13, b = 10;

FuncX( a-3, &b );

cout<<"Valores: "<< a<<"\t"<< b<

system("pause");

Valores: 20, 10
Valores: 10, 20
Valores: 13, 20
Valores: 10, 10
Valores: 13, 10

a
4 Questão (Cód.: 27935) Pontos: 0,0 / 0,5

Sobre o funcionamento da busca binária, é incorreto afirmar que dividindo seu vetor em duas metades.

Se o item for menor ao item que está na primeira posição do vetor, o item não foi encontrado.
Se o item for maior que o item que está na metade do vetor procure na segunda metade, ou seja, a da
direita.
Se o item for menor que o item que está na metade do vetor, procure na primeira metade, ou seja, a da
esquerda.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.

a
5 Questão (Cód.: 77785) Pontos: 0,5 / 0,5

É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado (chave)
com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com
sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca
continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a
busca continua na metade anterior do vetor.

A descrição apresentada trata-se do método denominado busca ......

linear.
randômica.
binária.

2 de 4 26/11/2012 11:53
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

por comparação.
por contagem.

a
6 Questão (Cód.: 19678) Pontos: 0,0 / 1,0

Uma lista ligada é uma estrutura que corresponde a uma sequência lógica de entradas ou nós. Cada nó armazena a
localização do próximo elemento na sequência, ou seja, de seu nó sucessor. Nessa estrutura,

para estabelecer a ligação entre um nó já pertencente a uma lista e um novo nó, basta fazer com que o
novo nó referencie no, campo next, o nó que anteriormente era referenciado pelo nó original, desde que
esse campo não tenha o valor nulo.
enquanto a entrada que determina o topo da lista é mantida em um nó descritor dessa lista, a entrada que
marca o fim da lista é mantida fora do descritor.
o armazenamento de uma lista requer uma área contígua de memória para permitir a otimização no
processamento de criação e remoção de nós da lista.
a existência de um ponteiro apontando para o 1º elemento e outro para o fim da lista permite que a
inserção ou deleção de dados de um nó que esteja no meio da lista seja rapidamente executada.
o armazenamento de uma lista não requer uma área contígua de memória. Como listas são estruturas
dinâmicas, normalmente são definidos procedimentos que permitem criar e remover nós na memória.

a
7 Questão (Cód.: 28365) Pontos: 0,0 / 0,5

Observe o trecho de código em C/C++ a seguir. O laço for preenche os dados dos candidatos no vetor de
selecionados. (adaptado para C/C++)
1.struct Candidato {
2. char nome[15];
3. double nota;
4. };
5.
6.int main(){
7. struct Candidato selecionados[5];
8. int i;
9. for (i=0; i<5; i++){
10. cout << "Nome: ";
11. cin.get();cin.get(***********,15);
12. cout << "Nota: ";
13. cin >> ***********;
14. }
15. ...
16.}

Observe que o código no interior dos comandos das linhas 11 e 13 foi substituido por ***********.
Para que este programa compile e execute sem erros, os asteriscos nas linhas 11 e 13 devem ser substituídos
respectivamente por:

selecionados.nome[i]

selecionados.nota[i]
Candidato[i].nome

Candidato[i].nota
selecionados[i].nome

selecionados[i].nota
Candidato.nome[i]

Candidato.nota[i]
nome[i]

nota[i]

3 de 4 26/11/2012 11:53
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
8 Questão (Cód.: 27978) Pontos: 1,0 / 1,0

O método de ordenação que compara pares de chaves de ordenação, trocando os elementos correspondentes caso
estejam fora de ordem é o método:

bolha
seleção
Heapsort
QuickSort
inserção

a
9 Questão (Cód.: 28104) Pontos: 0,5 / 0,5

Para a criação de uma Fila seqüencial basta iniciar as variáveis de início e final, ou seja, apontá-las para as posições
iniciais do vetor. O que alteraria na rotina de inserir se a variável final fosse inicializada com o valor -1 (menos
um):

Após a inserção deve-se fazer o incremento da variável final


Após a inserção deve-se fazer o decremento da variável final
Antes da inserção deve-se fazer o incremento da variável final
Após a inserção deve-se fazer o incremento da variável inicio
Antes da inserção deve-se fazer o decremento da variável final

a
10 Questão (Cód.: 28131) Pontos: 0,0 / 0,5

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através
da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em
posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar
os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.

Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.


Acesso, representação, compartilhamento de memória.
Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
Proteção de memória, transferência de dados, estruturas simples.
Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.

4 de 4 26/11/2012 11:53
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_AV2_201107023891 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: 201107023891 - EMANUEL PHILLIP PRUDENCIO DA SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 4,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 20/11/2012

a
1 Questão (Cód.: 56256) Pontos: 1,0 / 1,5

Os agentes Leo e Lia receberam sequências de números de seus contatos. Para


saberem qual o próximo passo da missão, precisam descobrir que números se repetem
nas sequências recebidas por cada um.
Faça uma função que receba dois vetores v e w de inteiros como parâmetros e gere um vetor z, resultante
da interseção entre v e w.

Protótipo da função :

bool intersecao(int v[ ], int w[ ], int z [ ], int nv , int nw , int &n);

onde nv: quantidade de elementos em v

nw : quantidade de elementos em w

n : quantidade de elementos no vetor z

Note :
Inicialmente n vale zero.
Deverá ser retornado true (sucesso na interseção) ou false (fracasso na interseção).

Resposta: intersecao(int v[5 ], int w[5 ], int z [5 ], int nv , int nw , int &n) { while ( i=0; i < = 5;) { for (i < = 5; i
=0; i ++) { if v[i] == w[i] z[i] = v[i]; } } }

a
2 Questão (Cód.: 27608) Pontos: 0,0 / 1,0

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

Registro
Pilha
Vetor
Loop
Fila

a
3 Questão (Cód.: 56270) Pontos: 0,0 / 1,5

1 de 4 26/11/2012 12:07
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Considere uma lista simplesmente encadeada não circular de inteiros e o tipo


struct no {
int dado;
struct no *link;
};
Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante.
Protótipo : no *inverter(no *ini); //ini aponta para o início da lista

Resposta: void no *inverter(no *ini) { for (no.link > 0 ) *ini = no.link; }

a
4 Questão (Cód.: 28147) Pontos: 0,5 / 0,5

Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam
ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar,
quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros
de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia
o endereço estamos ativando a função por meio de:

Ponteiros.
Passagem por valor.
Registro.
Envio de inteiro.
Envio de valor.

a
5 Questão (Cód.: 19681) Pontos: 0,5 / 0,5

Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I
atende os não idosos. O sistema II atende os idosos. Nessa situação:

tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados.


tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados.
tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO.

a
6 Questão (Cód.: 27994) Pontos: 0,0 / 0,5

Imagine a seguinte estrutura em C/C++, para descrever um produto:

struct Produto {

int codigo;

char descricao[40];

float preco;

};

2 de 4 26/11/2012 12:07
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Considere a função que atribui o preço ao produto

void atribui (struct Produto *pProd) {

/* atribuição do preço */

...

A forma correta para atribuir 2.99 ao campo preco dentro de função atribui é:

pProd.preco=2.99;
*pProd -> preco=2.99;
(*pProd) -> preco=2.99;
*pProd.preco=2.99;
pProd -> preco=2.99;

a
7 Questão (Cód.: 27935) Pontos: 0,5 / 0,5

Sobre o funcionamento da busca binária, é incorreto afirmar que dividindo seu vetor em duas metades.

Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.
Se o item for maior que o item que está na metade do vetor procure na segunda metade, ou seja, a da
direita.
Se o item for menor ao item que está na primeira posição do vetor, o item não foi encontrado.
Se o item for menor que o item que está na metade do vetor, procure na primeira metade, ou seja, a da
esquerda.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.

a
8 Questão (Cód.: 19663) Pontos: 1,0 / 1,0

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

Por memória e por disco.


Por teste e por reforço.
Por inferência e por valor.
Por valor e por referência
Por reforço e por referência.

a
9 Questão (Cód.: 27988) Pontos: 0,0 / 0,5

Considerando a estrutura de fila circular vista em sala, que define as seguintes operações com uma fila:

int enfileirar(int v[], int valor, int *fim) - insere um elemento na fila indicada por v.

int desenfileirar(int v[], int *inicio, int fim, float &valor) - remove um elemento da fila indicada por v.

Supondo que foram realizadas as seguintes operações numa fila circular (implementada em uma estrutura linear
sequencial) de números inteiros de tamanho 5, que inicialmente se encontrava vazia:

enfileirar (minhaFila[], 10, fim);

enfileirar (minhaFila[], 20, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

3 de 4 26/11/2012 12:07
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

enfileirar (minhaFila[], 30, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 40, fim);

enfileirar (minhaFila[], 50, fim);

enfileirar (minhaFila[], 60, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 70, fim);

Qual a posição, dentro da estrutura linear sequencial (vetor - que representa a fila), que se encontra o último
elemento inserido na fila?

7
1
4
6
5

a
10 Questão (Cód.: 28131) Pontos: 0,5 / 0,5

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através
da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em
posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar
os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.

Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.


Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.
Proteção de memória, transferência de dados, estruturas simples.
Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
Acesso, representação, compartilhamento de memória.

4 de 4 26/11/2012 12:07
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0260_AV2_201201069114 » ESTRUTURA DE DADOS

Aluno: 201201069114 - RODRIGO MACHADO DA SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9001/AA

Nota da Prova: 3,0 de 8,0 Nota do Trabalho: Nota de Participação: Data: 09/11/2012

a
1 Questão (Cód.: 58564) Pontos: / 1,5

Como é a lógica do FIFO?

Resposta: >

a
2 Questão (Cód.: 19673) Pontos: 1,0 / 1,0

Uma fila dupla que se trata de uma lista linear na qual os elementos podem ser inseridos ou removidos de qualquer
extremo denomina-se:

lista aberta
hashing
deque
grafo
lista fechada

a
3 Questão (Cód.: 27620) Pontos: 0,0 / 0,5

Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que
DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações:

ENQUEUE(1)

ENQUEUE(2)

DEQUEUE()

ENQUEUE(3)

ENQUEUE(4)

DEQUEUE()

DEQUEUE()

ENQUEUE(5)

Ao final da sequencia, a soma dos elementos de que (Q) será?

0
15
5
9
6

1 de 4 16/11/2012 16:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
4 Questão (Cód.: 27775) Pontos: 0,5 / 0,5

Qual a importância de se entender a "ordenação" de dados ?

A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.

a
5 Questão (Cód.: 56270) Pontos: / 1,5

Considere uma lista simplesmente encadeada não circular de inteiros e o tipo


struct no {
int dado;
struct no *link;
};
Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante.
Protótipo : no *inverter(no *ini); //ini aponta para o início da lista

Resposta: >

a
6 Questão (Cód.: 28112) Pontos: 0,5 / 0,5

Sistemas operacionais utilizam filas para gerenciar, tarefas, processos e recursos. Qual é a ordenação dos
elementos armazenados aleatoriamente em uma lista do tipo LIFO?

Posições aleatórias
Primeiro que entra é o primeiro a sair
Ordem crescente
Ordem decrescente
Ordem de entrada

a
7 Questão (Cód.: 28126) Pontos: 0,0 / 0,5

As funções em programação permitem que se possa realizar a modularização do código diminuindo assim sua
complexidade. Analise a função abaixo e assinale alternativa que descreve corretamente o tipo de função:
int funcao (int x){

2 de 4 16/11/2012 16:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

if(x == 0)
return 0;
else
funcao(x-1);
}

Passagem por referência


Sequencial
Condicional de seleção
Igual a zero
Recursiva

a
8 Questão (Cód.: 27753) Pontos: 0,0 / 1,0

Podemos dizer que estrutura de dados é:

É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.

a
9 Questão (Cód.: 28131) Pontos: 0,5 / 0,5

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através
da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em
posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar
os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.

Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.


Acesso, representação, compartilhamento de memória.
Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.
Proteção de memória, transferência de dados, estruturas simples.
Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.

a
10 Questão (Cód.: 27963) Pontos: 0,5 / 0,5

O resultado de um concurso foi armazenado por um programador em um vetor, onde cada elemento (descrito pela
struct Candidato) possui a informação da matrícula e nota de cada candidato, conforme descrito a seguir.
Deseja-se que o vetor com os resultados fique ordenado em ordem decrescente pela nota. O programador pretende
usar o algoritmo de busca descrito a seguir, porém precisa de ajuda no trecho contendo ********.
Indique a opção que contém a solução que completa as linhas 1, 3 e 7 do algoritmo.

...
struct Candidato {
char mat[10];
float nota;
};
...

1.void ordenaSelecao (******** v[], int n) {


2. int i, j, maior;
3. ******** aux;

3 de 4 16/11/2012 16:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

4. for (j = 0; j < n-1; j++) {


5. maior = j;
6. for (i = j+1; i < n; i++)
7. if (********)
8. maior = i;
9. aux = v[j];
10. v[j] = v[maior];
11. v[maior] = aux;
12. }
13.}

1. int 3. int 7. v[i] < v[maior]


1. struct Candidato 3. struct Candidato 7. v[i].nota < v[maior].nota
1. float 3. float 7. v[i] < v[maior]
1. struct Candidato 3. struct Candidato 7. v[i].nota > v[maior].nota
1. int 3. int 7. v[i] > v[maior]

4 de 4 16/11/2012 16:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0260_AV3_201201069114 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV3

Aluno: 201201069114 - RODRIGO MACHADO DA SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9001/AA

Nota da Prova: 4,0 de 10,0 Nota do Trabalho: Nota de Participação: Data: 03/12/2012

a
1 Questão (Cód.: 27759) Pontos: 0,0 / 1,0

Podemos dizer que um container é:

A saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.

a
2 Questão (Cód.: 95225) Pontos: 1,0 / 1,0

A estrutura de dados linear que obedece o seguinte critério: o último elemento inserido será o primeiro elemento a
ser retirado (LIFO) é:

pilha.
árvore AVL.
lista circular.
árvore binária.
fila.

a
3 Questão (Cód.: 27933) Pontos: 1,0 / 1,0

É correto afirmar sobre o funcionamento da busca sequencial.

Os elementos são pesquisados aleatoriamente. Pior caso: o elemento está no último índice do meu vetor.
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no último índice do meu
vetor.
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no primeiro índice do
meu vetor.
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no meio do meu
vetor.
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no último índice do
meu vetor.

1 de 4 03/12/2012 21:10
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
4 Questão (Cód.: 27592) Pontos: 0,0 / 1,0

O que acontece quando tentamos retirar um elemento de uma pilha que já está vazia?

Overflow.
Underflow.
Ordenação.
Remoção.
Inclusão.

a
5 Questão (Cód.: 28000) Pontos: 0,0 / 1,0

Qual o valor de a após a execução do trecho abaixo?

int a = 10;

int *x;

x = &a;

*x = 55;

55
existe um erro no trecho de código
65
10
0

a
6 Questão (Cód.: 19729) Pontos: 0,0 / 1,0

Em relação às estruturas de dados, é correto afirmar:

LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, duplamente
encadeada.
Um grafo com um único vértice e sem arestas é conhecido como dígrafo.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, sem disciplina
de acesso, onde o primeiro elemento a entrar é o último a sair.
Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os princípios da
estrutura FILO.
Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é uma
característica presente nas listas duplamente encadeadas.

a
7 Questão (Cód.: 30948) Pontos: 0,0 / 1,0

No programa abaixo, diga em que área de memória serão alocados os elementos de dados y e r, respectivamente.

#include
using namespace std;
int x, y;
float media( float a, float b )
{ float tmp;
tmp = (a + b ) / 2.0;
return ( tmp );
}
int main()
{

2 de 4 03/12/2012 21:10
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

float r;
cout<<"Informe 2 valores: ";
cin>>x>> y;
r = media( x, y );
cout<<"\nMedia = "<< r<<"\n";
system ("pause");
}

( ) área de registro / área de dados globais


( ) área de pilha / área de registro
( ) área de dados globais / área de pilha
( ) área de dados globais / área de registro
( ) área de registro / área de pilha

a
8 Questão (Cód.: 19681) Pontos: 0,0 / 1,0

Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I
atende os não idosos. O sistema II atende os idosos. Nessa situação:

tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados.


tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO.
tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO.

a
9 Questão (Cód.: 19679) Pontos: 1,0 / 1,0

Sobre estrutura de dados, considere: I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos,
uma vez que eles são colocados e retirados por um único lado e são ordenados pelo princípio LIFO (last in first out).
Assim, sempre que um elemento é adicionado ou retirado seu topo é alterado. II. Pilha é o tipo de estrutura usada,
por exemplo, na avaliação de expressões numéricas, na recursividade e pelos compiladores, na passagem de
parâmetros para as funções. III. Registro é uma estrutura básica que permite guardar coleções de dados de
diferentes tipos, sendo normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos
de diferentes tipos. IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se
conforme os elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente. V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus
elementos são ordenados pelo princípio LIFO (last in first out). Está correto o que se afirma APENAS em:

I, II e III.
II, IV e V.
II, III, IV e V.
I, III e V.
I, III, IV e V.

a
10 Questão (Cód.: 28131) Pontos: 1,0 / 1,0

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através
da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em
posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar
os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.

Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.


Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
Proteção de memória, transferência de dados, estruturas simples.
Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.

3 de 4 03/12/2012 21:10
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Acesso, representação, compartilhamento de memória.

4 de 4 03/12/2012 21:10
ESTRUTURA DE DADOS Lupa

Retornar
Exercício: CCT0260_EX_A1_2015 Matrícula:
Aluno(a): Data: 18/08/2015 21:37:45 (Finalizada)

1a Questão (Ref.: 201502747092) Fórum de Dúvidas (1) Saiba (1)

Leia com atenção as afirmativas abaixo e assinale a resposta correta.

I A estrutura de dados que melhor representa os diretórios ou pastas de arquivos do computador é a árvore.
II A estrutura de dados FILA é não linear assim como o Grafo.
III O termo folha em uma estrutura de dados é usado para um nó sem filhos e que tem grau 0,
IV O grau de uma árvore é definido pelo número de subárvores de um nó.
V O grafo é uma estrutura de dados que tem limitação para o número de vértices.
VI Uma das aplicações da estrutura de dados grafo é a Computação Gráfica.

II, IV, V e VI são afirmativas verdadeiras


II, IV e V são afirmativas verdadeiras
I, II e V são afirmativas verdadeiras
I, II, III e VI são afirmativas verdadeiras
I, III, IV e VI são afirmativas verdadeiras

Gabarito Comentado

2a Questão (Ref.: 201502822546) Fórum de Dúvidas (1) Saiba (1)

As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar
dados ou informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem
algoritmos de manipulação de dados associados a estas estruturas.
Verifique as seguintes sentenças:
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram
armazenados.
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram
armazenados.
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram
armazenados.
Marque a alternativa CORRETA:

As alternativas II e IV estão corretas.


As alternativas III e IV estão corretas.
As alternativas I e II estão corretas
Todas as alternativas estão corretas.
As alternativas I e III estão corretas.
3a Questão (Ref.: 201502799917) Fórum de Dúvidas (1) Saiba (1)

Os irmãos Silva irão viajar por vários países da Europa e por isso, traçaram no mapa o percurso que farão, de cidade
a cidade. Qual a estrutura de dados mais adequada para modelar este problema ?

Grafo
Pilha
Fila
Árvore
Lista

4a Questão (Ref.: 201502411267) Fórum de Dúvidas (1) Saiba (1)

As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de
armazenar dados ou informações na memória, de modo a otimizar o acesso a estes. Muitas
vezes existem algoritmos de manipulação dados associados a estas estruturas. Verifique as
seguintes sentenças:

I-Filas são estruturas que recuperam os dados na ordem direta em que estes
foram armazenados.

II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes
foram armazenados.

III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes
foram armazenados.

IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes
foram armazenados.

Marque a alternativa CORRETA:

As alternativas III e IV estão corretas.


As alternativas I e II estão corretas
Todas as alternativas estão corretas.
As alternativas II e IV estão corretas.
As alternativas I e III estão corretas.

Gabarito Comentado

5a Questão (Ref.: 201502208649) Fórum de Dúvidas (1 de 1) Saiba (1 de 1)


Podemos dizer que estrutura de dados é:

O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as


modificações.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se
calcular uma solução do problema.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se
calcular uma solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu
conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída
previamente determinada.

Gabarito Comentado

6a Questão (Ref.: 201502208656) Fórum de Dúvidas (1) Saiba (1)

Estão entre algumas das possíveis formas de se estruturar dados:

Grafos, algoritmos, fila.


Grafos, lista ordenada, algoritmos.
Algoritmos, lista ordenada, vetores.
Lista encadeada, vetores, algoritmos.
Grafos, lista ordenada, vetores.

Gabarito Comentado

Retornar
ESTRUTURA DE DADOS Lupa

Retornar
Exercício: CCT0260_EX_A2_2015 Matrícula:
Aluno(a): Data: 20/08/2015 00:17:59 (Finalizada)

1a Questão (Ref.: 201502276176) Fórum de Dúvidas (1) Saiba (1)

Assinale a opção certa.

Quando não se escreve o protótipo de uma função ...

A definição da função deverá ser escrita, obrigatoriamente, após o programa principal.


A chamada da função poderá ser feita em qualquer hipótese.
O programa não funcionará de forma alguma.
A chamada da função não poderá ser feita em qualquer hipótese.
É preciso definir a função antes do programa principal.

Gabarito Comentado

2a Questão (Ref.: 201502413689) Fórum de Dúvidas (1 de 1) Saiba (1 de 1)

Auxiliar = 100 Numero1 = 900 Numero2 = 20


Auxiliar = 111 Numero1 = 1000 Numero2 = 80
Auxiliar = 101 Numero1 = 900 Numero2 = 20
Auxiliar = 100 Numero1 = 1000 Numero2 = 20
Auxiliar = 100 Numero1 = 900 Numero2 = 80

Gabarito Comentado

3a Questão (Ref.: 201502797317) Fórum de Dúvidas (1) Saiba (1)

Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção.
Portanto, utiliza-se a tecnica da modularização de programas, a fim de facilitar a implementação e a
manutenção dos programas. Esta técnica, também chamada de modularização, tem como principal
elemento:

As Estruturas de Dados
Os Grafos
As funções
Os Vetores
As Filas

4a Questão (Ref.: 201502209009) Fórum de Dúvidas (1) Saiba (1)

As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um


espaço reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja,
reservar um espaço na memória, fora do escopo da função principal, e fora do escopo de qualquer
outra função. Ao fazer a declaração desta forma estamos declarando uma variável do tipo:

Global
Inteiro
Constante
Real
Local

Gabarito Comentado

5a Questão (Ref.: 201502209043) Fórum de Dúvidas (1 de 1) Saiba (1 de 1)

Em programação podemos utilizar um recurso que modulariza o programa chamado função. As


funções precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a
função pelo seu nome e enviar, quando necessário, os valores respectivos para os parâmetros de
entrada. Ao enviar os valores para os parâmetros de entrada, o programa pode fazer uma cópia deste
valor ou trabalhar em um endereço enviado. Quando se envia o endereço estamos ativando a função
por meio de:

Ponteiros.
Envio de inteiro.
Registro.
Passagem por valor.
Envio de valor.

Gabarito Comentado

6a Questão (Ref.: 201502209040) Fórum de Dúvidas (1) Saiba (1)

Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a
criação de funções que façam determinada verificação ou ação nestas estruturas. Dessa forma,
analise a função abaixo e marque corretamente a alternativa que descreve as funcionalidades desta.

int funcao(float v[], float vl, int n)


{
for (int i = 0; i < n; i++)
if (v[i] == vl)
return i;
return -1;
}

Retorna -1 se o valor de n foi encontrado.


Resulta em erro, se o valor de vl não estiver dentro de v.
Retorna o valor de vl se o valor n foi encontrado.
Retorna a posição de v se o valor vl foi encontrado.

Retorna -1 se o valor de vl estiver dentro de v.

Gabarito Comentado

Retornar
ESTRUTURA DE DADOS Lupa

Retornar
Exercício: CCT0260_EX_A3_2015 Matrícula:
Aluno(a): Data: 22/08/2015 18:50:07 (Finalizada)

1a Questão (Ref.: 201502778880) Fórum de Dúvidas (0) Saiba (0)

Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente,
agrupados sob uma lógica e associados por um nome. Esses elementos podem ser variáveis simples,
matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como: struct aluno { string
nome; float media; }; Suponha ainda que exista um vetor desta estrutura, definido como: aluno vet [
10]; Marque a alternativa em que é atribuída de forma correta a media 6.0 para o quarto elemento
deste vetor.

aluno[3].10=6.0;
aluno[10]=6.0;
aluno[3].media=6.0;
vet[3].media=6.0;

vet[3].aluno=6.0;

2a Questão (Ref.: 201502209011) Fórum de Dúvidas (0) Saiba (0)

A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma


estrutura chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um
determinado campo de uma estrutura do tipo Struct?

Nome da estrutura vírgula tipo do campo


Nome da estrutura ponto tipo do campo
Nome da estrutura seta nome do campo
Nome da estrutura ponto nome do campo
Nome da estrutura seta tipo do campo

Gabarito Comentado

3a Questão (Ref.: 201502413719) Fórum de Dúvidas (0) Saiba (0)


Com relação à struct, é correto afirmar que :

Cada elemento da struct é chamado campo e cada campo deve ser, obrigatoriamente,
de um tipo de dados distinto de outro campo.

Cada elemento da struct é chamado componente.

Cada elemento da struct é denominado membro ou campo, sendo que a struct pode
armazenar elementos de tipos diferentes ou não.

A struct é sempre definida dentro da main.

Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do
mesmo tipo.

Gabarito Comentado

4a Questão (Ref.: 201502848358) Fórum de Dúvidas (0) Saiba (0)

Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos,


geralmente, agrupados sob uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a
definição de uma estrutura como:

struct aluno {
string nome;
float nota;
};

Suponha ainda que exista um vetor desta estrutura, definido como:


aluno vet [ 100];

Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro
elemento deste vetor.

vet[10].aluno.nota=5.7 ;
aluno.vet[10].nota=5.7;
vet[10].nota=5.7;
vet[10]=aluno.5.7;
aluno.vet[10]=5.7;

5a Questão (Ref.: 201502822569) Fórum de Dúvidas (0) Saiba (0)

Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente,
agrupados sob uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição
de uma estrutura como:

struct aluno {
string nome;
float nota;
};

Suponha ainda que exista um vetor desta estrutura, definido como:

aluno vet [100];

Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro
elemento deste vetor.

aluno.vet[10].nota=5.7;
vet[10]=aluno.5.7;
vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
aluno.vet[10]=5.7;

6a Questão (Ref.: 201502880608) Fórum de Dúvidas (0) Saiba (0)

Marque a opção correta, considerando

struct Livro {
int codigo;
float preco;
} liv;

liv->preco = 30.70;
liv.preco = 30.70;
Livro.liv.codigo = 12345;
Livro.codigo = 12345;
Livro->liv.codigo = 12345;

Retornar
ESTRUTURA DE DADOS Lupa

Retornar
Exercício: CCT0260_EX_A4_2015 Matrícula:
Aluno(a): Data: 22/09/2015 16:07:50 (Finalizada)

1a Questão (Ref.: 201502208931) Fórum de Dúvidas (1 de 1) Saiba (0)

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus
elementos o nome e a nota obtida pelo candidato. Deseja-se que este vetor seja ordenado pela nota, em ordem
decrescente. Sendo o vetor pequeno (poucos elementos), o programador responsável por desenvolver este algoritmo,
escolheu um método de ordenação que executa os seguintes passos:

 Selecione candidato com maior nota entre todos e troque-o com o candidato que está na primeira posição do
vetor;
 Selecione o segundo maior e troque-o com o candidato que está na segunda posição;
 Os passos descritos anteriormente são seguidos para a terceira nota, quarta nota e assim por diante até que reste
apenas um candidato.

O algoritmo utilizado pelo programador trata-se do método de ordenação denominado:

Bolha
Quicksort
Seleção
Inserção
Heapsort

Gabarito Comentado

2a Questão (Ref.: 201502797309) Fórum de Dúvidas (1) Saiba (0)

Qual papel do for mais interno na função ordena abaixo ?

void ordena( int n, int v[])


{
int i, j, x;
for (j = 1; j < n; ++j) {
x = v[j];
for (i = j-1; i >= 0 && v[i] > x; --i)
v[i+1] = v[i];
v[i+1] = x;
}
}

Encontrar o elmento a ser eliminado do vetor


Encontrar o maior valor de x que deve ser inserido em v[0..j-1].
Encontrar o ponto onde v[j] deve ser inserido em v[0..j-1].
Encontrar o menor valor v[j] que deve ser inserido em v[0..j-1].
Encontrar o valor de v[j] deve em v[0..j-1].

3a Questão (Ref.: 201502794137) Fórum de Dúvidas (1 de 1) Saiba (0)

Em relação à classificação do método de ordenação, assinale abaixo aquele que, durante o processo
de ordenação, só usa a memória principal:

Ordenação Eficiente
Ordenação Simples Externa
Ordenação Simples
Ordenação Externa
Ordenação Interna

4a Questão (Ref.: 201502209016) Fórum de Dúvidas (1 de 1) Saiba (0)

Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens
ordenados. Existem vários métodos de ordenação, por esse motivo, assinale corretamente a
alternativa que mostra o nome do método que utiliza a estratégia de ordenação por trocas de
vizinhos e é considerado o método mais simples.

Hash
Bolha
Inserção
Seleção
Binária

Gabarito Comentado

5a Questão (Ref.: 201502411281) Fórum de Dúvidas (1) Saiba (0)

Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da


pesquisa sequencial e o da pesquisa binária. A busca ou pesquisa sequencial pode ser
aplicada em vetores independente destes estarem ordenados, entretanto a busca binária só se
aplica em vetores ordenados.
Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo
algoritmo da busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos
realizam testes nos elementos do vetor até achar o que procuram ou definirem que o
elemento não se encontra no vetor. Sendo assim marque a alternativa que expressa o número
de testes realizados pela busca sequencial e o número de testes realizados pela busca binária,
respectivamente, até encontrarem o 70.
6e2
7e1
6e1
5e5
6e4

Gabarito Comentado

6a Questão (Ref.: 201502208930) Fórum de Dúvidas (1) Saiba (0)

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém
em cada um de seus elementos o número de inscrição, o nome e a nota obtida pelo candidato. Este
vetor está ordenado pelo número de inscrição. Para realização de uma consulta que, dado um
número de inscrição, apresenta o nome e nota do candidato, um programador utilizou um algoritmo
de busca que realiza sucessivas divisões no vetor, comparando o número de inscrição procurado
com o número de inscrição do candidato posicionado no meio do vetor. Se o candidato posicionado
do meio do vetor tiver o número de inscrição igual ao número de inscrição procurado, a busca
termina com sucesso. Caso contrário, se candidato posicionado do meio do vetor tiver número de
inscrição menor que o procurado, então a busca continua na metade posterior do vetor. E finalmente,
se candidato posicionado do meio do vetor tiver número de inscrição maior que o procurado, a busca
continua na metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método
denominado busca:

por comparação.
por contagem.
linear.
randômica.
binária.

Gabarito Comentado

Retornar
ESTRUTURA DE DADOS Lupa

Retornar
Exercício: CCT0260_EX_A5_2015 Matrícula:
Aluno(a): Data: 23/09/2015 08:58:53 (Finalizada)

1a Questão (Ref.: 201502772734) Fórum de Dúvidas (0) Saiba (0)

__________________________ é uma lista linear em que a alocação de memória pode ser estática,
e que a forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista
quando se tem em mente um tamanho pré-definido, ou seja, quando se sabe até onde a lista pode
crescer.

Lista Não Linear


Lista Linear Não Sequencial
Lista Linear Sequencial
Lista Linear de Alocação de Memória
Lista Linear Não Alocada

2a Questão (Ref.: 201502208487) Fórum de Dúvidas (0) Saiba (0)

O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo
= fim)?

overflow
underflow
ordenação
remoção
inclusão

Gabarito Comentado

3a Questão (Ref.: 201502411284) Fórum de Dúvidas (0) Saiba (0)

As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o
que possibilita a otimização do uso destes dados. Porém, as estruturas guardam características
especiais na manipulação destes dados, assim deve-se escolher a estrutura certa ou mais adequada
para uma determinada aplicação. Portanto marque a opção que representa a melhor estrutura,
quando se tem como requisitos principais o acesso aleatório aos dados e alocação destes de forma
contínua na memória.
Lista Sequencial
Pilha Sequencial
Fila Sequencial
Pilha Encadeada
Lista Encadeada

Gabarito Comentado

4a Questão (Ref.: 201502856553) Fórum de Dúvidas (0) Saiba (0)

Considere uma lista com n livros, em que cada livro é modelado pela struct :

struct Livro {
string titulo, editora, autor;
float preco;
};

A função X abaixo

void X (Livro v[ ], int &n, Livro L)


{
v[n] = L;
n++;
cout << "Operação realizada com sucesso.";
}

implementa a operação de :

Ordenação por inserção


Substituição
Inserção
Busca
Inicialização

5a Questão (Ref.: 201502413768) Fórum de Dúvidas (0) Saiba (0)


for (int i = 0; i < n; i++)
cout << L.matricula << " " << L.nome << endl;
for (int i = 0; i < n; i++)
cout << L[i] << endl;
for (int i = 0; i < n; i++)
cout << L[i].matricula << " " << L[i].nome[30] << endl;
for (int i = 0; i < n; i++)
cout << L.matricula[i] << " " << L.nome[i] << endl;
for (int i = 0; i < n; i++)
cout << L[i].matricula << " " << L[i].nome << endl;

Gabarito Comentado

6a Questão (Ref.: 201502209031) Fórum de Dúvidas (0) Saiba (0)

Analisando o trecho do algoritmo abaixo,

pode-se afirmar que se trata de uma operação de:

Inserção de um elemento em uma estrutura LIFO

Remoção de um elemento de uma estrutura FIFO


Exibição de um elemento em uma estrutura LIFO

Inserção de um elemento em uma estrutura FIFO


Remoção de um elemento de uma estrutura LIFO
Gabarito Comentado

Retornar

ESTRUTURA DE DADOS Lupa

Retornar
Exercício: CCT0260_EX_A6_2015 Matrícula:
Aluno(a): Data: 03/10/2015 09:27:55 (Finalizada)

1a Questão (Ref.: 201502411286) Fórum de Dúvidas (0) Saiba (0)

As pilhas sequenciais são estruturas que guardam a ordem reversa dos dados nelas armazenados,
e isto em muitas ocasiões é muito vantajoso. A operação usada para inserir um elemento X numa
pilha é conhecida na literatura como PUSH (X). Para remover um elemento de uma pilha a
operação é o POP( ). Assim estas duas funções devem implentar o algoritmo LIFO (Last In -
First Out ) ou o último a entrar é o primeiro a sair. Sendo assim se aplicarmos as seguintes
operações em uma PILHA vazia:

PUSH(10),PUSH(5),POP(),PUSH(7),POP(),PUSH(2),POP(),POP( ).

Quais valores restarão na pilha?

10 e 2
Nenhum, a pilha estará vazia.
7e2
Apenas o 2
Apenas o 10

Gabarito Comentado

2a Questão (Ref.: 201502276137) Fórum de Dúvidas (0) Saiba (0)

Respeitando as ordens de inserção e de retirada dos dados, uma estrutura de:


fila é também denominada FIFO ou FILO.
pilha é também denominada FIFO ou FILO.
fila é também denominada FIFO ou LIFO.

fila é também denominada LIFO ou LILO.


pilha é também denominada LIFO ou FILO.

Gabarito Comentado

3a Questão (Ref.: 201502208508) Fórum de Dúvidas (0) Saiba (0)

A estrutura de dados Pilha funciona de acordo com o seguinte fundamento básico:

O primeiro a entrar é o primeiro a sair.


O último a entrar é o último a sair.
Quem estra no topo da pilha não sai mais.
Tanto o primeiro como o último podem sair primeiro.
O primeiro a entrar é o último a sair.

Gabarito Comentado

4a Questão (Ref.: 201502276132) Fórum de Dúvidas (0) Saiba (0)

A estrutura de dados do tipo pilha (stack) é um tipo abstrato de dado baseada no princípio:

Da indiferença.
De dividir para conquistar.
Da localidade de referência.
Last In First Out (LIFO).
First In First Out (FIFO).

Gabarito Comentado

5a Questão (Ref.: 201502856543) Fórum de Dúvidas (0) Saiba (0)

Considere uma pilha sequencial de números reais representada por

struct Pilha {
int topo;
float v[10];
};

onde temos Pilha p;

Marque a opção que corretamente inicializa a pilha :

p.topo = -1;

p->topo = 0;

topo.pilha = -1;

Pilha.topo = -1;

Pilha.topo = 0;

6a Questão (Ref.: 201502448871) Fórum de Dúvidas (0) Saiba (0)

Pilhas são estruturas de dados que se utilizam do algoritmo LIFO, last in first
out, ou melhor, o último a entrar é o primeiro a sair. Desta forma pode-se
abstrair que existe apenas um local para a saída e a entrada de dados, ou
seja o topo da pilha.
Supondo que uma pilha seja implementada por um vetor de inteiros de
tamanho 10 e que exista uma variável global chamada topo para indexar
esta posição de entrada e saída de dados e ainda quando esta variável
assume o valor -1 indica que a pilha está vazia. Marque a opção que melhor
ilustra a função de exclusão de um dado do vetor pilha, supondo ainda que o
vetor tenha sido declarado inicialmente de forma global.

void pop(){ if(topo != -1) pilha[topo-1];}


void pop(){ if(pilha != -1) pilha[topo];}
void pop(){ if(topo != -1) topo--;}
void pop(){ if(pilha != -1) pilha[topo-1];}
void pop(){ if(topo != -1) topo++;}

Gabarito Comentado
Retornar

ESTRUTURA DE DADOS Lupa

Retornar
Exercício: CCT0260_EX_A7_2015 Matrícula:
Aluno(a): Data: 03/10/2015 19:14:28 (Finalizada)

1a Questão (Ref.: 201502799947) Fórum de Dúvidas (0) Saiba (0)

Assinale a opção que, corretamente, mostra exemplos em que a estrutura de dados fila é usada, de acordo com o
critério de inserções e remoções que rege tal estrutura.

Fila de pessoas para tirar o visto e fila de pessoas para usar o caixa eletrônico.
Fila de arquivos para impressão e fila de pessoas no caixa de um supermercado.
Fila de arquivos para impressão e buffer para gravação de dados em fila.
Buffer para gravação de dados em mídia e fila de pessoas para comprar o ticket do metrô.
Fila de documentos para xerox e fila de arquivos para impressão.

2a Questão (Ref.: 201502797312) Fórum de Dúvidas (0) Saiba (0)

Ao inserirmos em uma estrutura de dados do tipo fila sequencial os seguintes elementos: A, B, C, D,


exatamente nesta ordem. E em seguida realizarmos duas operações consecutivas de remoção na fila
e imediatamente inserirmos dois novos elementos o X e o W. Podedmos afirmar que se realizarmos
uma nova operação de remoção, o elemento que será removido desta fila sera o:

A
D
X
C
W
3a Questão (Ref.: 201502799973) Fórum de Dúvidas (0) Saiba (0)

Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma
firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente enfileira o código de
um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo.

struct Fila { in t v[100], inicio, fim; } ;

Fila F;

F. inicio = 0;

F.fim = -1;

void enfileirar(Fila &F, int codigo) {

if (F.fim == 99)

cout << "Não há espaço na firma para mais agentes. " << endl;

else

F.fim++;

F.v[F.fim] = codigo;

void enfileirar(Fila F, int codigo) {

F.fim++;

F.v[F.fim] = codigo;

void enfileirar(Fila F, int codigo) {

if (F.fim == 100)

cout << "Não há espaço na firma para mais agentes. " << endl;

else {

F.fim++;

F.v[F.fim] = codigo;

}
}

void enfileirar(Fila &F, int codigo) {

if (F.fim == 99)

cout << "Não há espaço na firma para mais agentes. " << endl;

else {

F.fim++;

F.v[F.fim] = codigo;

void enfileirar(Fila &F, int codigo) {

F.v[F.fim] = codigo;

F.fim++;

4a Questão (Ref.: 201502794139) Fórum de Dúvidas (0) Saiba (0)

O que acontece quando se deseja inserir um elemento em uma FILA que já está cheia?

Dequeue.
A inserção é feita sem problema.
Underflow.
Enqueue.
Overflow.

5a Questão (Ref.: 201502209012) Fórum de Dúvidas (0) Saiba (0)

As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com
vetores podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do
tipo listas. Dessa forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso
contrário, precisa remover os elementos a sua frente, é chamada de:
Bolha
Pilha
Struct
Matriz
Fila

Gabarito Comentado

6a Questão (Ref.: 201502208524) Fórum de Dúvidas (0) Saiba (0)

Um banco adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema
I atende todas pessoas que não possuem atendimento prioritário. O sistema II atende somente
pessoas com atendimento prioritário. Nessa situação,

Tanto o sistema I, quanto o II, adota o esquema FIFO de organização de dados.


Tanto o sistema I, quanto o II, adota o esquema lista duplamente encadeada de
organização de dados.
O sistema I adota o esquema FIFO de organização de dados e o II, o esquema LIFO.
Tanto o sistema I, quanto o II, adota o esquema LIFO de organização de dados.
O sistema I adota o esquema LIFO de organização de dados e o II o esquema FIFO.

Retornar
ESTRUTURA DE DADOS Lupa

Retornar
Exercício: CCT0260_EX_A8_2015 Matrícula:
Aluno(a): Data: 04/10/2015 12:21:42 (Finalizada)

1a Questão (Ref.: 201502212082) Fórum de Dúvidas (0) Saiba (0)

Em algumas situações, principalmente na utilização de listas, há a necessidade de posicionar o


ponteiro em determinado local da lista. Dessa forma, analisando o trecho de código abaixo, que
mostra uma função, assinale a alternativa correta que descreve o objetivo desta. Sabe-se que o sinal
de asterisco (*) sinaliza um ponteiro.

void funcao (Nodo **P){


if ( *P != NULL ){
while ( (*P) -> Anterior != NULL )
*P= (*P) -> Anterior;
}
}

Colocar o valor NULL em todos os ponteiros


Posicionar o ponteiro no início da lista
Posicionar o ponteiro onde houver o valor NULL
Posicionar o ponteiro no final da lista
Posicionar o ponteiro no meio da lista

Gabarito Comentado

2a Questão (Ref.: 201502208827) Fórum de Dúvidas (0) Saiba (0)

Marque a afirmativa que represente uma concatenação em listas.

Intercalar a ordem dos dados da lista do final para o início, atualizando a lista.
Alterar a ordem dos dados da lista do final para o início, atualizando a lista.
Juntar duas listas, colocando uma lista no final de outra, obtendo, ao final, uma só lista
resultante.
Organizar os dados da lista em ordem crescente ou decrescente.
Consiste em dividir a lista em duas outras listas. A quantidade de nós que cada lista terá,
depende da necessidade.
Gabarito Comentado

3a Questão (Ref.: 201502750448) Fórum de Dúvidas (0) Saiba (0)

Podemos dizer que uma lista encadeada tem as seguintes características:

i) conhecida como lista ligada.

ii) seus nós são responsáveis para manter a sequência da lista.

iii) o último nó deve apontar para NULL.

Assinale a alternativa que informa as afirmativas corretas.

Somente a afirmativa i esta correta.


Somente as afirmativas i e ii estão corretas.
Somente a afirmativa iii esta correta.
Todas as afirmativas estão incorretas.
Todas as afirmativas estão corretas.

Gabarito Comentado

4a Questão (Ref.: 201502831413) Fórum de Dúvidas (0) Saiba (0)

Em uma aplicação que usa processos de alocação estática e dinâmica de memória é correto afirmar
que

Apenas a memória associada às variáveis do tipo vetor é alocada após o inicio da execução da
aplicação
Todas as afirmações acima são incorretas
Toda a memória utilizada pela aplicação não muda durante toda a sua execução
A memória utilizada pela aplicação é totalmente alocada após o inicio de sua execução

A memória utilizada pela aplicação é inicialmente estática, mas pode mudar

5a Questão (Ref.: 201502800028) Fórum de Dúvidas (0) Saiba (0)

Considere uma lista simplesmente encadeada com placas de carros. Assinale a opção que, corretamente, imprime todas as
placas da lista. Considere :
struct no {

string placa;

struct no *link;

};

no *p; //p aponta para o início da lista

void imprimir(no *p) {

if (p != NULL) {

cout << pplaca;

p = plink;

}
void imprimir(no *p) {

while (p != NULL) {

cout << pplaca;

p = plink;

void imprimir(no p) {

while (p != NULL) {

cout << pno;

p = plink;

void imprimir(no *p) {

while (p != NULL) {
cout << pplaca;

void imprimir(no *p) {

while (p != NULL) {

cout << p.placa;

p = p.link;

6a Questão (Ref.: 201502448023) Fórum de Dúvidas (0) Saiba (0)

Dr. Pei Tam possui uma lista não ordenada de pacientes de seu consultório em que registra apenas
o nome endereço e o telefone de cada paciente. Como não há limites para o crescimento de sua
lista, como se pode implementar a inserção de um novo paciente na lista, sabendo que cada
paciente é do tipo Paciente e a lista é do tipo List assim definidos :

struct Paciente {

long int matricula;

string nome, endereco e tel;

};

struct List {

Paciente p;

struct List *link;

};

List * inserePac(List *i, Paciente pt)

List *novo = new List;

novo->p = pt;

novo->link =i;
return novo;

List insereCliente(List *i, Paciente pac)

List novo[];

novo[0].p = pac;

novo[0].link = i;

return novo;

List * inserePac(List *i, Paciente pt){

List *novo ;

novo->p = pt;

novo->link = i;

return novo;
}
List * inserePac(List *i) {

List *novo = new List;

Paciente pat;

novo->p = pat;

novo->link = i;

return novo;

List * inserePac(List *i, Paciente pac)

List *novo = new List;

novo.p = pac;

novo.link = i;

return novo;

Gabarito Comentado
Retornar

ESTRUTURA DE DADOS Lupa

Retornar
Exercício: CCT0260_EX_A9_2015 Matrícula:
Aluno(a): Data: 13/10/2015 20:06:05 (Finalizada)

1a Questão (Ref.: 201502831398) Fórum de Dúvidas (0) Saiba (0)

Assumindo que estamos com uma estrutura de dados do tipo FIFO, as operações abaixo vão resultar
em que elementos na mesma: PUSH(2), PUSH(3), PUSH(4), POP(), POP(), PUSH(5), PUSH(7),
POP()

25
345
247
234
57

2a Questão (Ref.: 201502786617) Fórum de Dúvidas (0) Saiba (0)

Assinale a característica que NÃO está relacionada às estruturas de dados encadeadas:

Em geral, marca-se o último elemento com um ponteiro de valor NULL.


A memória para armazenar seus elementos é, em geral, alocada com o uso de new.
Consomem memória de maneira permanente, só sendo liberadas ao fim do programa.
Cada elemento guarda pelo menos um ponteiro para outro elemento da estrutura.
A memória ocupada por seus elementos é, em geral, liberada com o uso de delete.
3a Questão (Ref.: 201502831404) Fórum de Dúvidas (0) Saiba (0)

Sobre uma estrutura de dados do tipo LIFO, observe as seguintes afirmações:


(1) É uma pilha.
(2) Pode ser uma fila com prioridades
(3) É uma estrutura onde o primeiro elemento a entrar é o último a sair.

Sobre estas afirmações marque a opção correta:

Apenas a afirmação (1) é verdadeira


Todas as afirmações são verdadeiras
Todas as afirmações são falsas
Apenas as afirmações (1) e (3) são verdadeiras
Apenas a afirmação (3) é verdadeira

4a Questão (Ref.: 201502752129) Fórum de Dúvidas (0) Saiba (0)

Tínhamos declarado um ponteiro de nome ptr e precisávamos construir uma estrutura de repetição que
pudesse repetir enquanto o ponteiro não fosse nulo. Observe os trechos abaixo e assinale qual a afirmativa
correta.

I if (ptr !=NULL)
II if( !ptr )
III if(ptr)
IV while (ptr !=NULL)
V while (ptr)

I e II estão corretas.
III e V estão corretas
IV e V estão corretas.

III está correta


I e IV estão corretas

Gabarito Comentado

5a Questão (Ref.: 201502880615) Fórum de Dúvidas (0) Saiba (0)

Para converter de decimal para binário usamos a estrutura de dados pilha. Assinale a opção que,
corretamente, indica as ações corretas para empilhar o resto da divisão gerado no processo de
conversão, considerando uma lista simplesmente encadeada. Considere o tipo definido abaixo :

struct no {
int dado;
struct no *link;
};
Basta alocar memória com new e armazenar o resto da divisão do número por 2 no campo
dado do novo nó .
Basta alocar memória com new, armazenar o resto da divisão do número por 2 no campo
dado do novo nó e aterrar o link do novo nó.
Não é necessário alocar memória com new. Basta criar uma struct do tipo no, armazenar o
resto da divisão número por 2 no campo dado e aterrar o campo link.
É preciso alocar memória com new, armazenar o resto da divisão do número por 2 no
campo dado do novo nó, apontar o link do novo nó para o início da lista e enfim, retornar o
ponteiro para o novo nó.
É preciso armazenar o resto da divisão do número por 2 no campo dado do primeiro nó da
lista e retornar o ponteiro para este nó.

6a Questão (Ref.: 201502880493) Fórum de Dúvidas (0) Saiba (0)

Sabendo que uma fila encadeada possui seus nós definidos pela :

struct no {
int x;
no *prox;
};

Marque a alternativa que representa corretamente a criação ou alocação do nó na sintaxe do C++


para utilização na fila.

no *p=new no;
no *p -> new no;
p *no -> new no;
p *no=new no;
no p -> new no;

Retornar
ESTRUTURA DE DADOS Lupa

Retornar
Exercício: CCT0260_EX_A10_2015 Matrícula:
Aluno(a): Data: 13/10/2015 21:41:34 (Finalizada)

1a Questão (Ref.: 201502872960) Fórum de Dúvidas (0) Saiba (0)

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 dados,
marque a alternativa correta.

struct nomeRegistro{
int info;
struct nomeRegistro* ant;
struct nomeRegistro* prox;
};

typedef struct nomeRegistro NOMEREGISTRO;

Fila
Matriz
Lista encadeada
Lista duplamente encadeada
Pilha

2a Questão (Ref.: 201502822587) Fórum de Dúvidas (0) Saiba (0)

Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser
de diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do
nodo, são estes os ponteiros ant e prox, que apontam, respectivamente, para o nodo anterior e para o
próximo nodo. Esta característica permite que a estrutura seja percorrida em ambos os sentidos.
Assim analisando as operações a seguir:

p->ant->prox=p->prox;
p->prox->ant=p->ant;

Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que:

As operações possibilitam o percurso do ponteiro p da direita para esquerda.


As operações removem o nodo apontado pelo ponteiro p.
As operações possibilitam o percurso do ponteiro p da esquerda para direita.
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p.
As operações possibilitam a busca de um nodo apontado pelo ponteiro p.

3a Questão (Ref.: 201502421565) Fórum de Dúvidas (0) Saiba (0)

Observe a struct, definida globalmente, e um trecho de uma função que manipula


uma Lista Duplamente Encadeada.

struct listaDE
{
int info;
struct listaDE* ant;
struct listaDE* prox;
};
...
listaDE* novo = new listaDE;
novo->info = valor;
novo->prox = LISTA;
novo->ant = NULL;

Assinale a alternativa que apresenta o protótipo dessa função

listaDE *insereFim(listaDE *LISTA, int valor);

void exibeIpF(listaDE *LISTA);

listaDE *insereInicio(listaDE *LISTA, int valor);

listaDE *remove(listaDE *LISTA, int valor);

listaDE *busca (listaDE *LISTA, int valor);

Gabarito Comentado

4a Questão (Ref.: 201502208687) Fórum de Dúvidas (0) Saiba (0)

Em uma lista linear duplamente encadeada.

Além do campo relativo ao dado, cada nó possui dois ponteiros.


O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista.
Cada ponteiro possui um só endereço que referencia o primeiro nó da lista.
Cada nó possui um só ponteiro que referencia o próximo nó da lista.
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da
lista, formando um ciclo.

Gabarito Comentado

5a Questão (Ref.: 201502200625) Fórum de Dúvidas (0) Saiba (0)

Em relação às estruturas de dados, é correto afirmar:

Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os


princípios da estrutura FILO.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear,
sem disciplina de acesso, onde o primeiro elemento a entrar é o último a sair.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear,
duplamente encadeada.
Um grafo com um único vértice e sem arestas é conhecido como dígrafo.
Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é
uma característica presente nas listas duplamente encadeadas.

Gabarito Comentado

6a Questão (Ref.: 201502856549) Fórum de Dúvidas (0) Saiba (0)

Considere uma lista duplamente encadeada não circular em que

struct nodupla {
int dado;
struct nodupla *dlink; // aponta p/ o nó à direita
struct nodupla *elink; // aponta p/ o nó à esquerda
};

sendo nodupla *p; //ponteiro para o início da lista

A opção que corretamente mostra as instruções para inserir um valor no início da lista apontada
por p é :

nodupla *novo;

novo = new nodupla;


novo->dado = valor;
novo->dlink = p;
novo->elink = NULL;
if (p != NULL)
p->elink = novo;
p = novo;
n nodupla *novo;

novo = new nodupla;


novo->dado = valor;
novo->elink = NULL;
if (p != NULL)
p->elink = novo;
p = novo;

nodupla *novo;

novo = new nodupla;


novo->dado = valor;
novo->dlink = p;
novo->elink = NULL;
p->elink = novo;
p = novo;

nodupla *novo;

novo = new nodupla;


novo.dado = valor;
novo.dlink = p;
novo.elink = NULL;
if (p != NULL)
p.elink = novo;
p = novo;
n

nodupla *novo;

novo = new nodupla;


novo->dado = valor;
novo->dlink = p;
if (p != NULL)
p->elink = novo;
p = novo;
Retornar
ESTRUTURA DE DADOS

Exercício: CCT0260_EX_A1_201401272398 Voltar

Aluno(a): VALERIOS RICARD SOUZA LIMA Matrícula: 201401272398

Data: 02/09/2014 14:28:58 (Finalizada)

1a Questão (Ref.: 201401536897)

Analise as afirmativas abaixo e selecione a alternativa correta.

I Algumas aplicações da estrutura de dados grafo são: Diagrama de Entidade


Relacionamento e Redes de computadores.

II Árvore e lista duplamente encadeada são estruturas não lineares.


III A Fila é uma estrutura não linear e a inserção de um elemento acontece ao final.
IV A Lista é uma das estruturas de dados mais simples, mas não se pode ordená-la.

V O uso de ponteiros é fundamental para construção de listas encadeadas.

I e V são verdadeiras
II E IV são verdadeiras
III e V são verdadeiras
II e V são verdadeiras
I , II e IV são verdadeiras

Gabarito Comentado.

2a Questão (Ref.: 201401865833)


Leia com atenção as afirmativas abaixo e assinale a resposta correta.

I A estrutura de dados que melhor representa os diretórios ou pastas de arquivos do computador é a árvore.
II A estrutura de dados FILA é não linear assim como o Grafo.
III O termo folha em uma estrutura de dados é usado para um nó sem filhos e que tem grau 0,
IV O grau de uma árvore é definido pelo número de subárvores de um nó.
V O grafo é uma estrutura de dados que tem limitação para o número de vértices.
VI Uma das aplicações da estrutura de dados grafo é a Computação Gráfica.

II, IV, V e VI são afirmativas verdadeiras


I, III, IV e VI são afirmativas verdadeiras
II, IV e V são afirmativas verdadeiras
I, II, III e VI são afirmativas verdadeiras
I, II e V são afirmativas verdadeiras

3a Questão (Ref.: 201401566777)


Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de
diretórios (pastas) e sub-diretórios. Qual a estrutura mais adequada para representar este problema ?

pilha
fila
lista
árvore
grafo

4a Questão (Ref.: 201401566513)

O processo de modularização de programa, utiliza funções a fim de


tornar os códigos mais inteligíveis e também possibilitar uma
manutenção mais fácil. Analise o código a seguir e marque a opção
correta:
O programa executa perfeitamente, mas não mostra o valor da media já que esta função não foi
chamada na função main().
O programa não executa corretamente, pois os protótipos estão fora da ordem em que as funções são
descritas.
O programa não executa corretamente pois as funções devem ser descritas antes da função main(),
para que o compilador consiga recohecê-las.
O programa executa perfeitamente independente da ordem das funções já que existem os seus
protótipos.
O programa não executa corretamente, pois o protótipo da função media não apresenta a identificação
dos parâmetros, mas apenas os tipos dos mesmos.

Gabarito Comentado.

5a Questão (Ref.: 201401532449)

Navegadores para internet armazenam os últimos endereços visitados em uma estrutura de


dados. Cada vez que um novo site é visitado, o endereço do site é adicionado na estrutura de
endereços. Quando se aciona o retorno ("back"), o navegador permite que o usuário retorne no
último site visitado e retira o endereço do site da estrutura de dados.

Assinale a estrutura de dados mais adequada para este problema.

lista
fila
pilha
grafo
árvore

Gabarito Comentado.

6a Questão (Ref.: 201401327397)


Estão entre algumas das possíveis formas de se estruturar dados:

Grafos, lista ordenada, vetores.


Algoritmos, lista ordenada, vetores.
Grafos, lista ordenada, algoritmos.
Grafos, algoritmos, fila.
Lista encadeada, vetores, algoritmos.

Gabarito Comentado.

Exercício: CCT0260_EX_A2_201401272398 Voltar

Aluno(a): VALERIOS RICARD SOUZA LIMA Matrícula: 201401272398

Data: 09/09/2014 09:17:24 (Finalizada)


1a Questão (Ref.: 201401530015)
Funções são instrumentos de modularização de programas, que tem como finalidade tornar o código mais legível,
isto é mais fácil de entender, evita replicação de instruções e permite o reuso das funções em outros programas.
Então considere o seguinte código:

#include< iostream >


using namespace std;

int main( )
{
float a=10.0;
float b=4.0;
cout < < media(a,b);
return 0;
}
float media(float x, float y) { return (x+y)/2;}

Marque a alternativa CORRETA:

O código compila normalmente e apresenta como resultado o valor 7.0


O código compila normalmente, pois como a descrição da função float media(float x, float y)está
posicionada após a função int main ( ), não há necessidade do uso de protótipos.
O código não compila, pois a função float media(float x, float y) retorna um valor que seria ser
armazenado em uma variável do tipo float e só então poderia ser usado o comando cout para exibir o
resultado.
O código não compila, pois os parâmetros usados na chamada da função deveriam ser "x" e "y"; porém
a chamada se deu com identificadores "a" e "b".
O código não compila, pois há necessidade de se declarar float media(float, float) como protótipo da
função float media(float x, float y)antes da função principal.

Gabarito Comentado.

2a Questão (Ref.: 201401327781)


Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de
funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e
marque corretamente a alternativa que descreve as funcionalidades desta.

int funcao(float v[], float vl, int n)


{
for (int i = 0; i < n; i++)
if (v[i] == vl)
return i;
return -1;
}

Retorna o valor de vl se o valor n foi encontrado.


Retorna -1 se o valor de vl estiver dentro de v.
Resulta em erro, se o valor de vl não estiver dentro de v.
Retorna a posição de v se o valor vl foi encontrado.
Retorna -1 se o valor de n foi encontrado.

Gabarito Comentado.

3a Questão (Ref.: 201401327750)


As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um espaço
na memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a
declaração desta forma estamos declarando uma variável do tipo:

Constante
Global
Local
Real
Inteiro

4a Questão (Ref.: 201401327785)


A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder armazenar
valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis locais e globais. Sendo
assim, qual das situações abaixo representa melhor o conceito das variáveis globais.

Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta variável em
outra função, onde tambem está declarada a variável 'Y', será acusado um erro de compilação.
Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome apresentando
o mesmo valor.
Em uma função "resul" tem-se uma variável ali declarada por 'T' que recebe o valor inteiro 5. Ao tentar
chamar esta variável em outra função é mencionado um warning.
Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor poderemos
imprimir esta variável em qualquer outra função do programa mostrando o valor atribuído na função
"mostra".
Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado
em qualquer outra função do programa.

Gabarito Comentado.

5a Questão (Ref.: 201401330585)


No programa abaixo, diga em que área de memória serão alocados os elementos de dados y e r,
respectivamente.

#include
using namespace std;
int x, y;
float media( float a, float b )
{ float tmp;
tmp = (a + b ) / 2.0;
return ( tmp );
}
int main()
{
float r;
cout<<"Informe 2 valores: ";
cin>>x>> y;
r = media( x, y );
cout<<"\nMedia = "<< r<<"\n";
system ("pause");
}

( ) área de dados globais / área de pilha


( ) área de pilha / área de registro
( ) área de registro / área de dados globais
( ) área de dados globais / área de registro
( ) área de registro / área de pilha
6a Questão (Ref.: 201401533415)

Observe o programa abaixo e escolha a alternativa que apresenta o retorno da


função chamada pela função main().

O valor retornado corresponde ao índice da variável que


contem o maior número
Retorna 0 porque o nome do vetor da função main(...) é
diferente do nome do vetor da função descobre(...)
O menor número é retornado
O maior número é retornado
O valor retornado corresponde ao índice mais um da variável
que contem o menor número

Gabarito Comentado.

Exercício: CCT0260_EX_A3_201401272398 Voltar

Aluno(a): VALERIOS RICARD SOUZA LIMA Matrícula: 201401272398

Data: 15/09/2014 21:31:12 (Finalizada)

1a Questão (Ref.: 201401327617)


Suponha uma listagem, contendo número de inscrição e pontuação (ordenada pelo número de inscrição) dos
candidatos para o cargo de Analista de Sistemas de uma grande empresa pública. São 1024 candidatos inscritos
e o sistema implementado para consulta do resultado, permite busca binária ou busca sequencial pelo número
de inscrição. O número máximo de comparações executadas se fosse utilizada a busca binária e se fosse
utilizada busca sequencial, respectivamente, seria de:
512 e 1024
10 e 10
9 e 10
1024 e 512
9e9

Gabarito Comentado.

2a Questão (Ref.: 201401327571)


Sobre o funcionamento da busca binária, é correto afirmar que dividindo seu vetor em duas metades.

Se o item for menor que o item que está na metade do vetor, procure na segunda metade, ou seja, a da
direita.
Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.
Se o item for menor que o item que está na metade do vetor, o item foi encontrado.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Se o item for maior que o item que está na metade do vetor procure na primeira metade, ou seja, a da
direita.

Gabarito Comentado.

3a Questão (Ref.: 201401330582)


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;

pesquisa cadeias indexada


pesquisa binária
pesquisa sequencial
pesquisa indexada
pesquisa de cadeias
Gabarito Comentado.

4a Questão (Ref.: 201401327424)


Marque a afirmativa correta para a "Busca ou pesquisa binária".

Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.

Gabarito Comentado.

5a Questão (Ref.: 201401327780)


Os algoritmos de busca são muito utilizados em estrutura de dados. Sendo assim, o algoritmo que realiza a
busca em vetores e que exige acesso aleatório aos elementos do mesmo e que parte do pressuposto de que o
vetor está ordenado e realiza sucessivas divisões do espaço de busca comparando o elemento que se deseja
com o elemento do meio do vetor, é chamado de:

Pesquisa de seleção
Pesquisa sequêncial
Pesquisa binária
Tabela Hash
Pesquisa ordenada

Gabarito Comentado.

6a Questão (Ref.: 201401530018)


Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente,
agrupados sob uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de
uma estrutura como:

struct aluno {
string nome;
float nota;
};

Suponha ainda que exista um vetor desta estrutura, definido como:


aluno vet [ 100];

Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo elemento deste vetor.

vet[10]=aluno.5.7;
aluno.vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
vet[10].nota=5.7;
aluno.vet[10]=5.7;

Gabarito Comentado.

Exercício: CCT0260_EX_A4_201401272398 Voltar

Aluno(a): VALERIOS RICARD SOUZA LIMA Matrícula: 201401272398

Data: 22/09/2014 19:52:36 (Finalizada)

1a Questão (Ref.: 201401327760)


O processo de rearranjar um conjunto de dados em uma ordem crescente ou decrescente é chamado de
ordenação. Existem várias técnicas de ordenação, entretanto a técnica que procura o menor valor entre todos
os elementos do vetor e troca-o pelo primeiro elemento; para os n - 1 elementos restantes, determinação do
elemento de menor valor e troca pelo segundo elemento e assim sucessivamente, é chamado de:

Binária
Seleção
Bolha
Hash
Inserção

Gabarito Comentado.

2a Questão (Ref.: 201401537260)

Observe a função e o vetor abaixo e acompanhe no teste de mesa até


que i seja 0, j seja 5 e a instrução vet[i]=temp; tiver sido executada.

Assinale a alternativa onde estão presentes os valores corretos de v[i], aux etemp.

6,4e6
67, 3 e 15
18, 2 e 67
67, 4 e 23
23 , 4, e 6

Gabarito Comentado.

3a Questão (Ref.: 201401327672)


O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus
elementos o nome e a nota obtida pelo candidato. Deseja-se que este vetor seja ordenado pela nota, em ordem
decrescente. Sendo o vetor pequeno (poucos elementos), o programador responsável por desenvolver este algoritmo,
escolheu um método de ordenação que executa os seguintes passos:

 Selecione candidato com maior nota entre todos e troque-o com o candidato que está na primeira posição do
vetor;
 Selecione o segundo maior e troque-o com o candidato que está na segunda posição;
 Os passos descritos anteriormente são seguidos para a terceira nota, quarta nota e assim por diante até que reste
apenas um candidato.

O algoritmo utilizado pelo programador trata-se do método de ordenação denominado:

Inserção
Bolha
Quicksort
Heapsort
Seleção

Gabarito Comentado.

4a Questão (Ref.: 201401530022)


Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa
sequencial e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em vetores
independente destes estarem ordenados, entretanto a busca binária só se aplica em vetores ordenados.
Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da
busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos
elementos do vetor até achar o que procuram ou definirem que o elemento não se encontra no vetor.
Sendo assim marque a alternativa que expressa o número de testes realizados pela busca sequencial e o
número de testes realizados pela busca binária, respectivamente, até encontrarem o 70.

6e2
6e4
7e1
6e1
5e5

Gabarito Comentado.

5a Questão (Ref.: 201401327417)


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

6a Questão (Ref.: 201401330821)


Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação
deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta
que cita o algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre
os elementos que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido
entre os ordenados movendo-se os elementos maiores que ele uma posição para a direita e posteriormente
inserindo-o na posição vaga".

QuickSort
Seleção
MergeSort
Bolha
Inserção

Gabarito Comentado.

Exercício: CCT0260_EX_A5_201401272398 Voltar

Aluno(a): VALERIOS RICARD SOUZA LIMA Matrícula: 201401272398

Data: 30/09/2014 20:43:02 (Finalizada)

1a Questão (Ref.: 201401327755)


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 é:

Pilha
Ponteiro
Struct
Matriz
Fila

2a Questão (Ref.: 201401327744)


Tanto a operação TOP (acessa topo), quanto à operação POP (remover), permite acessar o último elemento
armazenado em uma Pilha. Quanto à diferença entre ambas as operações em relação ao estado da Pilha é
correto afirmar:

Ambas alteram o estado da Pilha


Somente a operação POP altera o estado da Pilha
Nenhuma das operações altera o estado da Pilha
Somente a operação TOP altera o estado da Pilha
A operação TOP remove um elemento e altera o estado da Pilha
Gabarito Comentado.

3a Questão (Ref.: 201401327249)


A estrutura de dados Pilha funciona de acordo com o seguinte fundamento básico:

O primeiro a entrar é o primeiro a sair.


Tanto o primeiro como o último podem sair primeiro.
O último a entrar é o último a sair.
O primeiro a entrar é o último a sair.
Quem estra no topo da pilha não sai mais.

Gabarito Comentado.

4a Questão (Ref.: 201401327732)


Ao remover um elemento armazenado em uma pilha é necessário a atualização da variável (Topo) indicadora de
posição. Qual das alternativas abaixo está correta?

Antes da operação de remoção incrementa a variável indicadora de posição.


Após a operação de remoção incrementa a variável indicadora de inicio.
Após a operação de remoção decrementa a variável indicadora de posição.
Após a operação de remoção incrementa a variável indicadora de posição.
Antes a operação de remoção decrementa a variável indicadora de posição.

Gabarito Comentado.

5a Questão (Ref.: 201401537385)

No ENEM 2012, 5790989 estudantes confirmaram inscrição.

Evidentemente, muitos faltaram às provas e o número exato não era sabido quando foi pedido ao
desenvolvedor que definisse uma função para que pudesse listar toda inscrição, e respectiva nota de
redação tabulada, que tivesse alcançado uma pontuação maior ou igual à nota procurada e, ao final, o
total de estudantes que atingiram essa meta.

Como só interessava a nota de redação, o desenvolvedor definiu a struct abaixo e começou a definir
a função queFaz(...) para que pudesse atender ao que foi pedido, usando a estrutura de dados Lista
Sequencial.

Entretanto, ele não conseguiu finalizar. Poderia você ajudá-lo?


Assinale a alternativa correta onde está presente o trecho que completa a função.
Gabarito Comentado.

6a Questão (Ref.: 201401327261)


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?

LIFO
ARRAY
FIFO
TABLE
RECORD

Gabarito Comentado.

Exercício: CCT0260_EX_A6_201401272398 Voltar

Aluno(a): VALERIOS RICARD SOUZA LIMA Matrícula: 201401272398

Data: 07/10/2014 20:43:06 (Finalizada)

1a Questão (Ref.: 201401866966)


Observe a função que manipula uma pilha e assuma que TAM é uma constante definida com valor 5. Saiba
que o nome da função já explícita a finalidade dela.

Considere a chamada da função conforme linha abaixo, sabendo-se que vet é um vetor de tamanho 5 e que
não tem nenhum valor ainda:

Analise as afirmativas abaixo que sugerem correções, ou não, na definição na função e assinale a opção
que contem as afirmativas corretas.

I Faltou & antes da variável vetor e irá acusar erro.


II A variável topo está sem tipo.
III O teste está correto porque o índice do primeiro elemento do vetor em C++ é 1, obrigatoriamente.
IV Na linha comentada deveria estar presente um comando de atribuição que decrementaria a variável topo.
V A linha vetor[topo]=valor; está correta.
II e V estão corretas
I, II e IV estão corretas
I e III estão corretas
I , III e V estão corretas
I e II estão corretas

Gabarito Comentado.

2a Questão (Ref.: 201401867032)


Abaixo temos algumas afirmativas sobre o uso da estrutura pilha de forma estática e sequencial. Leia com
muita atenção e assinale a opção correta.

I Não existe movimentação na pilha quando inserimos ou removemos um elemento. Apenas o valor da
variável que controla o topo é alterado.
II Não podemos usar estruturas homogêneas, ou heterogêneas e uma variável para controlar o topo na
alocação sequencial.
III Um dos fatores que limita o crescimento da pilha é a quantidade de memória alocada quando usamos
matrizes.
IV Quando formos empilhar um elemento, é preciso verificar se a pilha não está cheia. Isso evita underflow.
V Quando formos desempilhar um elemento, é preciso verificar se a pilha não está vazia. Isso evita overflow.

I e III estão corretas


I, IV e V estão corretas
II, IV e V estão corretas
I, IV e V estão corretas
Somente a I está correta

Gabarito Comentado.

3a Questão (Ref.: 201401530027)


As pilhas sequenciais são estruturas que guardam a ordem reversa dos dados nelas armazenados, e isto em
muitas ocasiões é muito vantajoso. A operação usada para inserir um elemento X numa pilha é conhecida
na literatura como PUSH (X). Para remover um elemento de uma pilha a operação é o POP( ). Assim estas
duas funções devem implentar o algoritmo LIFO (Last In - First Out ) ou o último a entrar é o primeiro a
sair. Sendo assim se aplicarmos as seguintes operações em uma PILHA vazia:

PUSH(10),PUSH(5),POP(),PUSH(7),POP(),PUSH(2),POP(),POP( ).

Quais valores restarão na pilha?

10 e 2
Nenhum, a pilha estará vazia.
Apenas o 10
7e2
Apenas o 2

4a Questão (Ref.: 201401565624)


Um jogo de memória fornece sequências de números e o jogador deve dizer qual a sequência inversa para cada
nova sequência fornecida pelo jogo. Qual a estrutura de dados mais adequada para modelar esse jogo ?

árvore
pilha
fila
lista
grafo

5a Questão (Ref.: 201401535972)

Sabemos que podemos representar uma expressão de três formas, sendo que uma
delas é chamada de notação polonesa reversa ( pós-fixa).
Suponha que um professor de Estrutura de Dados desejasse compor a nota do
bimestre com uma prova e um trabalho oral, usando pesos diferenciados para as
notas. Sendo assim, usaria a média ponderada como a expressão abaixo.

A única calculadora que encontrou disponível foi uma com representação pós fixa.
Assinale a alternativa que apresenta a sequência que deveria ser digitada pelo
professor para conseguir calcular a média de um aluno.

/ * nota1 peso1 + * nota2 peso2 + peso1 peso2


nota1 peso1 * nota2 peso2 * peso1 peso2 + + /
nota1 peso1 * nota2 peso2 * + peso1 peso2 + /
/ + * nota1 peso1 * nota2 peso2 + peso1 peso2
nota1 peso1 nota2 peso2 peso1 peso2 * * + + /

Gabarito Comentado.

6a Questão (Ref.: 201401866875)


Analise as afirmativas sobre uma pilha estática e assinale a opção correta.

I Ordenar é uma operação que não se faz com pilha.


II Inserir dados é uma operação que se faz com a pilha.
III Remover dados em qualquer posição é uma operação que se faz com a pilha.
IV Verificar se a Pilha está cheia é necessário quando se deseja inserir nela.
V Inicializar uma pilha significa zerar todas as variáveis do vetor.

I e IV estão corretas.
I e II estão corretas.
I, II e V estão corretas.
I, II e IV estão corretas.
II e III estão corretas.

Gabarito Comentado.

Exercício: CCT0260_EX_A7_201401272398 Voltar

Aluno(a): VALERIOS RICARD SOUZA LIMA Matrícula: 201401272398

Data: 15/10/2014 09:31:29 (Finalizada)

1a Questão (Ref.: 201401530029)


As filas sequenciais são estruturas de dados utilizadas em diversas aplicações, tais como fila de
processo, fila de impressão, sistemas de senha etc. Entretanto, nas aplicações onde há muita
movimentação de dados, inserções e remoções de dados na fila, surgem espaços ociosos que podem
levar ao fenômeno chamado de esgotamento de memória. Para sanar este problema pode-se substituir
a fila sequencial por:

fila circular
pilha sequencial
lista circular
pilha circular
lista sequencial

Gabarito Comentado.

2a Questão (Ref.: 201401327753)


As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores
podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa
forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover
os elementos a sua frente, é chamada de:

Fila
Pilha
Matriz
Bolha
Struct

Gabarito Comentado.

3a Questão (Ref.: 201401327741)


Para a criação de uma Fila seqüencial basta iniciar as variáveis de início e final, ou seja, apontá-las para as
posições iniciais do vetor. O que alteraria na rotina de inserir se a variável final fosse inicializada com o valor -1
(menos um):

Após a inserção deve-se fazer o incremento da variável final


Antes da inserção deve-se fazer o decremento da variável final
Após a inserção deve-se fazer o decremento da variável final
Antes da inserção deve-se fazer o incremento da variável final
Após a inserção deve-se fazer o incremento da variável inicio

Gabarito Comentado.

4a Questão (Ref.: 201401327242)


Complete os espaços na afirmativa abaixo e assinale a alternativa que apresenta as respostas corretas: O
escalonamento .................... é do tipo.................., em que o processo que chegar primeiro na fila de pronto é
o escolhido para ser executado.

SJF (Shortest-Job-First), preemptivo.


FIFO, não-preemptivo.
LIFO, não-preemptivo.
Circular, não-preemptivo.
Por prioridades, preemptivo.

5a Questão (Ref.: 201401532673)

void enfileirar(Fila F, int valor) {

if (F.fim == n)

cout << "Fila cheia\n";

else {

F.fim++;

F.v[F.fim] = valor;

void enfileirar(Fila &F, int valor) {

if (F.fim == n - 1)

cout << "Fila cheia\n";


else {

F.fim++;

F.v[F.fim] = valor;

void enfileirar(Fila F, int valor) {

if (F.fim == n - 1)

cout << "Fila cheia\n";

else {

F.fim++;

F.v[F.fim] = valor;

void enfileirar(Fila &F, int valor) {

if (fim == n - 1)

cout << "Fila cheia\n";

else {

fim++;

v[fim] = valor;

void enfileirar(Fila &F, int valor) {

if (F.fim == n - 1)

cout << "Fila cheia\n";

else

F.v[F.fim] = valor;

Gabarito Comentado.

6a Questão (Ref.: 201401539872)

Um aluno do EAD estava estudando para a prova de Estrutura quando viu o trecho do
programa abaixo em uma apostila.
Como não estava com seu micro, começou a analisar a função entra(...), ficando atento a
alguns membros da struct.

Quando finalizou, virou a página da apostila e viu a resposta. Então, ficou muito feliz por
ter identificado a estrutura

Assinale a alternativa onde está presente a resposta correta.

Fila
Lista simplesmente encadeada
Fila Circular
Lista Linear
Pilha

Gabarito Comentado.

Exercício: CCT0260_EX_A8_201401272398 Voltar

Aluno(a): VALERIOS RICARD SOUZA LIMA Matrícula: 201401272398

Data: 22/10/2014 11:55:12 (Finalizada)


1a Questão (Ref.: 201401539703)
Observe o trecho de um código abaixo

struct no
{
int dado;
struct no *proximo;
};

int main()
{
no *lista=new no;
no *pt= new no;
lista->dado=1989;
lista->proximo=NULL;
...

//Nesse ponto, assuma que cinco nós foram alocados em uma lista simplesmente encadeada e valores
atribuídos aos membros dado na sequência: 1989 2014 2011 1962 2002 e, que através do comando
abaixo, o ponteiro pt passou a apontar para um nó da lista.

pt->proximo=lista->proximo->proximo;

Assinale a alternativa que apresenta o comando equivalente a:

cout << " \nValor do ?o no: " << pt->proximo->proximo->dado;

cout << " \nValor do ?o no: " << lista->dado;


cout << " \nValor do ?o no: " << lista->proximo->dado;
cout << " \nValor do ?o no: " << lista->proximo->proximo->proximo->dado;
cout << " \nValor do ?o no: " << lista->proximo->proximo->dado;
cout << " \nValor do ?o no: " << lista->proximo->proximo->proximo-> proximo-
>dado;

Gabarito Comentado.

2a Questão (Ref.: 201401866322)


Vários conceitos foram estudados quando se falou sobre ponteiros e alocação dinâmica. Entre eles, o de
Fragmentação Externa. Assinale a opção que explica o que significa.

Espaço de Memória não utilizado dentro do segmento.


Espaço livre no HD.
Espaço de Memória perdido entre os segmentos.
Significa alocação não contígua.
Código do programa gravado em partes separadas na memória.

Gabarito Comentado.

3a Questão (Ref.: 201401566764)


Dr. Pei Tam possui uma lista não ordenada de pacientes de seu consultório em que registra apenas
o nome endereço e o telefone de cada paciente. Como não há limites para o crescimento de sua
lista, como se pode implementar a inserção de um novo paciente na lista, sabendo que cada
paciente é do tipo Paciente e a lista é do tipo List assim definidos :

struct Paciente {

long int matricula;

string nome, endereco e tel;

};

struct List {

Paciente p;

struct List *link;

};

List * inserePac(List *i) {

List *novo = new List;

Paciente pat;

novo->p = pat;

novo->link = i;

return novo;

List * inserePac(List *i, Paciente pt){

List *novo ;

novo->p = pt;

novo->link = i;

return novo;
}
List * inserePac(List *i, Paciente pac)

List *novo = new List;

novo.p = pac;

novo.link = i;

return novo;
}

List * inserePac(List *i, Paciente pt)

List *novo = new List;

novo->p = pt;

novo->link =i;

return novo;

List insereCliente(List *i, Paciente pac)

List novo[];

novo[0].p = pac;

novo[0].link = i;

return novo;

Gabarito Comentado.

4a Questão (Ref.: 201401565628)


Sou uma empresária que quer crescer e por isso, tenho que aumentar progressivamente a minha lista de
clientes, sem limitar este crescimento. Assim, à medida que novos clientes são cadastrados, posso, se
necessário, contratar mais e mais empregados. Marque a opção que especifica o tipo de lista e o tipo de
alocação de memória mais adequados para este problema.

lista encadeada e alocação dinâmica de memória


fila encadeada e alocação dinâmica de memória
pilha dinâmica e alocação dinâmica de memória
lista sequencial e alocação dinâmica de memória
fila dinâmica e alocação dinâmica de memória

Gabarito Comentado.

5a Questão (Ref.: 201401567621)

Vetores são elementos considerados longos quando usados como parâmetros


de funções, mesmo assim pode-se passar um vetor como um argumento de
uma função. Seja o exemplo a seguir codificado em C++:
int main()
{
int vetor[]={1,2,3,4,5};
saída(vetor,5);
return 0;
}

Neste exemplo a função saída( ) está sendo chamada e recebe como


parâmetros o vetor e o inteiro 5. Marque a alternativa que ilustra uma
possibilidade correta de protótipo para esta função.

void saída(int *vetor, int dim);


void saída(int vetor, int dim);
void saída(int **vetor, int dim);
void saída(vetor [ ], int dim);
void saída(int [ ] vetor, int dim);

Gabarito Comentado.

6a Questão (Ref.: 201401532683)


xercício: CCT0260_EX_A9_2014012723
98 Voltar
Aluno(a): VALERIOS RICARD SOUZA
Matrícula: 201401272398
LIMA

Data: 29/10/2014 21:35:03 (Finalizada)

1a Questão (Ref.: 201401327245)


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

Vetor
Registro
Pilha
Fila
Loop

Gabarito Comentado.

2a Questão (Ref.: 201401327637)


Qual o valor de a após a execução do trecho abaixo?

int a = 10;

int *x;

x = &a;
*x = 55;

10
65
55
0
existe um erro no trecho de código

Gabarito Comentado.

3a Questão (Ref.: 201401327754)


Para simular uma lista encadeada simplesmente pode se utilizar as estruturas de ponteiros. Como pode ser
definida uma estrutura do tipo ponteiro?

Uma estrutura que aponta para um objeto de arquivo.


Um objeto que armazena dado diretamente na memória.
Um objeto que contém um endereço de memória.
Um objeto que não contém endereço de memória.
Uma estrutura utilizada apontar erros de operações.

Gabarito Comentado.

4a Questão (Ref.: 201401532702)


Assinale a opção correta. Sobre pilha dinâmica podemos afirmar que :

insere-se em qualquer posição, antes ou após qualquer nó, visto que é dinâmica.

só pode ter seus dados impressos no sentido do último nó para o primeiro nó.

é recomendada para qualquer tipo de aplicação em que insere-se no final e retira-se do


início.

usa o critério LIFO e é implementada usando-se listas encadeadas.


usa o critério FIFO, visto que é dinâmica.

Gabarito Comentado.

5a Questão (Ref.: 201401327767)


As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a
ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define
um tipo de dado estruturado.

Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus
elementos.
Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao
longo da execução de um programa.
Também são denominados tipos primitivos, não é possível decompor em partes menores.
São tipos de dados indivisíveis.
Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado.

Gabarito Comentado.

6a Questão (Ref.: 201401327752)


A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura
chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de
uma estrutura do tipo Struct?

Nome da estrutura seta tipo do campo


Nome da estrutura ponto nome do campo
Nome da estrutura ponto tipo do campo
Nome da estrutura vírgula tipo do campo
Nome da estrutura seta nome do campo

Gabarito Comentado.

Exercício: CCT0260_EX_A10_201401272398 Voltar

Aluno(a): VALERIOS RICARD SOUZA LIMA Matrícula: 201401272398

Data: 04/11/2014 21:24:29 (Finalizada)

1a Questão (Ref.: 201401330823)


Em algumas situações, principalmente na utilização de listas, há a necessidade de posicionar o ponteiro em
determinado local da lista. Dessa forma, analisando o trecho de código abaixo, que mostra uma função, assinale
a alternativa correta que descreve o objetivo desta. Sabe-se que o sinal de asterisco (*) sinaliza um ponteiro.

void funcao (Nodo **P){


if ( *P != NULL ){
while ( (*P) -> Anterior != NULL )
*P= (*P) -> Anterior;
}
}

Posicionar o ponteiro onde houver o valor NULL


Posicionar o ponteiro no meio da lista
Posicionar o ponteiro no final da lista
Colocar o valor NULL em todos os ponteiros
Posicionar o ponteiro no início da lista

Gabarito Comentado.

2a Questão (Ref.: 201401327567)


Marque a afirmativa que represente uma Lista Circular Simplesmente Encadeada:
Cada ponteiro possui um só endereço que referencia o "primeiro" nó da lista.
O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista.
Além do campo relativo ao dado, cada nó possui dois ponteiros,
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "último" nó da lista, formando
um ciclo.
Cada nó possui um só ponteiro que referencia o próximo nó da lista.

Gabarito Comentado.

3a Questão (Ref.: 201401327256)


Em relação as estruturas de dados, aquela que corresponde ao armazenamento em uma lista linear com a
posição relativa (não contígua) na memória de dois nós consecutivos da lista é conhecida por alocação:

Encadeada.
Binária.
Estática.
Combinada.
Seqüencial.

Gabarito Comentado.

4a Questão (Ref.: 201401327756)


As listas encadeadas podem ser elaboradas de duas formas utilizando uma técnica de encadeamento
simplesmente ou encadeamento duplo. O que difere uma lista simplesmente encadeada de uma lista
duplamente encadeada?

Em uma lista simplesmente encadeada cada nó aponta para nó seguinte e para o nó anterior.
Em uma lista duplamente encadeada cada nó aponta para nó seguinte.
Em uma lista duplamente encadeada, cada nó aponta para um nó enquanto a lista simplesmente
encadeada aponta para mais de um nó.
Em uma lista simplesmente encadeada cada nó aponta para um único nó enquanto a lista duplamente
encadeada aponta para mais de um nó.
Em uma lista duplamente encadeada cada nó aponta para nó seguinte e para o primeiro nó da fila.

5a Questão (Ref.: 201401330815)


Um tipo de estrutura de dados é declarada em C como:
typedef struct no *apontador;
struct no{
int valor;
apontador esq, dir;
}
onde esq e dir representam ligações para os dados da esquerda e direita, respectivamente. Qual das seguintes
alternativas é uma implementação correta da operação que inverte as posições dos dados da esquerda e da
direita uma estrutura p, onde t é um apontador auxiliar.

p->dir=t;
p->esq = p->dir;
p->dir = t;
t=p;
p->esq = p->dir;
p->dir = p->esq;
t=p->dir;
p->esq = p->dir;
p->dir = t;
p->esq = p->dir;
t = p->esq;
p->dir = t;
t=p->dir;
p->dir = p->esq;
p->esq = t;

6a Questão (Ref.: 201401327568)


Marque a afirmativa que represente uma concatenação em listas.

Intercalar a ordem dos dados da lista do final para o início, atualizando a lista.
Alterar a ordem dos dados da lista do final para o início, atualizando a lista.
Organizar os dados da lista em ordem crescente ou decrescente.
Consiste em dividir a lista em duas outras listas. A quantidade de nós que cada lista terá, depende da
necessidade.
Juntar duas listas, colocando uma lista no final de outra, obtendo, ao final, uma só lista resultante.

Gabarito Comentado.
Exercício: CCT0260_EX_A1_201510492054_V1 Matrícula: 201510492054

Aluno(a): ALLISON LEONE FRANCELINO RAMOS DA SILVA Data: 07/05/2017 22:14:59 (Finalizada)

1a Questão (Ref.: 201511160288) Fórum de Dúvidas (1) Saiba (1)

Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados mais
adequada para modelar este problema, visto que não há qualquer preocupação com ordem de chegada ou saída de
aluno da turma.

Árvore
Pilha
Grafo
Fila
Lista

2a Questão (Ref.: 201510771630) Fórum de Dúvidas (1) Saiba (1)

As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados
ou informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de
manipulação dados associados a estas estruturas. Verifique as seguintes sentenças:

I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.

II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes
foram armazenados.

III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes
foram armazenados.

IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes
foram armazenados.

Marque a alternativa CORRETA:

As alternativas II e IV estão corretas.


Todas as alternativas estão corretas.
As alternativas III e IV estão corretas.
As alternativas I e III estão corretas.
As alternativas I e II estão corretas

Gabarito Comentado

3a Questão (Ref.: 201511182909) Fórum de Dúvidas (1) Saiba (1)


As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados ou
informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de manipulação
de dados associados a estas estruturas.
Verifique as seguintes sentenças:
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
Marque a alternativa CORRETA:

As alternativas II e IV estão corretas.


As alternativas I e III estão corretas.
As alternativas III e IV estão corretas.
As alternativas I e II estão corretas
Todas as alternativas estão corretas.

4a Questão (Ref.: 201510569389) Fórum de Dúvidas (1 de 1) Saiba (1 de 1)

As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a
ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define
um tipo de dado estruturado.

São tipos de dados indivisíveis.


Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado.
Também são denominados tipos primitivos, não é possível decompor em partes menores.
Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir
ao longo da execução de um programa.
Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre
seus elementos.

Gabarito Comentado

5a Questão (Ref.: 201510569012) Fórum de Dúvidas (1 de 1) Saiba (1 de 1)

Podemos dizer que estrutura de dados é:

O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.


É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.

Gabarito Comentado
6a Questão (Ref.: 201510808399) Fórum de Dúvidas (1) Saiba (1)

Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de


diretórios (pastas) e sub-diretórios. Qual a estrutura mais adequada para representar este problema ?

pilha
lista
grafo
fila
árvore

Gabarito Comentado

7a Questão (Ref.: 201511240853) Fórum de Dúvidas (1) Saiba (1)

A que estrutura pertence a definição: " Uma estrutura não linear que é um conjunto de nós e suas conexões
entre eles e não há limitação de vértices. Muito utilizada para representação de percursos em mapas."

filas encadeadas
pilhas encadeadas
structs
grafos
listas encadeadas

8a Questão (Ref.: 201511182937) Fórum de Dúvidas (1) Saiba (1)

As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que
possibilita a otimização do uso destes dados. Porém, as estruturas guardam características especiais na
manipulação destes dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada
aplicação. Portanto marque a opção que representa a melhor estrutura, quando se tem como requisitos
principais o acesso aleatório aos dados e alocação destes de forma contínua na memória.

Pilha Sequencial
Lista Sequencial
Pilha Encadeada
Lista Encadeada
Fila Sequencial

Exercício: CCT0260_EX_A2_201510492054_V1 Matrícula: 201510492054

Aluno(a): ALLISON LEONE FRANCELINO RAMOS DA SILVA Data: 07/05/2017 22:17:22 (Finalizada)
1a Questão (Ref.: 201511151799) Fórum de Dúvidas (1 de 1) Saiba (1 de 1)

Uma função possui um valor de retorno inteiro, recebe por valor um inteiro como primeiro parâmetro e por
referência um inteiro como segundo parâmetro. Qual das respostas abaixo poderia representar o protótipo
dessa função:

void func (int a, int &b);


int func (int a, int &b);
int func (int &a, int b);
void func (int &a, int &b);
int func (&int, int);

Gabarito Comentado

2a Questão (Ref.: 201510569407) Fórum de Dúvidas (1) Saiba (1)

A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder armazenar
valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis locais e globais. Sendo
assim, qual das situações abaixo representa melhor o conceito das variáveis globais.

Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor
poderemos imprimir esta variável em qualquer outra função do programa mostrando o valor atribuído
na função "mostra".
Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome
apresentando o mesmo valor.
Em uma função "resul" tem-se uma variável ali declarada por 'T' que recebe o valor inteiro 5. Ao
tentar chamar esta variável em outra função é mencionado um warning.
Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado
em qualquer outra função do programa.
Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta variável
em outra função, onde tambem está declarada a variável 'Y', será acusado um erro de compilação.

Gabarito Comentado

3a Questão (Ref.: 201510809187) Fórum de Dúvidas (1) Saiba (1)


O programa não executa corretamente, pois o protótipo da função media( ) não
apresenta a identificação dos parâmetros, mas apenas os tipos dos mesmos.
O programa não executa corretamente pois as funções devem ser descritas antes
da função main(), para que o compilador consiga reconhecê-las.
O programa executa perfeitamente independente da ordem das funções já que
existem os seus protótipos.
O programa executa perfeitamente, mas não mostra o valor da media já que esta
função não foi chamada na função main( ).
O programa não executa corretamente, pois os protótipos estão fora da ordem em
que as funções são descritas.

Gabarito Comentado
4a Questão (Ref.: 201510569406) Fórum de Dúvidas (1 de 1) Saiba (1 de 1)

Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções
precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome
e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os
parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado.
Quando se envia o endereço estamos ativando a função por meio de:

Envio de inteiro.
Envio de valor.
Passagem por valor.
Ponteiros.
Registro.

Gabarito Comentado

5a Questão (Ref.: 201510771637) Fórum de Dúvidas (1) Saiba (1)

Funções são instrumentos de modularização de programas, que tem como finalidade tornar o código mais legível,
isto é mais fácil de entender, evita replicação de instruções e permite o reuso das funções em outros programas.
Então considere o seguinte código:

#include< iostream >


using namespace std;

int main( )
{
float a=10.0;
float b=4.0;
cout < < media(a,b);
return 0;
}
float media(float x, float y) { return (x+y)/2;}

Marque a alternativa CORRETA:

O código não compila, pois há necessidade de se declarar float media(float, float) como protótipo da
função float media(float x, float y)antes da função principal.
O código não compila, pois a função float media(float x, float y) retorna um valor que seria ser
armazenado em uma variável do tipo float e só então poderia ser usado o comando cout para exibir o
resultado.
O código compila normalmente e apresenta como resultado o valor 7.0
O código não compila, pois os parâmetros usados na chamada da função deveriam ser "x" e "y"; porém
a chamada se deu com identificadores "a" e "b".
O código compila normalmente, pois como a descrição da função float media(float x, float y)está
posicionada após a função int main ( ), não há necessidade do uso de protótipos.

Gabarito Comentado
6a Questão (Ref.: 201511157680) Fórum de Dúvidas (1) Saiba (1)

Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção. Portanto, utiliza-se
a tecnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas.
Esta técnica, também chamada de modularização, tem como principal elemento:

As Filas
As funções
Os Grafos
Os Vetores
As Estruturas de Dados

7a Questão (Ref.: 201510569372) Fórum de Dúvidas (1) Saiba (1)

As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um espaço
na memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a
declaração desta forma estamos declarando uma variável do tipo:

Real
Inteiro
Local
Global
Constante

Gabarito Comentado

8a Questão (Ref.: 201511133197) Fórum de Dúvidas (1 de 1) Saiba (1 de 1)

Na passagem por ____________________ , o endereço da variável da função chamadora é passado para a


função chamada e, dessa forma, o valor poderá ser alterado, ou não.

referência
número
caracter
void
valor

Exercício: CCT0260_EX_A3_201510492054_V1 Matrícula: 201510492054

Aluno(a): ALLISON LEONE FRANCELINO RAMOS DA SILVA Data: 07/05/2017 22:18:18 (Finalizada)

1a Questão (Ref.: 201510568867) Fórum de Dúvidas (0) Saiba (0)


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

Loop
Fila
Pilha
Registro
Vetor

Gabarito Comentado

2a Questão (Ref.: 201511208721) Fórum de Dúvidas (0) Saiba (0)

Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente,
agrupados sob uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de
uma estrutura como:

struct aluno {
string nome;
float nota;
};

Suponha ainda que exista um vetor desta estrutura, definido como:


aluno vet [ 100];

Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento
deste vetor.

aluno.vet[10]=5.7;
vet[10].aluno.nota=5.7 ;
vet[10].nota=5.7;
aluno.vet[10].nota=5.7;
vet[10]=aluno.5.7;

3a Questão (Ref.: 201511240971) Fórum de Dúvidas (0) Saiba (0)

Marque a opção correta, considerando

struct Livro {
int codigo;
float preco;
} liv;

Livro.codigo = 12345;
Livro.liv.codigo = 12345;
liv.preco = 30.70;
liv->preco = 30.70;
Livro->liv.codigo = 12345;

4a Questão (Ref.: 201510569374) Fórum de Dúvidas (0) Saiba (0)

A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura
chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de
uma estrutura do tipo Struct?

Nome da estrutura ponto nome do campo


Nome da estrutura ponto tipo do campo
Nome da estrutura vírgula tipo do campo
Nome da estrutura seta tipo do campo
Nome da estrutura seta nome do campo

Gabarito Comentado

5a Questão (Ref.: 201510774082) Fórum de Dúvidas (0) Saiba (0)

Com relação à struct, é correto afirmar que :

Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do
mesmo tipo.

Cada elemento da struct é denominado membro ou campo, sendo que a struct pode
armazenar elementos de tipos diferentes ou não.

Cada elemento da struct é chamado campo e cada campo deve ser, obrigatoriamente,
de um tipo de dados distinto de outro campo.

A struct é sempre definida dentro da main.

Cada elemento da struct é chamado componente.

Gabarito Comentado

6a Questão (Ref.: 201511139243) Fórum de Dúvidas (0) Saiba (0)

Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras
estruturas. Seja a definição de uma estrutura como: struct aluno { string nome; float media; }; Suponha ainda
que exista um vetor desta estrutura, definido como: aluno vet [ 10]; Marque a alternativa em que é atribuída de
forma correta a media 6.0 para o quarto elemento deste vetor.

vet[3].media=6.0;
aluno[10]=6.0;
aluno[3].media=6.0;
vet[3].aluno=6.0;
aluno[3].10=6.0;

7a Questão (Ref.: 201511182932) Fórum de Dúvidas (0) Saiba (0)

Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma
estrutura como:

struct aluno {
string nome;
float nota;
};

Suponha ainda que exista um vetor desta estrutura, definido como:

aluno vet [100];

Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste
vetor.

vet[10]=aluno.5.7;
aluno.vet[10]=5.7;
aluno.vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
vet[10].nota=5.7;

Exercício: CCT0260_EX_A4_201510492054_V1 Matrícula: 201510492054

Aluno(a): ALLISON LEONE FRANCELINO RAMOS DA SILVA Data: 07/05/2017 22:19:37 (Finalizada)

1a Questão (Ref.: 201510568876) Fórum de Dúvidas (1 de 1) Saiba (0)

O seguinte trecho de programa abaixo representa qual tipo de estrutura de ordenação?

void ordenar(float v[], int n) // n é o no. de elementos em v

int i , // índice
aux, // auxiliar para troca

trocou = true,

fim = n - 1;

while (trocou)

trocou = false; // sinaliza que é falso que trocou

for (i = 0; i < fim; i++)

if (v[i] > v[i+1])

aux = v[i];

v[i] = v[i+1];

v[i+1] = aux;

// sinaliza que é verdadeiro que trocou

trocou = true;

} // fim if

} // fim for

fim--; // decrementa o fim

} // fim while

} // fim da função

Bublesort
Shellsort
Heapsort
Quicksort
Mergesort

Gabarito Comentado

2a Questão (Ref.: 201510569039) Fórum de Dúvidas (1 de 1) Saiba (0)

Marque a afirmativa correta para a "inserção incremental".


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

Gabarito Comentado

3a Questão (Ref.: 201511157673) Fórum de Dúvidas (1 de 1) Saiba (0)

Sabendo-se que o método de seleção também é um método de ordenação que baseia seu algoritmo em trocas
entre os elementos de um vetor, se submetermos a sequencia de inteiros armazenada em um vetor inicialmente
na seguinte ordem : 13, 23, 3, 8, 1. Pode-se dizer que quando o menor elemento do vetor alcançar sua posição
final, a ordenação apresentada no vetor é:

1,8,3,23,13
1,3,23,8,13
1,23,13,8,3
1,23,3,8,13
1,13,23,8,3

Gabarito Comentado

4a Questão (Ref.: 201510572439) Fórum de Dúvidas (1) Saiba (0)

Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer
acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam
ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio
do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso
contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior
do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O
algoritmo que utiliza esta metodologia é:

Seleção
Inserção
Bolha
Pesquisa binária
Pesquisa sequencial

Gabarito Comentado

5a Questão (Ref.: 201510569193) Fórum de Dúvidas (1) Saiba (0)


Sobre o funcionamento da busca binária, é correto afirmar que dividindo seu vetor em duas metades.

Se o item for menor que o item que está na metade do vetor, procure na segunda metade, ou seja, a da
direita.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Se o item for menor que o item que está na metade do vetor, o item foi encontrado.
Se o item for maior que o item que está na metade do vetor procure na primeira metade, ou seja, a da
direita.
Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.

Gabarito Comentado

6a Questão (Ref.: 201510569294) Fórum de Dúvidas (1 de 1) Saiba (0)

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus
elementos o nome e a nota obtida pelo candidato. Deseja-se que este vetor seja ordenado pela nota, em ordem
decrescente. Sendo o vetor pequeno (poucos elementos), o programador responsável por desenvolver este algoritmo,
escolheu um método de ordenação que executa os seguintes passos:

• Selecione candidato com maior nota entre todos e troque-o com o candidato que está na primeira posição do
vetor;
• Selecione o segundo maior e troque-o com o candidato que está na segunda posição;
• Os passos descritos anteriormente são seguidos para a terceira nota, quarta nota e assim por diante até que reste
apenas um candidato.

O algoritmo utilizado pelo programador trata-se do método de ordenação denominado:

Bolha
Heapsort
Quicksort
Seleção
Inserção

Gabarito Comentado

7a Questão (Ref.: 201510619044) Fórum de Dúvidas (1) Saiba (0)

É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado (chave)
com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com
sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca
continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a
busca continua na metade anterior do vetor.
A descrição apresentada trata-se do método denominado busca ......
por comparação.
binária.
por contagem.
linear.
randômica.

Gabarito Comentado

8a Questão (Ref.: 201511154500) Fórum de Dúvidas (1 de 1) Saiba (0)

Em relação à classificação do método de ordenação, assinale abaixo aquele que, durante o processo de
ordenação, só usa a memória principal:

Ordenação Interna
Ordenação Simples
Ordenação Simples Externa
Ordenação Eficiente
Ordenação Externa

Exercício: CCT0260_EX_A5_201510492054_V1 Matrícula: 201510492054

Aluno(a): ALLISON LEONE FRANCELINO RAMOS DA SILVA Data: 07/05/2017 22:20:32 (Finalizada)

1a Questão (Ref.: 201510771647) Fórum de Dúvidas (0) Saiba (0)

As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que possibilita
a otimização do uso destes dados. Porém, as estruturas guardam características especiais na manipulação destes
dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada aplicação. Portanto
marque a opção que representa a melhor estrutura, quando se tem como requisitos principais o acesso aleatório
aos dados e alocação destes de forma contínua na memória.

Pilha Encadeada
Lista Sequencial
Pilha Sequencial
Lista Encadeada
Fila Sequencial

Gabarito Comentado

2a Questão (Ref.: 201510560940) Fórum de Dúvidas (0) Saiba (0)


Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I
atende os não idosos. O sistema II atende os idosos. Nessa situação:

tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados.


tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO.
tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO.

Gabarito Comentado

3a Questão (Ref.: 201510568850) Fórum de Dúvidas (0) Saiba (0)

O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?

remoção
underflow
ordenação
inclusão
overflow

Gabarito Comentado

4a Questão (Ref.: 201510569373) Fórum de Dúvidas (0) Saiba (0)

As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:

Função
Variável
Vetor
Matriz
Registro

Gabarito Comentado

5a Questão (Ref.: 201511133097) Fórum de Dúvidas (0) Saiba (0)

__________________________ é uma lista linear em que a alocação de memória pode ser estática, e que a
forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando se tem em
mente um tamanho pré-definido, ou seja, quando se sabe até onde a lista pode crescer.
Lista Linear Sequencial
Lista Linear Não Alocada
Lista Linear Não Sequencial
Lista Não Linear
Lista Linear de Alocação de Memória

6a Questão (Ref.: 201510569394) Fórum de Dúvidas (0) Saiba (0)

Analisando o trecho do algoritmo abaixo,

pode-se afirmar que se trata de uma operação de:

Remoção de um elemento de uma estrutura FIFO


Exibição de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura FIFO
Remoção de um elemento de uma estrutura LIFO

Gabarito Comentado

7a Questão (Ref.: 201510569230) Fórum de Dúvidas (0) Saiba (0)

Com relação as listas lineares sequenciais:

I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array.

II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice.

III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.

Apenas as afirmações II está corretas.


Apenas as afirmações I e II estão corretas.
Apenas a afirmação I está correta.
Apenas as afirmações II e III estão corretas.
Apenas as afirmações I e III estão corretas.
Gabarito Comentado

8a Questão (Ref.: 201511216916) Fórum de Dúvidas (0) Saiba (0)

Considere uma lista com n livros, em que cada livro é modelado pela struct :

struct Livro {
string titulo, editora, autor;
float preco;
};

A função X abaixo

void X (Livro v[ ], int &n, Livro L)


{
v[n] = L;
n++;
cout << "Operação realizada com sucesso.";
}

implementa a operação de :

Ordenação por inserção


Busca
Inicialização
Substituição
Inserção
Fechar

Avaliação: CCT0260_AV_201307185967 (AG) » ESTRUTURA DE DADOS

Tipo de Avaliação: AV

Aluno: 201307185967 - RENATO GOMES CHAVES

Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9002/AA

Nota da Prova: 3,5 Nota de Partic.: 1 Data: 30/05/2014 18:55:07

1a Questão (Ref.: 201307263127) Pontos: 1,5 / 1,5

Como é a lógica do FIFO?

Resposta: Na lógica FIFO (First In First Out), o primeiro dado a entrar, é o primeiro a sair. A chamada fila.

Gabarito: O primeiro que entra na fila é o primeiro que sai.

2a Questão (Ref.: 201307439114) Pontos: 0,0 / 1,5

Faça uma função em C++ para criar uma lista duplamente encadeada com um nó e
armazenar neste nó o valor 100. Note que deverá ser retornado o ponteiro para o nó
criado. Considere

struct nodupla {

int dado;

struct *dlink, *elink;

};

e o seguinte protótipo : nodupla *cria();

Resposta:

Gabarito:
nodupla *cria()
{
nodupla *novo;

novo = new nodupla;


novo->dado = 100;
novo->elink = novo->dlink = NULL;
return novo;

3a Questão (Ref.: 201307437408) Pontos: 0,0 / 0,5

uma mistura dos métodos de ordenação por inserção e bubblesort.


por seleção.
bubblesort.
por inserção.

uma mistura dos métodos de ordenação por seleção e por inserção.

4a Questão (Ref.: 201307232698) Pontos: 0,5 / 0,5

Analisando o trecho do algoritmo abaixo,


pode-se afirmar que se trata de uma operação de:

Remoção de um elemento de uma estrutura FIFO


Inserção de um elemento em uma estrutura FIFO
Remoção de um elemento de uma estrutura LIFO
Exibição de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura LIFO

5a Questão (Ref.: 201307232534) Pontos: 0,5 / 0,5

Com relação as listas lineares sequenciais:

I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array.

II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice.

III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.

Apenas as afirmações I e III estão corretas.


Apenas as afirmações I e II estão corretas.
Apenas a afirmação I está correta.
Apenas as afirmações II está corretas.
Apenas as afirmações II e III estão corretas.

6a Questão (Ref.: 201307232693) Pontos: 0,0 / 1,0

As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a
ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define
um tipo de dado estruturado.

São tipos de dados indivisíveis.


Também são denominados tipos primitivos, não é possível decompor em partes menores.
Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao
longo da execução de um programa.
Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus
elementos.
Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado.

7a Questão (Ref.: 201307232597) Pontos: 0,5 / 0,5

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um
de seus elementos o número de inscrição, o nome e a nota obtida pelo candidato. Este vetor está ordenado pelo
número de inscrição. Para realização de uma consulta que, dado um número de inscrição, apresenta o nome e
nota do candidato, um programador utilizou um algoritmo de busca que realiza sucessivas divisões no vetor,
comparando o número de inscrição procurado com o número de inscrição do candidato posicionado no meio do
vetor. Se o candidato posicionado do meio do vetor tiver o número de inscrição igual ao número de inscrição
procurado, a busca termina com sucesso. Caso contrário, se candidato posicionado do meio do vetor tiver
número de inscrição menor que o procurado, então a busca continua na metade posterior do vetor. E
finalmente, se candidato posicionado do meio do vetor tiver número de inscrição maior que o procurado, a
busca continua na metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método
denominado busca:

randômica.
por contagem.
linear.
binária.
por comparação.

8a Questão (Ref.: 201307232679) Pontos: 0,0 / 1,0

As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores
podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa
forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover
os elementos a sua frente, é chamada de:

Fila
Matriz
Bolha
Pilha
Struct

9a Questão (Ref.: 201307434934) Pontos: 0,5 / 0,5

As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar
dados ou informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem
algoritmos de manipulação dados associados a estas estruturas. Verifique as seguintes sentenças:

I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes
foram armazenados.

III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes
foram armazenados.

IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes
foram armazenados.

Marque a alternativa CORRETA:

Todas as alternativas estão corretas.


As alternativas II e IV estão corretas.
As alternativas I e III estão corretas.
As alternativas III e IV estão corretas.
As alternativas I e II estão corretas

10a Questão (Ref.: 201307440898) Pontos: 0,0 / 0,5

Sabemos que podemos representar uma expressão de três formas, sendo que uma
delas é chamada de notação polonesa reversa ( pós-fixa).
Suponha que um professor de Estrutura de Dados desejasse compor a nota do
bimestre com uma prova e um trabalho oral, usando pesos diferenciados para as
notas. Sendo assim, usaria a média ponderada como a expressão abaixo.

A única calculadora que encontrou disponível foi uma com representação pós fixa.
Assinale a alternativa que apresenta a sequência que deveria ser digitada pelo
professor para conseguir calcular a média de um aluno.

nota1 peso1 * nota2 peso2 * peso1 peso2 + + /


nota1 peso1 nota2 peso2 peso1 peso2 * * + + /
nota1 peso1 * nota2 peso2 * + peso1 peso2 + /
/ * nota1 peso1 + * nota2 peso2 + peso1 peso2
/ + * nota1 peso1 * nota2 peso2 + peso1 peso2
Observação: Eu, RENATO GOMES CHAVES, estou ciente de que ainda existe(m) 1 questão(ões) não respondida(s) ou salva(s)
no sistema, e que mesmo assim desejo finalizar DEFINITIVAMENTE a avaliação.

Data: 30/05/2014 19:15:51


Fechar

Avaliação: CCT0260_AV_201502237164 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV

Aluno: 201502237164 - ALEXANDER SCHIAVONI SODR¿

Professor: ANITA LUIZA MACIEL LOPES Turma: 9007/AC

Nota da Prova: 3,0 Nota de Partic.: 1 Av. Parcial 2 Data: 16/06/2016 15:27:53
O aproveitamento da Avaliação Parcial será considerado apenas para as provas com nota maior ou igual a 4,0.

1a Questão (Ref.: 201502309937) Pontos: 0,0 / 1,0

Defina um tipo de dado (registro) capaz de armazenar as seguintes informações sobre um determinado cliente
de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo.

Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente
feita pelo usuário.

Resposta:

Gabarito:

struct ClienteBanco{

string nome;

string cpf;

int rg;

int numConta;

double saldo;

};

ClienteBanco cliente;

cin >> cliente.nome;

cin >> cliente.cpf;

cin >> cliente.rg;

cin >> cliente.saldo;


2a Questão (Ref.: 201502965920) Pontos: 0,0 / 1,0

Em relação a filas e pilhas dinâmicas, cite uma das vantagens de se implementar estruturas dinamicamente.

Resposta: AS VANTAGENS DAS ESTRUTURAS DINÂMICAS É A POSSIBILIDADE REINSERIR UM DADO DE FORMA


MAIS RÁPIDA.

Gabarito: É o fato destas estruturas ocuparem espaço estritamente necessário.

Fundamentação do(a) Professor(a): Mais rápida do que qual?

3a Questão (Ref.: 201502289010) Pontos: 1,0 / 1,0

As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a
ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define
um tipo de dado estruturado.

Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado.
Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus
elementos.
São tipos de dados indivisíveis.
Também são denominados tipos primitivos, não é possível decompor em partes menores.
Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao
longo da execução de um programa.

4a Questão (Ref.: 201502493673) Pontos: 0,0 / 1,0


Auxiliar = 101 Numero1 = 900 Numero2 = 20
Auxiliar = 100 Numero1 = 1000 Numero2 = 20
Auxiliar = 100 Numero1 = 900 Numero2 = 80

Auxiliar = 111 Numero1 = 1000 Numero2 = 80


Auxiliar = 100 Numero1 = 900 Numero2 = 20

5a Questão (Ref.: 201502288488) Pontos: 0,0 / 1,0

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

Fila
Registro
Vetor
Loop
Pilha

6a Questão (Ref.: 201502288667) Pontos: 1,0 / 1,0

Marque a afirmativa correta para a "Busca ou pesquisa binária".

Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.

7a Questão (Ref.: 201502288471) Pontos: 0,0 / 0,5

O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?

inclusão
ordenação
underflow
overflow
remoção

8a Questão (Ref.: 201502356119) Pontos: 0,5 / 0,5

Quando as inserções e as remoções ocorrem sempre no mesmo lado da lista, trata-se de uma estrutura de
dados denominada.

Pilha.
Vetor.
Lista circular.
Fila.
Lista encadeada.

9a Questão (Ref.: 201502289016) Pontos: 0,5 / 0,5

Analisando a figura abaixo, marque a alternativa correta que apresenta o tipo de estrutura de dados utilizado.

Struct
Matriz
Pilha
Fila
Hash
10a Questão (Ref.: 201502501549) Pontos: 0,0 / 0,5

Observe a struct, definida globalmente, e um trecho de uma função que manipula


uma Lista Duplamente Encadeada.

struct listaDE
{
int info;
struct listaDE* ant;
struct listaDE* prox;
};
...
listaDE* novo = new listaDE;
novo->info = valor;
novo->prox = LISTA;
novo->ant = NULL;

Assinale a alternativa que apresenta o protótipo dessa função

listaDE *busca (listaDE *LISTA, int valor);

void exibeIpF(listaDE *LISTA);

listaDE *insereInicio(listaDE *LISTA, int valor);


listaDE *remove(listaDE *LISTA, int valor);

listaDE *insereFim(listaDE *LISTA, int valor);

Observação: Estou ciente de que ainda existe(m) 1 questão(ões) não respondida(s) ou salva(s) no sistema, e que mesmo
assim desejo finalizar DEFINITIVAMENTE a avaliação.

Data: 16/06/2016 16:16:04


30/09/2015 BDQ Prova

   ESTRUTURA DE DADOS

Simulado: CCT0260_SM_201503534791 V.1   Fechar

Aluno(a): MAURO DE OLIVEIRA CARNEIRO Matrícula: 201503534791

Desempenho: 10,0 de 10,0 Data: 30/09/2015 18:13:27 (Finalizada)

  1a  Questão (Ref.: 201503607938) Pontos: 1,0  / 1,0
Outpost 2 ­ Inferno Orgulho e Espe
Negro (2015) ... (2015) BRRip .
Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas
de dados Lineares e Não Lineares com suas respectivas coleções de dados.

Orgulho e Esperança Terremoto ­ A F
  (2015) BRRip ... de San Andre 

A correta associação entre os elementos das duas tabelas é:

 
O Exterminador do A Ameaça (201
Futuro: Gênesi ... BRRip Blu­Ray
 

  a1, b1, c2, d1
a1, b2, c1, d1.
a1, b1, c2, d2.
a2, b2, c1, d2.
a2, b1, c2, d1.

 Gabarito Comentado.

  2a  Questão (Ref.: 201503616401) Pontos: 1,0  / 1,0

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário,
através da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos
alocados em posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso
de representar os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.

Proteção de memória, transferência de dados, estruturas simples.
  Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.

http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=7743144510 1/4
30/09/2015 BDQ Prova
Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.
Acesso, representação, compartilhamento de memória.

 Gabarito Comentado.

  3a  Questão (Ref.: 201503616417) Pontos: 1,0  / 1,0

Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções
precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu
nome e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores
para os parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço
enviado. Quando se envia o endereço estamos ativando a função por meio de:

Envio de valor.
Registro.
Passagem por valor.
Envio de inteiro.
  Ponteiros.

 Gabarito Comentado.

  4a  Questão (Ref.: 201504229938) Pontos: 1,0  / 1,0

Blocos únicos de códigos que realizam diversas tarefas distintas são de difícil manutenção. Portanto, utiliza­se a
técnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas.
Esta técnica tem como principal elemento:

As Filas
  As funções
As Estruturas de Dados
Os Vetores
Os Grafos

  5a  Questão (Ref.: 201504287982) Pontos: 1,0  / 1,0

Marque a opção correta, considerando 

struct Livro { 
int codigo; 
float preco; 
} liv; 

Livro­>liv.codigo = 12345;
Livro.liv.codigo = 12345;
liv­>preco = 30.70;
  liv.preco = 30.70;
Livro.codigo = 12345;

http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=7743144510 2/4
30/09/2015 BDQ Prova

  6a  Questão (Ref.: 201504229943) Pontos: 1,0  / 1,0

Pode­se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma
estrutura como:

struct aluno {
string nome;
float nota;

Suponha ainda que exista um vetor desta estrutura, definido como:

aluno vet [100];

Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste
vetor.

vet[10].aluno.nota=5.7 ;
aluno.vet[10]=5.7;
aluno.vet[10].nota=5.7;
  vet[10].nota=5.7;
vet[10]=aluno.5.7;

  7a  Questão (Ref.: 201504204685) Pontos: 1,0  / 1,0

Analisando o trecho de código a seguir:

inicio=0; 
fim= tamanho ­ 1;
meio=(inicio+fim)/2; 
while(procura != nomeVetor[meio] && inicio != fim)
{
  if(procura > nomeVetor[meio])            
   inicio=meio+1;
  else 
   fim=meio; 
  meio=(inicio+fim)/2;   
}
if(nomeVetor[meio]==procura)
 cout<<"\n....: "< < outroVetor[meio]<else 
 cout<<"\nDado nao encontrado\n";

Pode­se afirmar que:

trata­se da implementação do algortimo de ordenação por inserção.
trata­se da implementação do algortimo de busca sequencial
  trata­se da implementação do algortimo de busca binária.
trata­se da implementação do algortimo de ordenação bolha.
trata­se da implementação do algortimo de ordenação por seleção.

  8a  Questão (Ref.: 201503616390) Pontos: 1,0  / 1,0

Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens ordenados.
Existem vários métodos de ordenação, por esse motivo, assinale corretamente a alternativa que mostra o nome
do método que utiliza a estratégia de ordenação por trocas de vizinhos e é considerado o método mais simples.

Seleção
Hash
  Bolha
Binária
http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=7743144510 3/4
30/09/2015 BDQ Prova

Inserção

 Gabarito Comentado.

  9a  Questão (Ref.: 201504263927) Pontos: 1,0  / 1,0

Considere uma lista com n  livros, em que cada livro é modelado pela struct :
 
struct Livro {
                            string titulo,  editora, autor;
                            float preco;
};
 
A função X abaixo
 
void X (Livro v[ ], int &n, Livro L)
{
     v[n] = L;
     n++;
    cout << "Operação realizada com sucesso.";
}
 
implementa a operação de :

Inicialização
Substituição

Ordenação por inserção
  Inserção

Busca

  10a  Questão (Ref.: 201503616384) Pontos: 1,0  / 1,0

As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:

Variável
Matriz
Registro
  Vetor
Função

 Gabarito Comentado.

http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=7743144510 4/4
Avaliação: CCT0260_AV_ » ESTRUTURA DE DADOS
Tipo de Avaliação: AV
Aluno
Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9004/AD
Nota da Prova: 6,5 Nota de Partic.: 2 Av. Parcial 2 Data: 14/06/2016 15:35:10

Defina um tipo de dado (registro) capaz de armazenar as seguintes informações sobre um determinado cliente
de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo.

Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente
feita pelo usuário.

Resposta:

Gabarito:

struct ClienteBanco{

string nome;

string cpf;

int rg;

int numConta;

double saldo;

};

ClienteBanco cliente;

cin >> cliente.nome;

cin >> cliente.cpf;

cin >> cliente.rg;

cin >> cliente.saldo;

Em relação a filas e pilhas dinâmicas, cite uma das vantagens de se implementar estruturas dinamicamente.

Resposta: Estruturas dinamicas tem a avantagem de fazer alocação de memoria em tempo de compilação e
terem seu tamanho alterado comforme a demanda. O sistema não para por falta de alocação de memoria.
Gabarito: É o fato destas estruturas ocuparem espaço estritamente necessário.
Observe a struct, definida globalmente, e um trecho de uma função que manipula
Simulado http://simulado.estacio.br/bdq_simulados_ead_ens.asp?cod_disc=CC...

Lupa

CCT0260_SM_201408383462 V.1
» 26:58 de 50 min. FINALIZAR
quinta-feira, 4 de agosto de 2016 (19:00)

Aluno: GILVAN SILVA DOS SANTOS Matrícula: 201408383462


Disciplina: CCT0260 - ESTRUTURA DE DADOS Período Acad.: 2016.2 EAD (GT) / SM

1. Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados Quest.: 1
mais adequada para modelar este problema, visto que não há qualquer preocupação com ordem de
chegada ou saída de aluno da turma.

Lista
Fila
Pilha
Grafo
Árvore

2. As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a Quest.: 2
ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que
define um tipo de dado estruturado.

São tipos de dados indivisíveis.


Também são denominados tipos primitivos, não é possível decompor em partes menores.
Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus elementos.
Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado.
Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao longo da
execução de um programa.

3. Uma função possui um valor de retorno inteiro, recebe por valor um inteiro como primeiro parâmetro e por Quest.: 3
referência um inteiro como segundo parâmetro. Qual das respostas abaixo poderia representar o protótipo
dessa função:

int func (int &a, int b);


void func (int a, int &b);
int func (int a, int &b);
int func (&int, int);
void func (int &a, int &b);

4. Considere a função: Quest.: 4

void dobro(int x) {

x = 10 * x;

Qual será o valor impresso na tela quando o programa principal for executado?

int main() {

int n;

n = 5;

dobro(n);

cout << n;

return 0;

1 de 4 04/08/2016 19:23
Simulado http://simulado.estacio.br/bdq_simulados_ead_ens.asp?cod_disc=CC...

50
10
Haverá um erro de compilação
5
0

5. Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados Quest.: 5
sob uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma
estrutura como:

struct aluno {
string nome;
float nota;
};

Suponha ainda que exista um vetor desta estrutura, definido como:

aluno vet [100];

Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste
vetor.

vet[10]=aluno.5.7;
aluno.vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
vet[10].nota=5.7;
aluno.vet[10]=5.7;

6. Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, Quest.: 6
agrupados sob uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição
de uma estrutura como:

struct aluno {
string nome;
float nota;
};

Suponha ainda que exista um vetor desta estrutura, definido como:


aluno vet [ 100];

Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro
elemento deste vetor.

vet[10].nota=5.7;
aluno.vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
aluno.vet[10]=5.7;
vet[10]=aluno.5.7;

7. Marque a afirmativa correta para a "inserção incremental". Quest.: 7

É um tipo de sequenciação por intercalação.


Os pivôs são escolhidos aleatoriamente.
A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
É um tipo de ordenação por intercalação

2 de 4 04/08/2016 19:23
Simulado http://simulado.estacio.br/bdq_simulados_ead_ens.asp?cod_disc=CC...

8. Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da Quest.: 8
pesquisa sequencial e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em
vetores independente destes estarem ordenados, entretanto a busca binária só se aplica em
vetores ordenados.
Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo
da busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos realizam testes
nos elementos do vetor até achar o que procuram ou definirem que o elemento não se encontra no
vetor. Sendo assim marque a alternativa que expressa o número de testes realizados pela busca
sequencial e o número de testes realizados pela busca binária, respectivamente, até encontrarem o
70.

6e1
7e1
6e2
6e4
5e5

9. Considere uma lista com n livros, em que cada livro é modelado pela struct : Quest.: 9

struct Livro {
string &tulo, editora, autor;
float preco;
};

A função X abaixo

void X (Livro v[ ], int &n, Livro L)


{
v[n] = L;
n++;
cout << "Operação realizada com sucesso.";
}

implementa a operação de :

Inicialização
Subs&tuição

Inserção

Busca
Ordenação por inserção

10. Quest.: 10

for (int i = 0; i < n; i++)


cout << L[i] << endl;
for (int i = 0; i < n; i++)
cout << L.matricula << " " << L.nome << endl;
for (int i = 0; i < n; i++)
cout << L[i].matricula << " " << L[i].nome << endl;
for (int i = 0; i < n; i++)
cout << L[i].matricula << " " << L[i].nome[30] << endl;

3 de 4 04/08/2016 19:23
Simulado http://simulado.estacio.br/bdq_simulados_ead_ens.asp?cod_disc=CC...

for (int i = 0; i < n; i++)


cout << L.matricula[i] << " " << L.nome[i] << endl;

FINALIZAR O SIMULADO

Legenda: Questão não respondida Questão não gravada Questão gravada

4 de 4 04/08/2016 19:23
Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9002/AA

Nota da Prova: 7,2 Nota de Partic.: 1 Data: 19/11/2013 10:31:32

1a Questão (Ref.: 201301668139) Pontos: 0,8 / 0,8

Diferentes tipos de estrutura de dados são adequadas 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:

É um modo de utilização de dados nos programas de computador.


É um modo de distribuição e organização de dados em uma rede de computador de modo que possam
ser usados de modo eficiente.
É um modo particular de armazenamento e organização de dados em um computador de modo que
possam ser usados de modo eficiente.
São os nomes dados as variáveis na montagem de uma rotina.
É um modo de deleção de dados em um computador.

2a Questão (Ref.: 201301676597) Pontos: 0,8 / 0,8

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 é:

Ponteiro
Struct
Pilha
Matriz
Fila

3a Questão (Ref.: 201301707043) Pontos: 0,8 / 0,8

Como é a lógica do FIFO?

Resposta: a logica FIFO (first in first out) implementada em listas do tipo FILA é logica onde o primeiro
elemento a entrar na lista é o primeiro a sair.

Gabarito: O primeiro que entra na fila é o primeiro que sai.

4a Questão (Ref.: 201301743726) Pontos: 0,8 / 0,8

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

Para cima e para baixo ou para frente e para trás.


Para frente e para trás, apenas.
Para frente, apenas.
Para cima e para baixo, apenas.
Para trás, apenas.

5a Questão (Ref.: 201301676087) Pontos: 0,8 / 0,8

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

Loop
Registro
Vetor
Pilha
Fila

6a Questão (Ref.: 201301679424) Pontos: 0,8 / 0,8

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;

pesquisa binária
pesquisa de cadeias
pesquisa cadeias indexada
pesquisa sequencial
pesquisa indexada

7a Questão (Ref.: 201301704749) Pontos: 0,0 / 0,8

Considere uma lista simplesmente encadeada não circular de inteiros e o tipo


struct no {
int dado;
struct no *link;
};
Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante.
Protótipo : no *inverter(no *ini); //ini aponta para o início da lista

Resposta: no *inverter (no *ini){ int link= *ini; }

Gabarito: no *inverter ( no *ini) // ini é um ponteiro para o início da lista { no *a, *b, *c; a = ini; b = NULL;
while (a != NULL) { c = b; b = a; a = a->link; b->link = c; } ini = b; return(ini); } /* fim da função */

8a Questão (Ref.: 201301743727) Pontos: 0,8 / 0,8

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

Autômato.
Árvore.
Shift-and.
Boyer-Moore.
Deque.

9a Questão (Ref.: 201301676103) Pontos: 0,8 / 0,8

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?

FIFO
TABLE
RECORD
LIFO
ARRAY

10a Questão (Ref.: 201301676603) Pontos: 0,8 / 0,8

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;

Fila
Matriz
Pilha
Lista duplamente encadeada
Lista encadeada

11a Questão (Ref.: 201301676467) DESCARTADA

Considerando a estrutura de fila circular vista em sala, que define as seguintes operações com uma fila:

int enfileirar(int v[], int valor, int *fim) - insere um elemento na fila indicada por v.

int desenfileirar(int v[], int *inicio, int fim, float &valor) - remove um elemento da fila indicada por v.

Supondo que foram realizadas as seguintes operações numa fila circular (implementada em uma estrutura
linear sequencial) de números inteiros de tamanho 5, que inicialmente se encontrava vazia:

enfileirar (minhaFila[], 10, fim);

enfileirar (minhaFila[], 20, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 30, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 40, fim);

enfileirar (minhaFila[], 50, fim);

enfileirar (minhaFila[], 60, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 70, fim);

Qual a posição, dentro da estrutura linear sequencial (vetor - que representa a fila), que se encontra o último
elemento inserido na fila?

4
5
7
1
6
01/07/2016 Estácio

   Fechar

Avaliação: CCT0260_AV_201408074389 » ESTRUTURA DE DADOS
Tipo de Avaliação: AV

Aluno: 201408074389 ­ JOERBETH CARVALHO OLIVEIRA
Professor: SERGIO DE OLIVEIRA SANTOS Turma: 9006/AA

Nota da Prova: 6,0    Nota de Partic.: 0,5   Av. Parcial 0  Data: 09/06/2016 11:30:37

  1a  Questão (Ref.: 201408786870) Pontos: 0,0  / 1,0

Em relação a estrutura de dados, o que caracteriza uma lista encadeada?

Resposta: UMA MELHOR PERFORMANCE NA PESQUISA E INSTRUTURAÇÃO, AS PESQUISAS SÃO FEITAS PARA
FRENTE E PARA TRÁS

Gabarito: Não ter seus nós, obrigatoriamente, alocados de forma contígua.

  2a  Questão (Ref.: 201408786867) Pontos: 1,0  / 1,0

Em relação a filas e pilhas dinâmicas, cite uma das vantagens de se implementar estruturas dinamicamente.

Resposta: FILAS : SÃO ESTRUTURAS QUE RECUPERAM OS DADOS NA ORDEM DIRETAS QUE ESTES FORAM
ARMAZENADOS PILHAS : SÃO ESTRUTURAS QUE RECUPERAM OS DADOS NA ORDEM REVERSA EM QUE ESTES
FORAM ARMAZENADOS

Gabarito: É o fato destas estruturas ocuparem espaço estritamente necessário.

  3a  Questão (Ref.: 201408348967) Pontos: 1,0  / 1,0

Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de
diretórios (pastas) e sub­diretórios. Qual a estrutura mais adequada para representar este problema ?

fila
  árvore
grafo
pilha
lista

  4a  Questão (Ref.: 201408109974) Pontos: 1,0  / 1,0

Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções
precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu
nome e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores
para os parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço
enviado. Quando se envia o endereço estamos ativando a função por meio de:

http://bquestoes.estacio.br/entrada.asp?p0=5718195&p1=201408074389&p2=2077403&p3=CCT0260&p4=102366&p5=AV&p6=09/06/2016&p10=43942086 1/3
01/07/2016 Estácio
  Ponteiros.
Passagem por valor.
Envio de inteiro.
Envio de valor.
Registro.

  5a  Questão (Ref.: 201408781539) Pontos: 1,0  / 1,0

Marque a opção correta, considerando 

struct Livro { 
int codigo; 
float preco; 
} liv; 

Livro.codigo = 12345;
  liv.preco = 30.70;
Livro.liv.codigo = 12345;
liv­>preco = 30.70;
Livro­>liv.codigo = 12345;

  6a  Questão (Ref.: 201408109761) Pontos: 0,0  / 1,0

Sobre o funcionamento da busca binária, é correto afirmar que dividindo seu vetor em duas metades.

Se o item for menor que o item que está na metade do vetor, o item foi encontrado.
  Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.
  Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Se o item for maior que o item que está na metade do vetor procure na primeira metade, ou seja, a da
direita.
Se o item for menor que o item que está na metade do vetor, procure na segunda metade, ou seja, a da
direita.

  7a  Questão (Ref.: 201408673665) Pontos: 0,5  / 0,5

__________________________ é uma lista linear em que a alocação de memória pode ser estática, e que a
forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando se tem em
mente um tamanho pré­definido, ou seja, quando se sabe até onde a lista pode crescer.

Lista Não Linear
Lista Linear Não Alocada
Lista Linear de Alocação de Memória
  Lista Linear Sequencial
Lista Linear Não Sequencial

  8a  Questão (Ref.: 201408347813) Pontos: 0,5  / 0,5

Na pequena pizzaria de Dom Leopoldo os pedidos são anotados em uma planilha e assim que montam um lote
com 5 pizzas, as entregas começam. As pizzas são organizadas no veículo de entrega respeitando a ordem da
entrega, ou seja, a 1a. pizza a ser entregue fica na frente de todas e assim, sucessivamente. Dessa forma, a
última pizza a ser entregue ficará no final do veículo, após todas as outras pizzas. Qual a estrutura de dados é
mais adequada para modelar a organização das pizzas no veículo de entrega ?

fila

http://bquestoes.estacio.br/entrada.asp?p0=5718195&p1=201408074389&p2=2077403&p3=CCT0260&p4=102366&p5=AV&p6=09/06/2016&p10=43942086 2/3
01/07/2016 Estácio
grafo
  pilha
árvore
lista

  9a  Questão (Ref.: 201408679803) Pontos: 0,5  / 0,5

A linguagem C++ oferece quatro meios de criação de tipos de dados: matrizes, estruturas ou structs, uniões e
classes. As estruturas, que passaremos a chamar simplesmente de structs, são tipos de variáveis que agrupam
dados geralmente desiguais, enquanto matrizes são variáveis que agrupam dados similares. Devido a esta
característica as structs são utilizadas para modelar nodos (nós) de estruturas dinâmicas. Portanto podemos
afirmar que:

  As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
execução e terem seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tanto em
tempo de execução quanto em tempo de compilação, mas não podem ter seus tamanhos alterados de
acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
compilação e terem seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
compilação e entretanto seus tamanhos só são alterados na codificação de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois não podem fazer alocação de memória em tempo de
execução, mas mesmo assim conseguem ter seus tamanhos alterados de acordo com a demanda.

  10a  Questão (Ref.: 201408773891) Pontos: 0,5  / 0,5

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 dados, marque a alternativa
correta.

struct nomeRegistro{
       int info;
       struct nomeRegistro* ant;
       struct nomeRegistro* prox;

typedef struct nomeRegistro NOMEREGISTRO;

Lista encadeada
Fila
Matriz
Pilha
  Lista duplamente encadeada

http://bquestoes.estacio.br/entrada.asp?p0=5718195&p1=201408074389&p2=2077403&p3=CCT0260&p4=102366&p5=AV&p6=09/06/2016&p10=43942086 3/3
SIMULADO ESTRUTURA DE DADOS -1 a ( aula 1 a 5)

Desempenho: 5,0 de 8,0 Data: 04/05/2015 22:41:59 (Finalizada)

1a Questão (Ref.: 201102149340) Pontos: 0,0 / 1,0

Considere uma estrutura de dados do tipo vetor. Com respeito a tal estrutura, é correto que seus componentes
são caracteristicamente:

Heterogêneos e com acesso FIFO.


Heterogêneos e com acesso LIFO.
Homogêneos e de acesso aleatório por intermédio de índices.
Homogêneos e com acesso indexado-sequencial.
Heterogêneos e com acesso indexado-sequencial.

Gabarito Comentado.

2a Questão (Ref.: 201102358998) Pontos: 1,0 / 1,0

Analise as afirmativas abaixo e selecione a alternativa correta.

I Algumas aplicações da estrutura de dados grafo são: Diagrama de Entidade


Relacionamento e Redes de computadores.

II Árvore e lista duplamente encadeada são estruturas não lineares.


III A Fila é uma estrutura não linear e a inserção de um elemento acontece ao
final.
IV A Lista é uma das estruturas de dados mais simples, mas não se pode ordená-
la.

V O uso de ponteiros é fundamental para construção de listas encadeadas.

II e V são verdadeiras
II E IV são verdadeiras
I e V são verdadeiras
I , II e IV são verdadeiras
III e V são verdadeiras

Gabarito Comentado.

3a Questão (Ref.: 201102217018) Pontos: 1,0 / 1,0

Assinale a opção certa.

Quando não se escreve o protótipo de uma função ...

A chamada da função não poderá ser feita em qualquer hipótese.


O programa não funcionará de forma alguma.
A chamada da função poderá ser feita em qualquer hipótese.
A definição da função deverá ser escrita, obrigatoriamente, após o programa principal.
É preciso definir a função antes do programa principal.
Gabarito Comentado.

4a Questão (Ref.: 201102149671) Pontos: 1,0 / 1,0

É correto afirmar sobre o funcionamento da busca sequencial.

Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no meio do meu
vetor.
Os elementos são pesquisados aleatoriamente. Pior caso: o elemento está no último índice do meu vetor.
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no último índice do
meu vetor.
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no primeiro índice do
meu vetor.
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no último índice do
meu vetor.

Gabarito Comentado.

5a Questão (Ref.: 201102199523) Pontos: 0,0 / 1,0

É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado (chave)
com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com
sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca
continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a
busca continua na metade anterior do vetor.
A descrição apresentada trata-se do método denominado busca ......

por comparação.
binária.
linear.
por contagem.
randômica.

Gabarito Comentado.

6a Questão (Ref.: 201102141401) Pontos: 1,0 / 1,0

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

Por memória e por disco.


Por reforço e por referência.
Por valor e por referência
Por inferência e por valor.
Por teste e por reforço.

Gabarito Comentado.
7a Questão (Ref.: 201102388878) Pontos: 1,0 / 1,0

Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de


diretórios (pastas) e sub-diretórios. Qual a estrutura mais adequada para representar este problema ?

pilha
árvore
lista
grafo
fila

Gabarito Comentado.

8a Questão (Ref.: 201102149491) Pontos: 0,0 / 1,0

Podemos dizer que estrutura de dados é:

O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.


O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.

Gabarito Comentado.

9a Questão (Ref.: 201102170932)


const int TAMMAX = 100;

struct TipoLista{

int qtde; // descritor que representa a quantidade de elementos na lista

int elemt[TAMMAX];

};

Fundamento no tipo de dado(registro) acima que representa uma implementação de uma lista linear sequencial.
Construa um procedimento para adicionar um dado no final da lista.

A lista e o dado serão passados por parâmetro. Usar o mecanismo de passagem por referência se for
necessário.

Sua Resposta: void addFinalLista ( TipoLista &lista, int dado ) { if(lista.qtde == TAMMAX) { cout << "Lista
Cheia."; } else{ lista.elemt[lista.qtde] = dado; lista.qtde++; cout << "Dado adicionado com sucesso."; } }

Compare com a sua resposta:

void addFinalLista ( TipoLista &lista, int dado ){

if(lista.qtde == TAMMAX){cout << "Lista Cheia."; }


else{ lista.elemt[lista.qtde] = dado;

lista.qtde++;

cout << "Dado adicionado com sucesso.";

}}

10a Questão (Ref.: 201102180301)


Como é a lógica do LIFO?

Sua Resposta: O Primeiro que entra na pilha é o ultimo a sair. Assim como o Ultimo que entra é o Primeiro que
sai. Last in, First out . Exemplo pilha de alter, onde o ultimo peso colocado será o primeiro a ser retirado.

Compare com a sua resposta: O primeiro que entra na pilha é o último que sai.

Simulado Estrutura de Dados – 2 (aula 1 a 5)

Desempenho: 6,0 de 8,0 Data: 04/05/2015 23:03:35 (Finalizada)

1a Questão (Ref.: 201102354550) Pontos: 1,0 / 1,0

Navegadores para internet armazenam os últimos endereços visitados em uma estrutura de


dados. Cada vez que um novo site é visitado, o endereço do site é adicionado na estrutura de
endereços. Quando se aciona o retorno ("back"), o navegador permite que o usuário retorne no
último site visitado e retira o endereço do site da estrutura de dados.

Assinale a estrutura de dados mais adequada para este problema.

fila
pilha
lista
árvore
grafo

Gabarito Comentado.

2a Questão (Ref.: 201102141398) Pontos: 0,0 / 1,0

Diferentes tipos de estrutura de dados são adequadas 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:

É um modo de deleção de dados em um computador.


São os nomes dados as variáveis na montagem de uma rotina.
É um modo de distribuição e organização de dados em uma rede de computador de modo que possam
ser usados de modo eficiente.
É um modo de utilização de dados nos programas de computador.
É um modo particular de armazenamento e organização de dados em um computador de modo que
possam ser usados de modo eficiente.

Gabarito Comentado.

3a Questão (Ref.: 201102740767) Pontos: 1,0 / 1,0

Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados mais
adequada para modelar este problema, visto que não há qualquer preocupação com ordem de chegada ou saída de
aluno da turma.

Fila
Lista
Pilha
Grafo
Árvore

4a Questão (Ref.: 201102149329) Pontos: 1,0 / 1,0

O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?

ordenação
inclusão
overflow
underflow
remoção

Gabarito Comentado.

5a Questão (Ref.: 201102216963) Pontos: 1,0 / 1,0

A estrutura de dados linear que obedece o seguinte critério: o último elemento inserido será o primeiro
elemento a ser retirado (LIFO) é:

fila.
árvore AVL.
árvore binária.
pilha.
lista circular.

Gabarito Comentado.

6a Questão (Ref.: 201102149498) Pontos: 1,0 / 1,0

Estão entre algumas das possíveis formas de se estruturar dados:

Grafos, lista ordenada, algoritmos.


Grafos, algoritmos, fila.
Grafos, lista ordenada, vetores.
Algoritmos, lista ordenada, vetores.
Lista encadeada, vetores, algoritmos.

Gabarito Comentado.

7a Questão (Ref.: 201102763416) Pontos: 0,0 / 1,0

As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que
possibilita a otimização do uso destes dados. Porém, as estruturas guardam características especiais na
manipulação destes dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada
aplicação. Portanto marque a opção que representa a melhor estrutura, quando se tem como requisitos
principais o acesso aleatório aos dados e alocação destes de forma contínua na memória.

Fila Sequencial
Lista Sequencial
Lista Encadeada
Pilha Encadeada
Pilha Sequencial

8a Questão (Ref.: 201102149673) Pontos: 1,0 / 1,0

Sobre o funcionamento da busca binária, é incorreto afirmar que dividindo seu vetor em duas metades.

Se o item for menor ao item que está na primeira posição do vetor, o item não foi encontrado.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.
Se o item for maior que o item que está na metade do vetor procure na segunda metade, ou seja, a da
direita.
Se o item for menor que o item que está na metade do vetor, procure na primeira metade, ou seja, a da
esquerda.

Gabarito Comentado.

9a Questão (Ref.: 201102180302)


Como é a lógica do FIFO?

Sua Resposta: Primeiro que entra é o primeiro a sair. exemplo fila do banco o primeiro que entra é o primeiro a
ser atendido.

Compare com a sua resposta: O primeiro que entra na fila é o primeiro que sai.

10a Questão (Ref.: 201102177994)

Os agentes Leo e Lia receberam sequências de números de seus contatos. Para


saberem qual o próximo passo da missão, precisam descobrir que números se repetem
nas sequências recebidas por cada um.

Faça uma função que receba dois vetores v e w de inteiros como parâmetros e gere um vetor z,
resultante da interseção entre v e w.

Protótipo da função :

bool intersecao(int v[ ], int w[ ], int z [ ], int nv , int nw , int &n);

onde nv: quantidade de elementos em v

nw : quantidade de elementos em w

n : quantidade de elementos no vetor z

Note :
 Inicialmente n vale zero.
 Deverá ser retornado true (sucesso na interseção) ou false (fracasso na interseção).

Sua Resposta: bool intersecao(int v[], int w[], int inter[], int nv , int nw , int &n) { bool achou = false; for (int i
= 0; i < nv; i++) for (int j = 0; j < nw; j++) if (v[i] == w[j]) { inter[n] = v[i]; achou = true; n++; } return
achou; }

Compare com a sua resposta:

bool intersecao(int v[], int w[], int inter[], int nv , int nw , int &n) {

bool achou = false;

for (int i = 0; i < nv; i++)

for (int j = 0; j < nw; j++)

if (v[i] == w[j]) {

inter[n] = v[i];

achou = true;

n++;

return achou;

SIMULADO 3 ( aula 1 a 5)

Desempenho: 6,0 de 8,0 Data: 04/05/2015 23:16:54 (Finalizada)

1a Questão (Ref.: 201102354583) Pontos: 0,0 / 1,0


por inserção.
bubblesort.
uma mistura dos métodos de ordenação por inserção e bubblesort.
por seleção.

uma mistura dos métodos de ordenação por seleção e por inserção.

Gabarito Comentado.

2a Questão (Ref.: 201102352123) Pontos: 1,0 / 1,0

Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa
sequencial e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em vetores
independente destes estarem ordenados, entretanto a busca binária só se aplica em vetores ordenados.
Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da
busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos
elementos do vetor até achar o que procuram ou definirem que o elemento não se encontra no vetor.
Sendo assim marque a alternativa que expressa o número de testes realizados pela busca sequencial e
o número de testes realizados pela busca binária, respectivamente, até encontrarem o 70.

5e5
6e2
6e4
7e1
6e1

Gabarito Comentado.

3a Questão (Ref.: 201102216977) Pontos: 0,0 / 1,0

Quando as inserções e as remoções ocorrem sempre no mesmo lado da lista, trata-se de uma estrutura de
dados denominada.

Pilha.
Lista encadeada.
Lista circular.
Fila.
Vetor.

Gabarito Comentado.
4a Questão (Ref.: 201102149833) Pontos: 1,0 / 1,0

Ao remover um elemento armazenado em uma pilha é necessário a atualização da variável (Topo) indicadora de
posição. Qual das alternativas abaixo está correta?

Após a operação de remoção incrementa a variável indicadora de posição.


Após a operação de remoção decrementa a variável indicadora de posição.
Após a operação de remoção incrementa a variável indicadora de inicio.
Antes a operação de remoção decrementa a variável indicadora de posição.
Antes da operação de remoção incrementa a variável indicadora de posição.

Gabarito Comentado.

5a Questão (Ref.: 201102763413) Pontos: 1,0 / 1,0

Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa sequencial
e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em vetores independente destes
estarem ordenados, entretanto a busca binária só se aplica em vetores ordenados. Seja o vetor A=
{10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da busca sequencial e
também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos elementos do vetor até achar o
que procuram ou definirem que o elemento não se encontra no vetor. Sendo assim marque a alternativa que
expressa o número de testes realizados pela busca sequencial e o número de testes realizados pela busca
binária, respectivamente, até encontrarem o 70.

7e1
5e5
6e1
6e2
6e4

6a Questão (Ref.: 201102364902)

Considere uma lista não ordenada de códigos espiões usados por Sherlock Silva. Ajude-o a
encontrar um determinado código c, realizando uma busca de acordo com o seguinte
protótipo:
int pesquisar(int v[ ], int c, int n);
Note : v é o vetor de códigos, c é o código a ser procurado e n é a quantidade de códigos
existentes em v.

Sua Resposta: bool intersecao(int v[], int c, int &n) { bool achou = false; for (int i = 0; i < v; i++) for (int j = 0; j <
v; j++) if (v[i] == n[j]) { inter[n] = v[i]; achou = true; n++; } return achou; }
Compare com a sua resposta:
7a Questão (Ref.: 201102149767) Pontos: 1,0 / 1,0

Analise o seguinte trecho de algoritmo de ordenação de dados, cujos elementos estão dispostos em um vetor de
nome v com n elementos.

...

int i, j, aux;

for (j = 1; j < n; j++)

for (i=j; i > 0 && v[i-1]> v[i]; i--) {

aux = v[i-1];

v[i-1] = v[i];

v[i] = aux;

...

Assinale o método ao qual o trecho de algoritmo pertence.

Heapsort
Bolha
Seleção
Inserção
Quicksort

Gabarito Comentado.

8a Questão (Ref.: 201102149349) Pontos: 1,0 / 1,0

Pilha é uma estrutura de dados


Que pode ser implementada somente por meio de vetores.
Cujo acesso aos seus elementos ocorre de forma aleatória.
Cujo acesso aos seus elementos segue a lógica LIFO.
Que pode ser implementada somente por meio de listas.
Cujo acesso aos seus elementos segue tanto a lógica LIFO quanto a FIFO.

Gabarito Comentado.

9a Questão (Ref.: 201102180302)


Como é a lógica do FIFO?

Sua Resposta: O primeiro que entra na fila é o primeiro que sai.

Compare com a sua resposta: O primeiro que entra na fila é o primeiro que sai.

10a Questão (Ref.: 201102216982) Pontos: 1,0 / 1,0

Sobre estrutura de dados, identifique o que está correto afirmar.

I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e
retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um
elemento é adicionado ou retirado seu topo é alterado.

II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e
pelos compiladores, na passagem de parâmetros para as funções.

III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos.

IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o
elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente.
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo
princípio LIFO (last in first out).

I, II e III.
I, III e V.
II, IV e V.
II, III, IV e V.
I, III, IV e V.

Gabarito Comentado.

SIMULADO 2 a – ( aula 6 a 10)

Desempenho: 2,0 de 8,0 Data: 03/06/2015 21:35:48 (Finalizada)

1a Questão (Ref.: 201102719714) Pontos: / 1,0

A linguagem C++ oferece quatro meios de criação de tipos de dados: matrizes, estruturas ou structs, uniões e
classes. As estruturas, que passaremos a chamar simplesmente de structs, são tipos de variáveis que agrupam
dados geralmente desiguais, enquanto matrizes são variáveis que agrupam dados similares. Devido a esta
característica as structs são utilizadas para modelar nodos (nós) de estruturas dinâmicas. Portanto podemos
afirmar que:

As estruturas dinâmicas são assim chamadas, pois não podem fazer alocação de memória em tempo de
execução, mas mesmo assim conseguem ter seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tanto em
tempo de execução quanto em tempo de compilação, mas não podem ter seus tamanhos alterados de
acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
compilação e entretanto seus tamanhos só são alterados na codificação de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
execução e terem seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
compilação e terem seus tamanhos alterados de acordo com a demanda.

2a Questão (Ref.: 201102689133) Pontos: / 1,0

Abaixo temos algumas afirmativas sobre o uso da estrutura pilha de forma estática e sequencial. Leia com
muita atenção e assinale a opção correta.

I Não existe movimentação na pilha quando inserimos ou removemos um elemento. Apenas o valor da
variável que controla o topo é alterado.
II Não podemos usar estruturas homogêneas, ou heterogêneas e uma variável para controlar o topo na
alocação sequencial.
III Um dos fatores que limita o crescimento da pilha é a quantidade de memória alocada quando usamos
matrizes.
IV Quando formos empilhar um elemento, é preciso verificar se a pilha não está cheia. Isso evita underflow.
V Quando formos desempilhar um elemento, é preciso verificar se a pilha não está vazia. Isso evita overflow.

I, IV e V estão corretas
II, IV e V estão corretas
I, IV e V estão corretas
I e III estão corretas
Somente a I está correta

Gabarito Comentado.

3a Questão (Ref.: 201102389686) Pontos: 0,0 / 1,0

Um programa desenvolvido para cadastrar grupos de 20 ajudantes especiais


para atuarem em cada um dos 12 estádios sede da copa do mundo de futebol
no Brasil, utiliza um critério especial para alocação dos grupos de ajudantes nos
estádios. Isto é, considerando o estádio sede origem o Maracanã no Rio de
Janeiro, os 20 últimos candidatos a se escreverem ficarão no estádio mais
distante do Maracanâ, o penúltimo grupo de 20 inscritos, ficarão no segundo
estádio mais distante do Maracanã, assim por diante até que, o segundo grupo
de candidados inscritos ficarão no estádio sede mais próximo do Maracanâ e os
primeiros candidatos escritos serão alocados no Maracanã. Para auxiliar o
desenvolvimento deste programa pode-se utilizar:

Uma pilha sequencial de 20 posições para fase do cadastramento de


todos os candidatos e uma fila sequencial de 20 posições para realizar
as alocações de todos os candidatos começando pelos os estádios mais
distantes do estádio sede.
Uma fila sequencial de 20 posições para fase do cadastramento de
todos os candidatos e a mesma estrutura para realizar as alocações
começando pelos os estádios mais distantes do estádio sede.
Uma pilha sequencial de 20 posições para fase do cadastramento de
todos os candidatos e a mesma estrutura para realizar as alocações
começando pelos os estádios mais distantes do estádio sede.
Uma pilha sequencial de 240 posições para fase do cadastramento de
todos os candidatos e a mesma estrutura para realizar as alocações
começando pelos os estádios mais distantes do estádio sede.
Uma fila sequencial de 240 posições para fase do cadastramento de
todos os candidatos e a mesma estrutura para realizar as alocações
começando pelos os estádios mais distantes do estádio sede.

Gabarito Comentado.

4a Questão (Ref.: 201102389701) Pontos: 1,0 / 1,0

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 sequencia de operações:
push(A),push(B),push(C),pop(),pop(),push(D),pop(),pop(),pop().
Pode-se dizer que interior da pilha apresenta-se:

Vazio
Apenas com o dado D
Com os dados A e D
Com os dados A e B
Apenas com o dado A

Gabarito Comentado.

5a Questão (Ref.: 201102361973) Pontos: 0,0 / 1,0

Um aluno do EAD estava estudando para a prova de Estrutura quando viu o trecho
do programa abaixo em uma apostila.
Como não estava com seu micro, começou a analisar a função entra(...), ficando
atento a alguns membros da struct.

Quando finalizou, virou a página da apostila e viu a resposta. Então, ficou muito
feliz por ter identificado a estrutura

Assinale a alternativa onde está presente a resposta correta.

Pilha
Fila
Fila Circular
Lista Linear
Lista simplesmente encadeada

Gabarito Comentado.

6a Questão (Ref.: 201102149850) Pontos: 0,0 / 1,0

Sistemas operacionais utilizam filas para gerenciar, tarefas, processos e recursos. Qual é a ordenação dos
elementos armazenados aleatoriamente em uma lista do tipo LIFO?

Ordem decrescente
Ordem crescente
Primeiro que entra é o primeiro a sair
Posições aleatórias
Ordem de entrada

Gabarito Comentado.

7a Questão (Ref.: 201102387730) Pontos: 0,0 / 1,0

Montei uma biblioteca popular que aceita doações sem limites. Marque a opção que especifica o tipo de lista e o
tipo de alocação de memória mais adequados para este problema.

fila encadeada e alocação dinâmica de memória


pilha dinâmica e alocação dinâmica de memória
fila dinâmica e alocação dinâmica de memória
lista sequencial e alocação dinâmica de memória
lista encadeada e alocação dinâmica de memória

Gabarito Comentado.

8a Questão (Ref.: 201102389728) Pontos: 1,0 / 1,0

As variáveis são na verdade trecho de memórias que armazenam dados de


diversas naturezas, portanto sempre que declara-se uma variável, na
linguagem C++, é necessário informar o tipo de dado que esta irá armazenar.
Um tipo especial de variáveis são os ponteiros, isto é, variáveis que
armazenam apenas os endereços de outras variáveis. Assim os ponteiros
são usados para que se possa acessar de forma indireta uma outra variável.
Sabendo-se disto e supondo que o endereço na memória da variável "a" é
100 e o endereço da memória da variável ponteiro é 200, analise o trecho de
código abaixo e marque a alternativa que representa a saída do programa:

9 100 200
100 9 200
200 9 100
100 100 200
9 9 200

9a Questão (Ref.: 201102792322)


Uma fila é também uma lista linear, mas para esta estrutura as inserções só podem ser efetuadas
em um extremo da lista, e todas as retiradas (e geralmente os acessos) são realizados no outro
extremo da lista.

A partir do struct abaixo, crie uma função em C++ (somente o trecho da função) para remover um
elemento inteiro no fim da fila.

#define TAM 100


struct tfila{
int F, R;
int vetor [TAM];
};

Sua Resposta: tfila* retira (tfila* l, int v) { tfila* ant = NULL; tfila* p = l;

Compare com a sua resposta:


int remove_fila(struct tfila *pf)
{
int y;
if (pf->F > pf->R)
return 0;
y=pf->vetor[pf->F];
pf->F++;
return y;
}

10a Questão (Ref.: 201102792320)

Uma fila é também uma lista linear, mas para esta estrutura as inserções só podem ser efetuadas
em um extremo da lista, e todas as retiradas (e geralmente os acessos) são realizados no outro
extremo da lista.

A partir do struct abaixo, crie uma função em C++ (somente o trecho da função) para inserir um
elemento inteiro no fim da fila.

#define TAM 100


struct tfila{
int F, R;
int vetor [TAM];
};

Sua Resposta: tfila* insere (tfila* l, int F) { tfila* novo = (tfila*) malloc(sizeof(tfila)); novo->info = F; novo-
>prox = R; return novo; }

Compare com a sua resposta:


int insere_fila(struct tfila *pf, int elem)
{
If(pf->R==TAM-1)
return 0;
pf->R++;
pf->vetor[pf->R] = elem;
return 1;
}

SIMULDADO 2 b ( AULA 6 a 10)

Desempenho: 5,0 de 8,0 Data: 03/06/2015 21:51:53 (Finalizada)

1a Questão (Ref.: 201102740853) Pontos: 0,0 / 1,0

Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma
firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente desenfileira o código
de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo.

struct Fila { in t v[100], inicio, fim; } ;

Fila F;

F. inicio = 0;

F.fim = -1;

void desenfileirar(Fila F) {

cout << "Removido o agente " << F.v[F.inicio];

F.inicio--;

void desenfileirar(Fila &F) {

if (F.fim == -1 && F.inicio == 0)

cout << "Não há agentes para retirar. " << endl;

else {

cout << "Removido o agente " << F.v[F.inicio];

F.inicio++;

void desenfileirar(Fila F) {
if (F.inicio > F.fim)

cout << "Não há agentes para retirar. " << endl;

else {

cout << "Removido o agente " << F.v[F.inicio];

F.inicio++;

void desenfileirar(Fila &F) {

if (F.inicio > F.fim)

cout << "Não há agentes para retirar. " << endl;

else {

cout << "Removido o agente " << F.v[F.inicio];

}
void desenfileirar(Fila &F) {

if (F.inicio > F.fim)

cout << "Não há agentes para retirar. " << endl;

else {

cout << "Removido o agente " << F.v[F.inicio];

F.inicio++;

2a Questão (Ref.: 201102388869) Pontos: 0,0 / 1,0

Tenho uma lista encadeada de processos para ler e despachar, mas obedeço a ordem de chegada, ou seja,
o primeiro processo que chega é o primeiro processo a ser atendido por mim. Sabendo que cada processo
é do tipo Processo, previamente definido e que a lista é do tipo Lista, assinale a opção que corretamente
implementa a retirada de um processo da lista, que pode ter um ou mais processos.

Considere p um ponteiro para o primeiro nó da lista e ainda,

struct Lista {

Processo p;

struct Lista *link;

};
Lista retirar(Lista *p)

Lista *aux = p;

p = p->link;

return p;

Lista *retirar(Lista *p)

Lista *aux = p;

while (p->link->link !=NULL)

p = p->link;

p->link = NULL;

return p;

Lista *retirar(Lista *p)

Lista *aux = p;

p = p->link;

delete aux;

return p;

Lista *retirar(Lista *p)

delete p;

p = p->link;

return p;

Lista *retirar(Lista *p)

Lista *aux = p;

while (p->link->link !=NULL)

p = p->link;

delete p->link;

p->link = NULL;

return p;
}

Gabarito Comentado.

3a Questão (Ref.: 201102149877) Pontos: 1,0 / 1,0

Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor
serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama:

Matriz
Vetor
Ponteiro
Endereço
Variável

Gabarito Comentado.

4a Questão (Ref.: 201102149311) Pontos: 1,0 / 1,0

Um apontador é uma variável que contém o endereço de outra variável. Apontadores são muito usados, em
parte porque são, às vezes, a única forma de se expressar um processo de computação e, em parte, porque,
normalmente, implicam um código mais compacto e eficiente que o obtido de outras formas. Considerando o
uso de apontadores nas linguagens procedurais atuais, julgue os itens que se seguem com E se for errado e C
se for certo.

( ) O uso de apontadores como argumentos de funções que realizem chamada por valor não permite alteração
de seus conteúdos de memória na função.

( ) Com apontadores, é possível criar funções que retornem estruturas de dados complexas.

( ) Para recuperar o valor da variável apontada, basta que o apontador seja atribuído a uma variável de mesmo
tipo.

( ) Arranjos de apontadores podem ser usados em funções que recebam como argumentos um número variável
de cadeias de caracteres.

( ) Em geral, para que um arranjo seja percorrido por um ponteiro, para cada elemento do arranjo deve-se
adicionar ao ponteiro o número de bytes que o elemento ocupa em memória.

a) E - C - E - C - E
e) C - E - C - E - C
b) C - C - E - E - E
c) E - E - C - C - E
d) E - C - E - C - C

Gabarito Comentado.

5a Questão (Ref.: 201102763420) Pontos: 1,0 / 1,0

Usa-se um vetor para se implementar uma fila sequencial, entretanto se nesta estrutura ocorrer diversas
operações de remoção e inserção podemos afirmar que:

Um vetor não pode ser usado na implementação de uma fila sequencial apenas em pilhas sequenciais.
Um vetor é uma estrutura base correta para esta implementação, já que está imune a fenômenos como
esgotamento de memória.
A estrutura fila não sofre esgotamento de memória, isto ocorre com as pilhas já que implementam o
algoritmo LIFO.
A estrutra sofrerá do fenômeno chamado esgotamento de memória e logo não poderá mais ser utilizada.
A solução é o uso da fila circular.
A estrutra sofrerá do fenômeno esgotamento de memória, mas se os dados estiverem ordenados isto
não afetará a estrutura.

6a Questão (Ref.: 201102149853) Pontos: 0,0 / 1,0

A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura
chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de
uma estrutura do tipo Struct?

Nome da estrutura vírgula tipo do campo


Nome da estrutura seta nome do campo
Nome da estrutura ponto nome do campo
Nome da estrutura seta tipo do campo
Nome da estrutura ponto tipo do campo

Gabarito Comentado.

7a Questão (Ref.: 201102734981) Pontos: 1,0 / 1,0

O que acontece quando se deseja inserir um elemento em uma FILA que já está cheia?

Overflow.
Underflow.
A inserção é feita sem problema.
Dequeue.
Enqueue.

8a Questão (Ref.: 201102688976) Pontos: 1,0 / 1,0

Analise as afirmativas sobre uma pilha estática e assinale a opção correta.

I Ordenar é uma operação que não se faz com pilha.


II Inserir dados é uma operação que se faz com a pilha.
III Remover dados em qualquer posição é uma operação que se faz com a pilha.
IV Verificar se a Pilha está cheia é necessário quando se deseja inserir nela.
V Inicializar uma pilha significa zerar todas as variáveis do vetor.

II e III estão corretas.


I, II e IV estão corretas.
I e IV estão corretas.
I e II estão corretas.
I, II e V estão corretas.

Gabarito Comentado.
9a Questão (Ref.: 201102792853)
Desenvolva uma função em C++ para construir uma fila Q com valores inteiros positivos, inseridos a partir do
teclado.

Sua Resposta: #include <stdio.h> #include <stdlib.h> struct Node{ int num; struct Node *prox; }; typedef
struct Node node; int tam; int menu(void); void opcao(node *FILA, int op); void inicia(node *FILA); int
vazia(node *FILA); node *aloca(); void insere(node *FILA); node *retira(node *FILA); void exibe(node *FILA);
void libera(node *FILA); int main(void) { node *FILA = (node *) malloc(sizeof(node)); if(!FILA){ printf("Sem
memoria disponivel!\n"); exit(1); }else{ inicia(FILA); int opt; do{ opt=menu(); opcao(FILA,opt); }while(opt);
free(FILA); return 0; } } int menu(void) { int opt; printf("Escolha a opcao\n"); printf("0. Sair\n"); printf("1.
Zerar fila\n"); printf("2. Exibir fila\n"); printf("3. Adicionar Elemento na Fila\n"); printf("4. Retirar Elemento da
Fila\n"); printf("Opcao: "); scanf("%d", &opt); return opt; } void opcao(node *FILA, int op) { node *tmp;
switch(op){ case 0: libera(FILA); break; case 1: libera(FILA); inicia(FILA); break; case 2: exibe(FILA); break;
case 3: insere(FILA); break; case 4: tmp= retira(FILA); if(tmp != NULL){ printf("Retirado: %3d\n\n", tmp-
>num); libera(tmp); } break; default: printf("Comando invalido\n\n"); } } void inicia(node *FILA) { FILA->prox
= NULL; tam=0; } int vazia(node *FILA) { if(FILA->prox == NULL) return 1; else return 0; } node *aloca() {
node *novo=(node *) malloc(sizeof(node)); if(!novo){ printf("Sem memoria disponivel!\n"); exit(1); }else{
printf("Novo elemento: "); scanf("%d", &novo->num); return novo; } } void insere(node *FILA) { node
*novo=aloca(); novo->prox = NULL; if(vazia(FILA)) FILA->prox=novo; else{ node *tmp = FILA->prox;
while(tmp->prox != NULL) tmp = tmp->prox; tmp->prox = novo; } tam++; } node *retira(node *FILA) {
if(FILA->prox == NULL){ printf("Fila ja esta vazia\n"); return NULL; }else{ node *tmp = FILA->prox; FILA-
>prox = tmp->prox; tam--; return tmp; } } void exibe(node *FILA) { if(vazia(FILA)){ printf("Fila vazia!\n\n");
return ; } node *tmp; tmp = FILA->prox; printf("Fila :"); while( tmp != NULL){ printf("%5d", tmp->num); tmp
= tmp->prox; } printf("\n "); int count; for(count=0 ; count < tam ; count++) printf(" ^ ");
printf("\nOrdem:"); for(count=0 ; count < tam ; count++) printf("%5d", count+1); printf("\n\n"); } void
libera(node *FILA) { if(!vazia(FILA)){ node *proxNode, *atual; atual = FILA->prox; while(atual != NULL){
proxNode = atual->prox; free(atual); atual = proxNode; } } }

Compare com a sua resposta:

PNodo ConstruirFila () {

int X;

PNodo Q;

Q = Criar();

cout<<"Inserir um inteiro positivo (negativo para terminar): \n";

cin>>X;

while (X > 0) {

Q = Juntar(X, Q);

cout<<"Inserir um inteiro positivo (negativo para terminar): \n";

cin>>X;

return Q;

10a Questão (Ref.: 201102792800)


Suponha que o nó tenha como membro um número inteiro fora o ponteiro. Defina uma estrutura (struct) em
C++ struct para uma lista com um nó.

Sua Resposta: #include <stdio.h>#include <stdlib.h>struct Node{ int num; struct Node *prox;};typedef struct
Node node;int tam;int menu(void);void opcao(node *FILA, int op);void inicia(node *FILA);int vazia(node
*FILA);node *aloca();void insere(node *FILA);node *retira(node *FILA);void exibe(node *FILA);void
libera(node *FILA);int main(void){ node *FILA = (node *) malloc(sizeof(node)); if(!FILA){ printf("Sem memoria
disponivel!\n"); exit(1); }else{ inicia(FILA); int opt; do{ opt=menu(); opcao(FILA,opt); }while(opt); free(FILA);
return 0; }}int menu(void){ int opt; printf("Escolha a opcao\n"); printf("0. Sair\n"); printf("1. Zerar fila\n");
printf("2. Exibir fila\n"); printf("3. Adicionar Elemento na Fila\n"); printf("4. Retirar Elemento da Fila\n");
printf("Opcao: "); scanf("%d", &opt); return opt;}void opcao(node *FILA, int op){ node *tmp; switch(op){ case
0: libera(FILA); break; case 1: libera(FILA); inicia(FILA); break; case 2: exibe(FILA); break; case 3:
insere(FILA); break; case 4: tmp= retira(FILA); if(tmp != NULL){ printf("Retirado: %3d\n\n", tmp->num);
libera(tmp); } break; default: printf("Comando invalido\n\n"); }}void inicia(node *FILA){ FILA->prox = NULL;
tam=0;}int vazia(node *FILA){ if(FILA->prox == NULL) return 1; else return 0;}node *aloca(){ node
*novo=(node *) malloc(sizeof(node)); if(!novo){ printf("Sem memoria disponivel!\n"); exit(1); }else{
printf("Novo elemento: "); scanf("%d", &novo->num); return novo; }}void insere(node *FILA){ node
*novo=aloca(); novo->prox = NULL; if(vazia(FILA)) FILA->prox=novo; else{ node *tmp = FILA->prox;
while(tmp->prox != NULL) tmp = tmp->prox; tmp->prox = novo; } tam++;}node *retira(node *FILA){
if(FILA->prox == NULL){ printf("Fila ja esta vazia\n"); return NULL; }else{ node *tmp = FILA->prox; FILA-
>prox = tmp->prox; tam--; return tmp; }}void exibe(node *FILA){ if(vazia(FILA)){ printf("Fila vazia!\n\n");
return ; } node *tmp; tmp = FILA->prox; printf("Fila :"); while( tmp != NULL){ printf("%5d", tmp->num); tmp
= tmp->prox; } printf("\n "); int count; for(count=0 ; count < tam ; count++) printf(" ^ ");
printf("\nOrdem:"); for(count=0 ; count < tam ; count++) printf("%5d", count+1); printf("\n\n");}void
libera(node *FILA){ if(!vazia(FILA)){ node *proxNode, *atual; atual = FILA->prox; while(atual != NULL){
proxNode = atual->prox; free(atual); atual = proxNode; } }}

Compare com a sua resposta:


struct nodo
{
int num;
struct nodo* prox;
};

SIMULADO 2 c ( AULA 6 a 10 )

Desempenho: 6,0 de 8,0 Data: 03/06/2015 22:04:37 (Finalizada)

1a Questão (Ref.: 201102387727) Pontos: 1,0 / 1,0

Na pequena mercearia do Sr. Manuel os pedidos são anotados no papel e assim que montam um lote com 10
listas de compras dos fregueses, as entregas começam. As compras de cada freguês são postas em uma caixa.
As caixas são organizadas no veículo de entrega respeitando a ordem da entrega, ou seja, a 1a. caixa a ser
entregue fica na frente das demais caixas e assim, sucessivamente. Dessa forma, a última caixa a ser entregue
ficará no final do veículo, após todas as outras caixas que deverão ser entregues primeiro. Qual a estrutura de
dados mais adequada que traduz a organização das pizzas no veículo de entrega ?

fila
lista
árvore
pilha
grafo

Gabarito Comentado.

2a Questão (Ref.: 201102141419) Pontos: 1,0 / 1,0

Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I
atende os não idosos. O sistema II atende os idosos. Nessa situação:

tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados.


tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO.
tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados.
Gabarito Comentado.

3a Questão (Ref.: 201102149854) Pontos: 1,0 / 1,0

As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores
podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa
forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover
os elementos a sua frente, é chamada de:

Bolha

Matriz
Struct
Pilha
Fila

Gabarito Comentado.

4a Questão (Ref.: 201102689067) Pontos: 1,0 / 1,0

Observe a função que manipula uma pilha e assuma que TAM é uma constante definida com valor 5. Saiba
que o nome da função já explícita a finalidade dela.

Considere a chamada da função conforme linha abaixo, sabendo-se que vet é um vetor de tamanho 5 e que
não tem nenhum valor ainda:

Analise as afirmativas abaixo que sugerem correções, ou não, na definição na função e assinale a opção
que contem as afirmativas corretas.

I Faltou & antes da variável vetor e irá acusar erro.


II A variável topo está sem tipo.
III O teste está correto porque o índice do primeiro elemento do vetor em C++ é 1, obrigatoriamente.
IV Na linha comentada deveria estar presente um comando de atribuição que decrementaria a variável topo.
V A linha vetor[topo]=valor; está correta.

I , III e V estão corretas


I, II e IV estão corretas
I e III estão corretas
II e V estão corretas
I e II estão corretas

Gabarito Comentado.

5a Questão (Ref.: 201102387725) Pontos: 0,0 / 1,0

Um jogo de memória fornece sequências de números e o jogador deve dizer qual a sequência inversa para cada
nova sequência fornecida pelo jogo. Qual a estrutura de dados mais adequada para modelar esse jogo ?

lista
pilha
grafo
fila
árvore

Gabarito Comentado.

6a Questão (Ref.: 201102688305) Pontos: 1,0 / 1,0

Sabe-se que Push() coloca um elemento na pilha, Pop() remove um elemento da pilha e Top() exibe o
elemento que se encontra no topo.

Assinale a opção que indica o número que aparecerá após a execução das funções abaixo.

Sequencia: Push() / Push()/ Pop()/ Push()/Pop()/ Top()


Números que deverão ser empilhados nessa ordem: 8/ 15/ 23/ 13 / 18

15
8
23
13
18

Gabarito Comentado.

7a Questão (Ref.: 201102387724) Pontos: 1,0 / 1,0

Na pequena pizzaria de Dom Leopoldo os pedidos são anotados em uma planilha e assim que montam um lote
com 5 pizzas, as entregas começam. As pizzas são organizadas no veículo de entrega respeitando a ordem da
entrega, ou seja, a 1a. pizza a ser entregue fica na frente de todas e assim, sucessivamente. Dessa forma, a
última pizza a ser entregue ficará no final do veículo, após todas as outras pizzas. Qual a estrutura de dados é
mais adequada para modelar a organização das pizzas no veículo de entrega ?

fila
árvore
lista
pilha
grafo

Gabarito Comentado.
8a Questão (Ref.: 201102389710) Pontos: 0,0 / 1,0

As estruturas de dados devem ser especificadas de modo que estas auxiliem


as aplicações em sua principal tarefa ou funcionalidade. Sendo assim, pode-
se desenvolver uma aplicação capaz de fazer a conversão de números da
base 10, para a base binária, octal ou hexadecimal a partir de um algoritmo
de divisões sucessivas. Este algoritmo baseia na divisão de um número
decimal pela base que se deseja a transformação, armazenando o resto da
divisão em uma estrutura de dados, efetuando nova divisão no resultado
obtido da divisão prévia, novamente armazenando o resto desta operação na
estrutura de dados e assim por diante até que o resultado da divisão seja
zero. Neste momento, a estrutura possui exatamente, na ordem reversa, os
algarismos correspondentes ao número convertido para a nova base.
Analisando esta estratégia poder-se-ia dizer que a estrutura de dados mais
propícia para tal tarefa é :

Lista
Árvore
Pilha
Grafo
Fila

Gabarito Comentado.

9a Questão (Ref.: 201102170795)


Defina um tipo de dado (registro) capaz de armazenar as seguintes informações sobre um determinado cliente
de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo.

Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente
feita pelo usuário.

Sua Resposta: #include using namespace std; struct no { int dado; struct no *link; };

Compare com a sua resposta:

struct ClienteBanco{

string nome;

string cpf;

int rg;

int numConta;

double saldo;
};

ClienteBanco cliente;

cin >> cliente.nome;

cin >> cliente.cpf;

cin >> cliente.rg;

cin >> cliente.saldo;

10a Questão (Ref.: 201102791730)

Escreva instruções para um programa em C++ a fim de criar uma lista simplesmente encadeada
não circular com o valor 50. Considere
#include
using namespace std;
struct no {
int dado;
struct no *link;
};
int main() {
//As instruções solicitadas farão parte da main
}

Sua Resposta: #include using namespace std; struct no { int dado; struct no *link; }; int main() { //As
instruções solicitadas farão parte da main }

Compare com a sua resposta:

no *p;
p = new no;
p->dado = 50;
p->link = NULL;
BDQ Prova Página 1 de 4

ESTRUTURA DE DADOS

Simulado: CCT0260_SM_201509137939 V.1 Fechar

Aluno(a): MARCELA COSTA DO NASCIMENTO Matrícula: 201509137939


Desempenho: 9,0 de 10,0 Data: 21/04/2016 10:44:31 (Finalizada)

1a Questão (Ref.: 201509717928) Pontos: 1,0 / 1,0

Leia com atenção as afirmativas abaixo e assinale a resposta correta.

I A estrutura de dados que melhor representa os diretórios ou pastas de arquivos do computador é a árvore.
II A estrutura de dados FILA é não linear assim como o Grafo.
III O termo folha em uma estrutura de dados é usado para um nó sem filhos e que tem grau 0,
IV O grau de uma árvore é definido pelo número de subárvores de um nó.
V O grafo é uma estrutura de dados que tem limitação para o número de vértices.
VI Uma das aplicações da estrutura de dados grafo é a Computação Gráfica.

II, IV e V são afirmativas verdadeiras


II, IV, V e VI são afirmativas verdadeiras
I, II e V são afirmativas verdadeiras
I, II, III e VI são afirmativas verdadeiras
I, III, IV e VI são afirmativas verdadeiras

Gabarito Comentado.

2a Questão (Ref.: 201509856817) Pontos: 1,0 / 1,0

Observe o trecho do programa em C++ abaixo e, após, entrar com os valores sugeridos para sua execução assinale
a alternativa que representa a resposta final.
cin >> a;
cin >> b;
cin >> c;
cin >> d;

cout << a;
cout << b;
cout << c;
cout << d;

cout << d;
cout << c;
cout << b;
cout << a;

Após a impressão dos valores pela ordem teremos uma fila e um grafo.
Após a impressão dos valores pela ordem teremos duas pilhas.
Após a impressão dos valores pela ordem teremos duas filas.
Após a impressão dos valores pela ordem teremos uma pilha e uma fila.
Após a impressão dos valores pela ordem teremos uma fila e uma pilha.

3a Questão (Ref.: 201509179876) Pontos: 1,0 / 1,0

Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de funções
que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e marque
corretamente a alternativa que descreve as funcionalidades desta.

http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=1144825620 05/06/2016
BDQ Prova Página 2 de 4

int funcao(float v[], float vl, int n)


{
for (int i = 0; i < n; i++)
if (v[i] == vl)
return i;
return -1;
}

Retorna a posição de v se o valor vl foi encontrado.


Retorna -1 se o valor de vl estiver dentro de v.
Retorna o valor de vl se o valor n foi encontrado.
Retorna -1 se o valor de n foi encontrado.
Resulta em erro, se o valor de vl não estiver dentro de v.

Gabarito Comentado.

4a Questão (Ref.: 201509179879) Pontos: 1,0 / 1,0

Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam
ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar,
quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros
de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia
o endereço estamos ativando a função por meio de:

Envio de valor.
Envio de inteiro.
Passagem por valor.
Registro.
Ponteiros.

Gabarito Comentado.

5a Questão (Ref.: 201509793405) Pontos: 1,0 / 1,0

Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma
estrutura como:

struct aluno {
string nome;
float nota;
};

Suponha ainda que exista um vetor desta estrutura, definido como:

aluno vet [100];

Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste vetor.

aluno.vet[10].nota=5.7;
vet[10]=aluno.5.7;
vet[10].nota=5.7;
aluno.vet[10]=5.7;
vet[10].aluno.nota=5.7 ;

http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=1144825620 05/06/2016
BDQ Prova Página 3 de 4

a Pontos: 1,0 / 1,0


6 Questão (Ref.: 201509179340)
Qual das seguintes estruturas de dados é classificada como heterogênea?

Vetor
Registro
Pilha
Fila
Loop

Gabarito Comentado.

a
7 Questão (Ref.: 201509179665) Pontos: 1,0 / 1,0

É correto afirmar sobre o funcionamento da busca sequencial.

Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no primeiro índice do
meu vetor.
Os elementos são pesquisados aleatoriamente. Pior caso: o elemento está no último índice do meu vetor.
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no meio do meu
vetor.
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no último índice do meu
vetor.
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no último índice do
meu vetor.

Gabarito Comentado.

a
8 Questão (Ref.: 201509179852) Pontos: 1,0 / 1,0

Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens ordenados. Existem
vários métodos de ordenação, por esse motivo, assinale corretamente a alternativa que mostra o nome do método
que utiliza a estratégia de ordenação por trocas de vizinhos e é considerado o método mais simples.

Seleção
Hash
Binária
Inserção
Bolha

Gabarito Comentado.

9a Questão (Ref.: 201509382120) Pontos: 1,0 / 1,0

As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que possibilita
a otimização do uso destes dados. Porém, as estruturas guardam características especiais na manipulação destes
dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada aplicação. Portanto
marque a opção que representa a melhor estrutura, quando se tem como requisitos principais o acesso aleatório
aos dados e alocação destes de forma contínua na memória.

Lista Encadeada
Fila Sequencial
Lista Sequencial
Pilha Encadeada
Pilha Sequencial

http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=1144825620 05/06/2016
BDQ Prova Página 4 de 4

Gabarito Comentado.

a
10 Questão (Ref.: 201509384604) Pontos: 0,0 / 1,0

for (int i = 0; i < n; i++)


cout << L[i] << endl;
for (int i = 0; i < n; i++)
cout << L[i].matricula << " " << L[i].nome << endl;
for (int i = 0; i < n; i++)
cout << L.matricula[i] << " " << L.nome[i] << endl;
for (int i = 0; i < n; i++)
cout << L[i].matricula << " " << L[i].nome[30] << endl;
for (int i = 0; i < n; i++)
cout << L.matricula << " " << L.nome << endl;

Gabarito Comentado.

http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=1144825620 05/06/2016
11/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A1_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 16/03/2016 09:36:01 (Finalizada)

  1a  Questão (Ref.: 201509382103)  Fórum de Dúvidas (1)       Saiba   (1)

As  estruturas  de  dados  podem  ser  caracterizadas  como  sendo  uma  forma  organizada  de  armazenar
dados  ou  informações  na  memória,  de  modo  a  otimizar  o  acesso  a  estes.  Muitas  vezes  existem
algoritmos de manipulação dados associados a estas estruturas. Verifique as seguintes sentenças:

I­Filas são estruturas que recuperam os dados na ordem direta em que estes foram  armazenados.

II­As  Pilhas  são  estruturas  que  recuperam  os  dados  na  ordem  reversa  em  que  estes  foram 
armazenados.

III­As  Pilhas  são  estruturas  que  recuperam  os  dados  na  ordem  direta  em  que  estes  foram 
armazenados.

IV­As  Filas  são  estruturas  que  recuperam  os  dados  na  ordem  reversa  em  que  estes  foram 
armazenados.

Marque a alternativa CORRETA:

As alternativas III e IV estão corretas.
As alternativas I e III estão corretas.
As alternativas II e IV estão corretas.
  As alternativas I e II estão corretas
Todas as alternativas estão corretas.

 Gabarito Comentado

  2a  Questão (Ref.: 201509246976)  Fórum de Dúvidas (1)       Saiba   (1)

Sobre estrutura de dados, identifique o que está correto afirmar.

I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e
retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um
elemento é adicionado ou retirado seu topo é alterado. 

II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e
pelos compiladores, na passagem de parâmetros para as funções. 

III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos. 

IV. Lista pode conter um número qualquer de elementos, expandindo­se ou contraindo­se conforme o
elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente. 
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo
princípio LIFO (last in first out).

I, III, IV e V.
II, IV e V.
  I, II e III.
II, III, IV e V.
  I, III e V.

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2330895138 1/3
11/06/2016 BDQ Prova

 Gabarito Comentado

  3a  Questão (Ref.: 201509793384)  Fórum de Dúvidas (0)       Saiba   (0)

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 e etc. E que se caracteriza por apresentar um conjunto
de nós e conexões entre eles.

Filas Encadeadas
  Listas Encadeadas.
Pilhas Encadeadas
  Grafos
Vetores

  4a  Questão (Ref.: 201509856817)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)

Observe o trecho do programa em C++ abaixo e, após, entrar com os valores sugeridos para sua execução
assinale a alternativa que representa a resposta final.
cin >> a;
cin >> b;
cin >> c;
cin >> d;

cout << a;
cout << b;
cout << c;
cout << d;

cout << d;
cout << c;
cout << b;
cout << a;

Após a impressão dos valores pela ordem teremos uma fila e um grafo.
Após a impressão dos valores pela ordem teremos duas filas.
Após a impressão dos valores pela ordem teremos uma pilha e uma fila.
  Após a impressão dos valores pela ordem teremos duas pilhas.
  Após a impressão dos valores pela ordem teremos uma fila e uma pilha.

  5a  Questão (Ref.: 201509418872)  Fórum de Dúvidas (1)       Saiba   (1)

Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de
diretórios (pastas) e sub­diretórios. Qual a estrutura mais adequada para representar este problema ?

pilha
lista
grafo
fila
  árvore

 Gabarito Comentado

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2330895138 2/3
11/06/2016 BDQ Prova

  6a  Questão (Ref.: 201509179485)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)

Podemos dizer que estrutura de dados é:

É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
  O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2330895138 3/3
11/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A2_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 24/03/2016 17:36:57 (Finalizada)

  1a  Questão (Ref.: 201509179845)  Fórum de Dúvidas (1)       Saiba   (1)

As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um
espaço na memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a
declaração desta forma estamos declarando uma variável do tipo:

  Global
Inteiro
Real
Constante
Local

 Gabarito Comentado

  2a  Questão (Ref.: 201509179876)  Fórum de Dúvidas (1)       Saiba   (1)

Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de
funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e
marque corretamente a alternativa que descreve as funcionalidades desta.

int funcao(float v[], float vl, int n)
{
   for (int i = 0; i < n; i++)
     if (v[i] == vl)
       return i;
   return ­1;
}

Retorna ­1 se o valor de n foi encontrado.
  Retorna ­1 se o valor de vl estiver dentro de v.
  Retorna a posição de v se o valor vl foi encontrado.
Resulta em erro, se o valor de vl não estiver dentro de v.
Retorna o valor de vl se o valor n foi encontrado.

 Gabarito Comentado

  3a  Questão (Ref.: 201509179880)  Fórum de Dúvidas (1)       Saiba   (1)

A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder armazenar
valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis locais e globais. Sendo
assim, qual das situações abaixo representa melhor o conceito das variáveis globais.

Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome apresentando

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2366393502 1/3
11/06/2016 BDQ Prova
o mesmo valor.
Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor poderemos
imprimir esta variável em qualquer outra função do programa mostrando o valor atribuído na função
"mostra".
Em uma função "resul" tem­se uma variável ali declarada por 'T' que recebe o valor inteiro 5. Ao tentar
chamar esta variável em outra função é mencionado um warning.
  Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado
em qualquer outra função do programa.
Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta variável
em outra função, onde tambem está declarada a variável 'Y', será acusado um erro de compilação.

 Gabarito Comentado

  4a  Questão (Ref.: 201509384525)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)

Auxiliar = 111  Numero1 = 1000  Numero2 = 80
Auxiliar = 101  Numero1 = 900  Numero2 = 20
  Auxiliar = 100  Numero1 = 900  Numero2 = 80

Auxiliar = 100  Numero1 = 1000  Numero2 = 20
Auxiliar = 100  Numero1 = 900  Numero2 = 20

 Gabarito Comentado

  5a  Questão (Ref.: 201509768153)  Fórum de Dúvidas (1)       Saiba   (1)

Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção. Portanto, utiliza­se
a tecnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas.
Esta técnica, também chamada de modularização, tem como principal elemento:

As Filas
Os Vetores
As Estruturas de Dados

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2366393502 2/3
11/06/2016 BDQ Prova
Os Grafos
  As funções

  6a  Questão (Ref.: 201509762272)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)

Uma função possui um valor de retorno inteiro, recebe por valor um inteiro como primeiro parâmetro e por
referência um inteiro como segundo parâmetro. Qual das respostas abaixo poderia representar o protótipo
dessa função:

void func (int a, int &b);
void func (int &a, int &b);
  int func (int a, int &b);
  int func (&int, int);
int func (int &a, int b);

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2366393502 3/3
11/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A3_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:14:27 (Finalizada)

  1a  Questão (Ref.: 201509819194)  Fórum de Dúvidas (0)       Saiba   (0)

Pode­se  definir  uma  estrutura  heterogênea  como  sendo  um  conjunto  de  elementos,  geralmente,
agrupados sob uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de
uma estrutura como:
 
 struct  aluno {
              string nome;
              float   nota;

 
Suponha ainda que exista um vetor desta estrutura, definido como:
 aluno vet [ 100];
 
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento
deste vetor.

vet[10]=aluno.5.7;
aluno.vet[10]=5.7;
  vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
aluno.vet[10].nota=5.7;

  2a  Questão (Ref.: 201509179847)  Fórum de Dúvidas (0)       Saiba   (0)

A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura
chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de
uma estrutura do tipo Struct?

Nome da estrutura vírgula tipo do campo
Nome da estrutura ponto tipo do campo
  Nome da estrutura seta nome do campo
  Nome da estrutura ponto nome do campo
Nome da estrutura seta tipo do campo

 Gabarito Comentado

  3a  Questão (Ref.: 201509793405)  Fórum de Dúvidas (0)       Saiba   (0)

Pode­se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma
estrutura como:

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918951970 1/3
11/06/2016 BDQ Prova
struct aluno {
string nome;
float nota;

Suponha ainda que exista um vetor desta estrutura, definido como:

aluno vet [100];

Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste
vetor.

aluno.vet[10]=5.7;
aluno.vet[10].nota=5.7;
vet[10]=aluno.5.7;
  vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;

  4a  Questão (Ref.: 201509749716)  Fórum de Dúvidas (0)       Saiba   (0)

Pode­se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras
estruturas. Seja a definição de uma estrutura como: struct aluno { string nome; float media; }; Suponha ainda
que exista um vetor desta estrutura, definido como: aluno vet [ 10]; Marque a alternativa em que é atribuída de
forma correta a media 6.0 para o quarto elemento deste vetor.

aluno[3].10=6.0;
aluno[10]=6.0;
  vet[3].media=6.0;
  aluno[3].media=6.0;
vet[3].aluno=6.0;

  5a  Questão (Ref.: 201509851444)  Fórum de Dúvidas (0)       Saiba   (0)

Marque a opção correta, considerando 

struct Livro { 
int codigo; 
float preco; 
} liv; 

  liv.preco = 30.70;
Livro.liv.codigo = 12345;
  Livro.codigo = 12345;
liv­>preco = 30.70;
Livro­>liv.codigo = 12345;

  6a  Questão (Ref.: 201509179340)  Fórum de Dúvidas (0)       Saiba   (0)

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

  Fila
Pilha
Loop

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918951970 2/3
11/06/2016 BDQ Prova
Vetor
  Registro

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918951970 3/3
11/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A4_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:21:35 (Finalizada)

  1a  Questão (Ref.: 201509179298)  Fórum de Dúvidas (1)       Saiba   (0)

Em uma pesquisa sequencial a lista deve estar?

sempre desordenada.
ordenada somente o primeiro da lista.
  ordenada ou desordenada.
desordenada somente da metade da lista até o final.
ordenada somente do início até a metade da lista.

 Gabarito Comentado

  2a  Questão (Ref.: 201509182677)  Fórum de Dúvidas (1)       Saiba   (0)

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;

  pesquisa binária
pesquisa indexada
  pesquisa sequencial
pesquisa de cadeias
pesquisa cadeias indexada

 Gabarito Comentado

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918966160 1/3
11/06/2016 BDQ Prova

  3a  Questão (Ref.: 201509179855)  Fórum de Dúvidas (1 de 1)       Saiba   (0)

O processo de rearranjar um conjunto de dados em uma ordem crescente ou decrescente é chamado de
ordenação. Existem várias técnicas de ordenação, entretanto a técnica que procura o menor valor entre todos
os elementos do vetor e troca­o pelo primeiro elemento; para os n ­ 1 elementos restantes, determinação do
elemento de menor valor e troca pelo segundo elemento e assim sucessivamente, é chamado de:

Binária
Bolha
Hash
  Seleção
  Inserção

 Gabarito Comentado

  4a  Questão (Ref.: 201509179507)  Fórum de Dúvidas (1)       Saiba   (0)

Qual a importância de se entender a "ordenação" de dados ?

  A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem­se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem­se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem­se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem­se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem­se
conhecimento para manter outros problemas.

 Gabarito Comentado

  5a  Questão (Ref.: 201509179349)  Fórum de Dúvidas (1 de 1)       Saiba   (0)

O seguinte trecho de programa abaixo representa qual tipo de estrutura de ordenação?

void ordenar(float v[], int n) // n é o no. de elementos em v

 int i , // índice

 aux, // auxiliar para troca

trocou = true,

fim = n ­ 1;

while (trocou)

    trocou = false; // sinaliza que é falso que trocou

     for (i = 0; i < fim; i++)

     {

       if (v[i] > v[i+1])

       {

         aux = v[i];

         v[i] = v[i+1];

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918966160 2/3
11/06/2016 BDQ Prova
         v[i+1] = aux;

         // sinaliza que é verdadeiro que trocou

         trocou = true;

        } // fim if

    } // fim for

 fim­­; // decrementa o fim

} // fim while

} // fim da função

Heapsort
Mergesort
  Bublesort
  Shellsort
Quicksort

 Gabarito Comentado

  6a  Questão (Ref.: 201509182912)  Fórum de Dúvidas (1)       Saiba   (0)

Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer
acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam
ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio
do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso
contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior
do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O
algoritmo que utiliza esta metodologia é:

  Pesquisa binária
  Seleção
Pesquisa sequencial
Bolha
Inserção

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918966160 3/3
11/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A5_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:33:58 (Finalizada)

  1a  Questão (Ref.: 201509827389)  Fórum de Dúvidas (0)       Saiba   (0)

Considere uma lista com n  livros, em que cada livro é modelado pela struct :
 
struct Livro {
                            string 堀倅tulo,  editora, autor;
                            float preco;
};
 
A função X abaixo
 
void X (Livro v[ ], int &n, Livro L)
{
     v[n] = L;
     n++;
    cout << "Operação realizada com sucesso.";
}
 
implementa a operação de :

Busca
  Inserção

Ordenação por inserção
Inicialização
Subs堀倅tuição

 Gabarito Comentado

  2a  Questão (Ref.: 201509179703)  Fórum de Dúvidas (0)       Saiba   (0)

Com relação as listas lineares sequenciais:

I ­ Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de
array.

II ­ Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um
índice.

III ­ Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.

  Apenas as afirmações II e III estão corretas.
Apenas a afirmação I está correta.
Apenas as afirmações II está corretas.
Apenas as afirmações I e III estão corretas.
  Apenas as afirmações I e II estão corretas.

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918988732 1/3
11/06/2016 BDQ Prova

 Gabarito Comentado

  3a  Questão (Ref.: 201509179323)  Fórum de Dúvidas (0)       Saiba   (0)

O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?

ordenação
  underflow
remoção
inclusão
  overflow

 Gabarito Comentado

  4a  Questão (Ref.: 201509179867)  Fórum de Dúvidas (0)       Saiba   (0)

Analisando o trecho do algoritmo abaixo,

pode­se afirmar que se trata de uma operação de:

Remoção de um elemento de uma estrutura FIFO
Remoção de um elemento de uma estrutura LIFO
Exibição de um elemento em uma estrutura LIFO
  Inserção de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura FIFO

 Gabarito Comentado

  5a  Questão (Ref.: 201509743570)  Fórum de Dúvidas (0)       Saiba   (0)

__________________________ é uma lista linear em que a alocação de memória pode ser estática, e que a
forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando se tem em
mente um tamanho pré­definido, ou seja, quando se sabe até onde a lista pode crescer.

Lista Linear Não Alocada
  Lista Linear Sequencial
Lista Linear Não Sequencial
  Lista Linear de Alocação de Memória
Lista Não Linear

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918988732 2/3
11/06/2016 BDQ Prova

  6a  Questão (Ref.: 201509179846)  Fórum de Dúvidas (0)       Saiba   (0)

As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:

Função
Matriz
Registro
Variável
  Vetor

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918988732 3/3
11/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A6_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:44:47 (Finalizada)

  1a  Questão (Ref.: 201509179324)  Fórum de Dúvidas (0)       Saiba   (0)

O que acontece quando tentamos retirar um elemento de uma pilha que já está vazia?

Ordenação.
Remoção.
Overflow.
  Underflow.
Inclusão.

 Gabarito Comentado

  2a  Questão (Ref.: 201509171399)  Fórum de Dúvidas (0)       Saiba   (0)

Seja S uma pilha inicialmente vazia. Primeiramente, o elemento A é inserido em S. Em seguida, o elemento B,
e assim por diante, até a inclusão final do elemento E. Ao término dessas operações, qual elemento estará no
topo de S?

D.
C.
  E.
B.
A.

 Gabarito Comentado

  3a  Questão (Ref.: 201509246973)  Fórum de Dúvidas (0)       Saiba   (0)

Respeitando as ordens de inserção e de retirada dos dados, uma estrutura de:

  pilha é também denominada LIFO ou FILO.
fila é também denominada FIFO ou LIFO.
fila é também denominada FIFO ou FILO.
fila é também denominada LIFO ou LILO.
pilha é também denominada FIFO ou FILO.

 Gabarito Comentado

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919007410 1/2
11/06/2016 BDQ Prova

  4a  Questão (Ref.: 201509246972)  Fórum de Dúvidas (0)       Saiba   (0)

Na estrutura de dados tipo pilha, há duas operações básicas para empilhamento e desempilhamento. Essas
operações são conhecidas como:

PULL e POP;
  PUSH e POP.
Base e Topo;
HEAP e POP;
  PUSH e PULL;

 Gabarito Comentado

  5a  Questão (Ref.: 201509179841)  Fórum de Dúvidas (0)       Saiba   (0)

Sistemas operacionais utilizam filas para gerenciar, tarefas, processos e recursos. Qual é a ordenação dos
elementos armazenados aleatoriamente em uma lista do tipo LIFO?

  A operação TOP remove um elemento e altera o estado da Pilha
Nenhuma das operações altera o estado da Pilha
  Somente a operação POP altera o estado da Pilha
Ambas alteram o estado da Pilha
Somente a operação TOP altera o estado da Pilha

  6a  Questão (Ref.: 201509171396)  Fórum de Dúvidas (0)       Saiba   (0)

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

array
  pilha
ponteiro
fila
loop

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919007410 2/2
11/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A7_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:50:19 (Finalizada)

  1a  Questão (Ref.: 201509179352)  Fórum de Dúvidas (0)       Saiba   (0)

Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que
DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações:

ENQUEUE(1)

ENQUEUE(2)

DEQUEUE()

ENQUEUE(3)

ENQUEUE(4)

DEQUEUE()

DEQUEUE()

ENQUEUE(5)

Ao final da sequencia, a soma dos elementos de que (Q) será?

6
  9
0
  15
5

 Gabarito Comentado

  2a  Questão (Ref.: 201509179360)  Fórum de Dúvidas (0)       Saiba   (0)

Um banco adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I atende
todas pessoas que não possuem atendimento prioritário. O sistema II atende somente pessoas com
atendimento prioritário. Nessa situação,

O sistema I adota o esquema FIFO de organização de dados e o II, o esquema LIFO.
  Tanto o sistema I, quanto o II, adota o esquema FIFO de organização de dados.
  Tanto o sistema I, quanto o II, adota o esquema LIFO de organização de dados.
Tanto o sistema I, quanto o II, adota o esquema lista duplamente encadeada de organização de dados.
O sistema I adota o esquema LIFO de organização de dados e o II o esquema FIFO.

  3a  Questão (Ref.: 201509770783)  Fórum de Dúvidas (0)       Saiba   (0)

         Assinale a opção que, corretamente, mostra exemplos em que a estrutura de dados fila é usada, de acordo com o

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 1/4
11/06/2016 BDQ Prova

critério de inserções e remoções que rege tal estrutura.

Buffer para gravação de dados em mídia e fila de pessoas para comprar o 谈Ȁcket do metrô.
Fila de arquivos para impressão e fila de pessoas no caixa de um supermercado.
  Fila de pessoas para 谈Ȁrar o visto e fila de pessoas para usar o caixa eletrônico.
  Fila de arquivos para impressão e buffer para gravação de dados em fila.
Fila de documentos para xerox e fila de arquivos para impressão.

 Gabarito Comentado

  4a  Questão (Ref.: 201509770847)  Fórum de Dúvidas (0)       Saiba   (0)

   Considere uma fila simples F  de inteiros,  do 谈Ȁpo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma
firma de espionagem, desde que haja espaço para um novo agente.  Assinale a opção que corretamente desenfileira o código
de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo.

struct Fila {     in t v[100], inicio, fim; } ;

Fila F;

F. inicio = 0;

F.fim = ‐1;
 

void desenfileirar(Fila  F)  {

       if (F.inicio > F.fim)

            cout << "Não há agentes para re谈Ȁrar. " << endl;

     else  {

          cout << "Removido o agente " <<     F.v[F.inicio];

         F.inicio++;

    }

}
 

void desenfileirar(Fila &F)  {

        if (F.fim == ‐1 && F.inicio == 0)

            cout << "Não há agentes para re谈Ȁrar. " << endl;

       else  {

            cout << "Removido o agente " <<     F.v[F.inicio];

             F.inicio++;

       }

}
 
   

void desenfileirar(Fila F)  {

   cout << "Removido o agente " <<     F.v[F.inicio];

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 2/4
11/06/2016 BDQ Prova

   F.inicio‐‐;

 }
 
  void desenfileirar(Fila &F)  {

        if (F.inicio > F.fim)

            cout <<  "Não há agentes para re谈Ȁrar. " << endl;

       else  {

             cout <<  "Removido o agente "  <<     F.v[F.inicio];

             F.inicio++;

       }

}
 

void desenfileirar(Fila &F)  {

       if (F.inicio > F.fim)

            cout << "Não há agentes para re谈Ȁrar. " << endl;

     else  {

         cout << "Removido o agente " <<     F.v[F.inicio];

     }

 Gabarito Comentado

  5a  Questão (Ref.: 201509768148)  Fórum de Dúvidas (0)       Saiba   (0)

Ao inserirmos em uma estrutura de dados do tipo fila sequencial os seguintes elementos: A, B, C, D,
exatamente nesta ordem. E em seguida realizarmos duas operações consecutivas de remoção na fila e
imediatamente inserirmos dois novos elementos o X e o W. Podedmos afirmar que se realizarmos uma nova
operação de remoção, o elemento que será removido desta fila sera o:

D
W
A
X
  C

 Gabarito Comentado  Gabarito Comentado  Gabarito Comentado

  6a  Questão (Ref.: 201509764975)  Fórum de Dúvidas (0)       Saiba   (0)

O que acontece quando se deseja inserir um elemento em uma FILA que já está cheia?

  Underflow.
Dequeue.
  Overflow.
Enqueue.
A inserção é feita sem problema.

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 3/4
11/06/2016 BDQ Prova

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 4/4
12/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A8_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 12/06/2016 16:02:22 (Finalizada)

  1a  Questão (Ref.: 201509179664)  Fórum de Dúvidas (0)       Saiba   (0)

Marque a afirmativa que represente uma separação.

Juntar duas listas, colocando uma lista no final de outra, obtendo, ao final, uma só lista resultante.
  Consiste em dividir a lista em duas outras listas. A quantidade de nós que cada lista terá, depende da
necessidade.
Organizar os dados da lista em ordem crescente ou decrescente.
Intercalar a ordem dos dados da lista do final para o início, atualizando a lista.
Alterar a ordem dos dados da lista do final para o início, atualizando a lista.

 Gabarito Comentado

  2a  Questão (Ref.: 201509179525)  Fórum de Dúvidas (0)       Saiba   (0)

Em uma lista linear simplesmente encadeada.

  Além do campo relativo ao dado, cada nó possui dois ponteiros,
Cada ponteiro possui um só endereço que referencia o primeiro nó da lista.
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, formando
um ciclo.
  Cada nó possui um só ponteiro que referencia o próximo nó da lista.
O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista.

 Gabarito Comentado

  3a  Questão (Ref.: 201509721284)  Fórum de Dúvidas (0)       Saiba   (0)

Podemos dizer que uma lista encadeada tem as seguintes características:

i) conhecida como lista ligada.

ii) seus nós são responsáveis para manter a sequência da lista.

iii) o último nó deve apontar para NULL.

Assinale a alternativa que informa as afirmativas corretas.

Somente a afirmativa iii esta correta.
Todas as afirmativas estão incorretas.
  Todas as afirmativas estão corretas.
Somente a afirmativa i esta correta.
  Somente as afirmativas i e ii estão corretas.

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 1/4
12/06/2016 BDQ Prova

 Gabarito Comentado

  4a  Questão (Ref.: 201509749708)  Fórum de Dúvidas (0)       Saiba   (0)

A linguagem C++ oferece quatro meios de criação de tipos de dados: matrizes, estruturas ou structs, uniões e
classes. As estruturas, que passaremos a chamar simplesmente de structs, são tipos de variáveis que agrupam
dados geralmente desiguais, enquanto matrizes são variáveis que agrupam dados similares. Devido a esta
característica as structs são utilizadas para modelar nodos (nós) de estruturas dinâmicas. Portanto podemos
afirmar que:

As estruturas dinâmicas são assim chamadas, pois não podem fazer alocação de memória em tempo de
execução, mas mesmo assim conseguem ter seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
compilação e entretanto seus tamanhos só são alterados na codificação de acordo com a demanda.
  As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tanto em
tempo de execução quanto em tempo de compilação, mas não podem ter seus tamanhos alterados de
acordo com a demanda.
  As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
execução e terem seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
compilação e terem seus tamanhos alterados de acordo com a demanda.

  5a  Questão (Ref.: 201509179871)  Fórum de Dúvidas (0)       Saiba   (0)

Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor
serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama:

Variável
Endereço
  Ponteiro
  Vetor
Matriz

 Gabarito Comentado

  6a  Questão (Ref.: 201509770864)  Fórum de Dúvidas (0)       Saiba   (0)

Considere uma lista simplesmente encadeada com placas de carros.  Assinale a opção que, corretamente, imprime todas as
placas da lista. Considere :

struct no {

                 string placa;

                 struct no *link;

};

no *p;    //p aponta para o início da lista
 

void imprimir(no p) {
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 2/4
12/06/2016 BDQ Prova

   while (p != NULL)    {

           cout << pno;

          p = plink;

    }

}
 
  void imprimir(no *p) {

   if  (p != NULL)    {

           cout << pplaca;

          p = plink;

   }

}
  void imprimir(no *p) {

   while (p != NULL)    {

           cout << pplaca;

          p = plink;

}
 
void imprimir(no *p) {

    while (p != NULL)    {

           cout << pplaca;

   }

}
 
 

void imprimir(no *p) {

   while (p != NULL)    {

           cout << p.placa;

          p = p.link;

   }

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 3/4
12/06/2016 BDQ Prova

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 4/4
12/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A9_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 12/06/2016 16:25:04 (Finalizada)

  1a  Questão (Ref.: 201509885642)  Fórum de Dúvidas (0)       Saiba   (0)

Estava  um  aluno  estudando  Lista  Simplesmente  Encadeada  quando  encontrou    em  um  site  a
definição da struct nodo e de uma função cujo nome você deverá escolher para substituir XXX
nas opções abaixo depois que analisar a função, assumindo que teste foi realizado, permitindo 
que a operação fosse realizada.
 
 struct nodo
{
  int info;
  struct nodo *prox;

nodo* XXX(nodo *ptr, int valor)
{
  nodo *temp = new nodo;
  ...
  temp­>info = valor;    
  temp­>prox = ptr; 
  return temp;         
}

InsereNoFim
  InsereNoFrente
BuscaNaLista
RemoveNo
  ListaNo

 Gabarito Comentado

  2a  Questão (Ref.: 201509384797)  Fórum de Dúvidas (0)       Saiba   (0)

Assinale a opção correta.  Sobre pilha dinâmica podemos afirmar que :

só pode ter seus dados impressos no sentido do último nó para o primeiro nó.        

  é recomendada para qualquer tipo de aplicação em que insere­se no final e retira­se do
início.

usa o critério FIFO, visto que é dinâmica.
insere­se em qualquer posição, antes ou após qualquer nó, visto que é dinâmica.

  usa o critério LIFO e é implementada usando­se listas encadeadas.

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185871048 1/3
12/06/2016 BDQ Prova

 Gabarito Comentado

  3a  Questão (Ref.: 201509851329)  Fórum de Dúvidas (0)       Saiba   (0)

Sabendo que uma fila encadeada possui seus nós definidos pela : 

struct no { 
int x; 
no *prox; 
}; 

Marque a alternativa que representa corretamente a criação ou alocação do nó na sintaxe do C++ para
utilização na fila.

p *no=new no;
no p ­> new no;
  p *no ­> new no;
no *p ­> new no;
  no *p=new no;

 Gabarito Comentado

  4a  Questão (Ref.: 201509802240)  Fórum de Dúvidas (0)       Saiba   (0)

Sobre uma estrutura de dados do tipo LIFO, observe as seguintes afirmações: 
(1) É uma pilha. 
(2) Pode ser uma fila com prioridades 
(3) É uma estrutura onde o primeiro elemento a entrar é o último a sair.

Sobre estas afirmações marque a opção correta:

  Apenas as afirmações (1) e (3) são verdadeiras
Todas as afirmações são falsas
  Apenas a afirmação (3) é verdadeira
Apenas a afirmação (1) é verdadeira
Todas as afirmações são verdadeiras

  5a  Questão (Ref.: 201509851451)  Fórum de Dúvidas (0)       Saiba   (0)

Para converter de decimal para binário usamos a estrutura de dados pilha. Assinale a opção que, corretamente,
indica as ações corretas para empilhar o resto da divisão gerado no processo de conversão, considerando uma
lista simplesmente encadeada. Considere o tipo definido abaixo : 

struct no { 
int dado; 
struct no *link; 
}; 

Não é necessário alocar memória com new. Basta criar uma struct do tipo no, armazenar o resto da
divisão número por 2 no campo dado e aterrar o campo link.
Basta alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do novo
nó e aterrar o link do novo nó.
  É preciso armazenar o resto da divisão do número por 2 no campo dado do primeiro nó da lista e
retornar o ponteiro para este nó.
Basta alocar memória com new e armazenar o resto da divisão do número por 2 no campo dado do
novo nó .
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185871048 2/3
12/06/2016 BDQ Prova

  É preciso alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do
novo nó, apontar o link do novo nó para o início da lista e enfim, retornar o ponteiro para o novo nó.

 Gabarito Comentado

  6a  Questão (Ref.: 201509722965)  Fórum de Dúvidas (0)       Saiba   (0)

Tínhamos  declarado  um  ponteiro  de  nome  ptr  e  precisávamos  construir  uma  estrutura  de  repetição  que
pudesse  repetir  enquanto  o  ponteiro  não  fosse  nulo.  Observe  os  trechos  abaixo  e  assinale  qual  a  afirmativa
correta.

I if (ptr !=NULL) 
II if( !ptr ) 
III if(ptr) 
IV while (ptr !=NULL) 
V while (ptr)

  I e II estão corretas.
I e IV estão corretas
  IV e V estão corretas.
III está correta
III e V estão corretas

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185871048 3/3
12/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A10_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 12/06/2016 16:33:14 (Finalizada)

  1a  Questão (Ref.: 201509843796)  Fórum de Dúvidas (0)       Saiba   (0)

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 dados, marque a alternativa
correta.

struct nomeRegistro{
       int info;
       struct nomeRegistro* ant;
       struct nomeRegistro* prox;

typedef struct nomeRegistro NOMEREGISTRO;

Lista encadeada
Fila
  Pilha
  Lista duplamente encadeada
Matriz

  2a  Questão (Ref.: 201509392401)  Fórum de Dúvidas (0)       Saiba   (0)

Observe a struct, definida globalmente, e um trecho de uma função que manipula
uma Lista Duplamente Encadeada.
struct listaDE
{
 int info;
 struct listaDE* ant;
 struct listaDE* prox;

...
listaDE* novo = new listaDE;
novo­>info = valor;
novo­>prox = LISTA;
novo­>ant = NULL; 
Assinale a alternativa que apresenta o protótipo dessa função

listaDE *remove(listaDE *LISTA, int valor);
  listaDE *insereInicio(listaDE *LISTA, int valor); 

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185895960 1/3
12/06/2016 BDQ Prova

listaDE *busca (listaDE *LISTA, int valor);

void exibeIpF(listaDE *LISTA);

listaDE *insereFim(listaDE *LISTA, int valor);

 Gabarito Comentado

  3a  Questão (Ref.: 201509382141)  Fórum de Dúvidas (0)       Saiba   (0)

Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de
diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo,
são estes os ponteiros ant e prox, que apontam respectivamente para o nodo anterior e para o próximo
nodo.  Esta  característica  permite  que  a  estrutura  seja  percorrida  em  ambos  os  sentidos.  Assim
analisando as operações a seguir:

p­>ant­>prox=p­>prox;
p­>prox­>ant=p­>ant;
 
            Sendo p um ponteiro que aponta para um dos nodos da lista, pode­se afirmar que:

  As operações removem o nodo apontado pelo ponteiro p.
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p.
  As operações possibilitam a busca de um nodo apontado pelo ponteiro p.
As operações possibilitam o percurso do ponteiro p da esquerda para direita.
As operações possibilitam o percurso do ponteiro p da direita para esquerda.

  4a  Questão (Ref.: 201509384819)  Fórum de Dúvidas (0)       Saiba   (0)

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

Não pode ser vazia.

  A lista pode ser  percorrida com igual facilidade para a direita ou para a
esquerda, pois existem dois ponteiros.

          A lista precisa ter sempre um ponteiro apontando para o 1º. nó
  Consome  menos memória do que uma lista simplesmente encadeada, se
tivermos uma mesma aplicação.

Não pode haver remoções no meio da lista.

 Gabarito Comentado

  5a  Questão (Ref.: 201509171461)  Fórum de Dúvidas (0)       Saiba   (0)

Em relação às estruturas de dados, é correto afirmar:

LIFO refere­se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, duplamente
encadeada.
  Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é uma

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185895960 2/3
12/06/2016 BDQ Prova
característica presente nas listas duplamente encadeadas.
Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os princípios da
estrutura FILO.
LIFO refere­se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, sem
disciplina de acesso, onde o primeiro elemento a entrar é o último a sair.
Um grafo com um único vértice e sem arestas é conhecido como dígrafo.

 Gabarito Comentado

  6a  Questão (Ref.: 201509179734)  Fórum de Dúvidas (0)       Saiba   (0)

 Suponha uma listagem mantida com informações sobre um equipamento a ser adquirido por
uma empresa. A listagem possui as informações sobre de 10 fornecedores, descritas a seguir:

próximo: um ponteiro para o próximo fornecedor da listagem;

nome: nome, identificando o fornecedor;
valor: preço do equipamento no fornecedor; 
anterior: um ponteiro para o fornecedor anterior da listagem.

Sendo o fornecedor "Z" o quinto elemento desta listagem e "X" e "Y" dois outros fornecedores
que não pertencem à listagem, com seus respectivos ponteiros "pZ", "pX" e "pY", considere o
trecho de código abaixo.

pY­>proximo = pX;

pX­>anterior = pY;

pX­>proximo = pZ­>proximo;

pZ­>proximo­>anterior = pX;

pZ­>proximo = pY;

pY­>anterior = pZ;

Este trecho de código é usado para inserir na listagem os fornecedores:

X, antes do Z, e Y, logo após o Z.
X, logo após o Z, e Y, logo após o X.
  Y, antes do Z, e X, logo após o Z.
Y, antes do Z, e X, antes do Y.
  Y, logo após o Z, e X, logo após o Y.

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185895960 3/3
11/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A1_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 16/03/2016 09:36:01 (Finalizada)

  1a  Questão (Ref.: 201509382103)  Fórum de Dúvidas (1)       Saiba   (1)

As  estruturas  de  dados  podem  ser  caracterizadas  como  sendo  uma  forma  organizada  de  armazenar
dados  ou  informações  na  memória,  de  modo  a  otimizar  o  acesso  a  estes.  Muitas  vezes  existem
algoritmos de manipulação dados associados a estas estruturas. Verifique as seguintes sentenças:

I­Filas são estruturas que recuperam os dados na ordem direta em que estes foram  armazenados.

II­As  Pilhas  são  estruturas  que  recuperam  os  dados  na  ordem  reversa  em  que  estes  foram 
armazenados.

III­As  Pilhas  são  estruturas  que  recuperam  os  dados  na  ordem  direta  em  que  estes  foram 
armazenados.

IV­As  Filas  são  estruturas  que  recuperam  os  dados  na  ordem  reversa  em  que  estes  foram 
armazenados.

Marque a alternativa CORRETA:

As alternativas III e IV estão corretas.
As alternativas I e III estão corretas.
As alternativas II e IV estão corretas.
  As alternativas I e II estão corretas
Todas as alternativas estão corretas.

 Gabarito Comentado

  2a  Questão (Ref.: 201509246976)  Fórum de Dúvidas (1)       Saiba   (1)

Sobre estrutura de dados, identifique o que está correto afirmar.

I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e
retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um
elemento é adicionado ou retirado seu topo é alterado. 

II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e
pelos compiladores, na passagem de parâmetros para as funções. 

III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos. 

IV. Lista pode conter um número qualquer de elementos, expandindo­se ou contraindo­se conforme o
elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente. 
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo
princípio LIFO (last in first out).

I, III, IV e V.
II, IV e V.
  I, II e III.
II, III, IV e V.
  I, III e V.

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2330895138 1/3
11/06/2016 BDQ Prova

 Gabarito Comentado

  3a  Questão (Ref.: 201509793384)  Fórum de Dúvidas (0)       Saiba   (0)

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 e etc. E que se caracteriza por apresentar um conjunto
de nós e conexões entre eles.

Filas Encadeadas
  Listas Encadeadas.
Pilhas Encadeadas
  Grafos
Vetores

  4a  Questão (Ref.: 201509856817)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)

Observe o trecho do programa em C++ abaixo e, após, entrar com os valores sugeridos para sua execução
assinale a alternativa que representa a resposta final.
cin >> a;
cin >> b;
cin >> c;
cin >> d;

cout << a;
cout << b;
cout << c;
cout << d;

cout << d;
cout << c;
cout << b;
cout << a;

Após a impressão dos valores pela ordem teremos uma fila e um grafo.
Após a impressão dos valores pela ordem teremos duas filas.
Após a impressão dos valores pela ordem teremos uma pilha e uma fila.
  Após a impressão dos valores pela ordem teremos duas pilhas.
  Após a impressão dos valores pela ordem teremos uma fila e uma pilha.

  5a  Questão (Ref.: 201509418872)  Fórum de Dúvidas (1)       Saiba   (1)

Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de
diretórios (pastas) e sub­diretórios. Qual a estrutura mais adequada para representar este problema ?

pilha
lista
grafo
fila
  árvore

 Gabarito Comentado

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2330895138 2/3
11/06/2016 BDQ Prova

  6a  Questão (Ref.: 201509179485)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)

Podemos dizer que estrutura de dados é:

É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
  O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2330895138 3/3
11/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A2_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 24/03/2016 17:36:57 (Finalizada)

  1a  Questão (Ref.: 201509179845)  Fórum de Dúvidas (1)       Saiba   (1)

As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um
espaço na memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a
declaração desta forma estamos declarando uma variável do tipo:

  Global
Inteiro
Real
Constante
Local

 Gabarito Comentado

  2a  Questão (Ref.: 201509179876)  Fórum de Dúvidas (1)       Saiba   (1)

Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de
funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e
marque corretamente a alternativa que descreve as funcionalidades desta.

int funcao(float v[], float vl, int n)
{
   for (int i = 0; i < n; i++)
     if (v[i] == vl)
       return i;
   return ­1;
}

Retorna ­1 se o valor de n foi encontrado.
  Retorna ­1 se o valor de vl estiver dentro de v.
  Retorna a posição de v se o valor vl foi encontrado.
Resulta em erro, se o valor de vl não estiver dentro de v.
Retorna o valor de vl se o valor n foi encontrado.

 Gabarito Comentado

  3a  Questão (Ref.: 201509179880)  Fórum de Dúvidas (1)       Saiba   (1)

A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder armazenar
valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis locais e globais. Sendo
assim, qual das situações abaixo representa melhor o conceito das variáveis globais.

Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome apresentando

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2366393502 1/3
11/06/2016 BDQ Prova
o mesmo valor.
Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor poderemos
imprimir esta variável em qualquer outra função do programa mostrando o valor atribuído na função
"mostra".
Em uma função "resul" tem­se uma variável ali declarada por 'T' que recebe o valor inteiro 5. Ao tentar
chamar esta variável em outra função é mencionado um warning.
  Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado
em qualquer outra função do programa.
Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta variável
em outra função, onde tambem está declarada a variável 'Y', será acusado um erro de compilação.

 Gabarito Comentado

  4a  Questão (Ref.: 201509384525)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)

Auxiliar = 111  Numero1 = 1000  Numero2 = 80
Auxiliar = 101  Numero1 = 900  Numero2 = 20
  Auxiliar = 100  Numero1 = 900  Numero2 = 80

Auxiliar = 100  Numero1 = 1000  Numero2 = 20
Auxiliar = 100  Numero1 = 900  Numero2 = 20

 Gabarito Comentado

  5a  Questão (Ref.: 201509768153)  Fórum de Dúvidas (1)       Saiba   (1)

Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção. Portanto, utiliza­se
a tecnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas.
Esta técnica, também chamada de modularização, tem como principal elemento:

As Filas
Os Vetores
As Estruturas de Dados

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2366393502 2/3
11/06/2016 BDQ Prova
Os Grafos
  As funções

  6a  Questão (Ref.: 201509762272)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)

Uma função possui um valor de retorno inteiro, recebe por valor um inteiro como primeiro parâmetro e por
referência um inteiro como segundo parâmetro. Qual das respostas abaixo poderia representar o protótipo
dessa função:

void func (int a, int &b);
void func (int &a, int &b);
  int func (int a, int &b);
  int func (&int, int);
int func (int &a, int b);

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2366393502 3/3
11/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A3_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:14:27 (Finalizada)

  1a  Questão (Ref.: 201509819194)  Fórum de Dúvidas (0)       Saiba   (0)

Pode­se  definir  uma  estrutura  heterogênea  como  sendo  um  conjunto  de  elementos,  geralmente,
agrupados sob uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de
uma estrutura como:
 
 struct  aluno {
              string nome;
              float   nota;

 
Suponha ainda que exista um vetor desta estrutura, definido como:
 aluno vet [ 100];
 
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento
deste vetor.

vet[10]=aluno.5.7;
aluno.vet[10]=5.7;
  vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
aluno.vet[10].nota=5.7;

  2a  Questão (Ref.: 201509179847)  Fórum de Dúvidas (0)       Saiba   (0)

A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura
chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de
uma estrutura do tipo Struct?

Nome da estrutura vírgula tipo do campo
Nome da estrutura ponto tipo do campo
  Nome da estrutura seta nome do campo
  Nome da estrutura ponto nome do campo
Nome da estrutura seta tipo do campo

 Gabarito Comentado

  3a  Questão (Ref.: 201509793405)  Fórum de Dúvidas (0)       Saiba   (0)

Pode­se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma
estrutura como:

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918951970 1/3
11/06/2016 BDQ Prova
struct aluno {
string nome;
float nota;

Suponha ainda que exista um vetor desta estrutura, definido como:

aluno vet [100];

Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste
vetor.

aluno.vet[10]=5.7;
aluno.vet[10].nota=5.7;
vet[10]=aluno.5.7;
  vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;

  4a  Questão (Ref.: 201509749716)  Fórum de Dúvidas (0)       Saiba   (0)

Pode­se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras
estruturas. Seja a definição de uma estrutura como: struct aluno { string nome; float media; }; Suponha ainda
que exista um vetor desta estrutura, definido como: aluno vet [ 10]; Marque a alternativa em que é atribuída de
forma correta a media 6.0 para o quarto elemento deste vetor.

aluno[3].10=6.0;
aluno[10]=6.0;
  vet[3].media=6.0;
  aluno[3].media=6.0;
vet[3].aluno=6.0;

  5a  Questão (Ref.: 201509851444)  Fórum de Dúvidas (0)       Saiba   (0)

Marque a opção correta, considerando 

struct Livro { 
int codigo; 
float preco; 
} liv; 

  liv.preco = 30.70;
Livro.liv.codigo = 12345;
  Livro.codigo = 12345;
liv­>preco = 30.70;
Livro­>liv.codigo = 12345;

  6a  Questão (Ref.: 201509179340)  Fórum de Dúvidas (0)       Saiba   (0)

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

  Fila
Pilha
Loop

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918951970 2/3
11/06/2016 BDQ Prova
Vetor
  Registro

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918951970 3/3
11/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A4_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:21:35 (Finalizada)

  1a  Questão (Ref.: 201509179298)  Fórum de Dúvidas (1)       Saiba   (0)

Em uma pesquisa sequencial a lista deve estar?

sempre desordenada.
ordenada somente o primeiro da lista.
  ordenada ou desordenada.
desordenada somente da metade da lista até o final.
ordenada somente do início até a metade da lista.

 Gabarito Comentado

  2a  Questão (Ref.: 201509182677)  Fórum de Dúvidas (1)       Saiba   (0)

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;

  pesquisa binária
pesquisa indexada
  pesquisa sequencial
pesquisa de cadeias
pesquisa cadeias indexada

 Gabarito Comentado

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918966160 1/3
11/06/2016 BDQ Prova

  3a  Questão (Ref.: 201509179855)  Fórum de Dúvidas (1 de 1)       Saiba   (0)

O processo de rearranjar um conjunto de dados em uma ordem crescente ou decrescente é chamado de
ordenação. Existem várias técnicas de ordenação, entretanto a técnica que procura o menor valor entre todos
os elementos do vetor e troca­o pelo primeiro elemento; para os n ­ 1 elementos restantes, determinação do
elemento de menor valor e troca pelo segundo elemento e assim sucessivamente, é chamado de:

Binária
Bolha
Hash
  Seleção
  Inserção

 Gabarito Comentado

  4a  Questão (Ref.: 201509179507)  Fórum de Dúvidas (1)       Saiba   (0)

Qual a importância de se entender a "ordenação" de dados ?

  A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem­se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem­se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem­se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem­se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem­se
conhecimento para manter outros problemas.

 Gabarito Comentado

  5a  Questão (Ref.: 201509179349)  Fórum de Dúvidas (1 de 1)       Saiba   (0)

O seguinte trecho de programa abaixo representa qual tipo de estrutura de ordenação?

void ordenar(float v[], int n) // n é o no. de elementos em v

 int i , // índice

 aux, // auxiliar para troca

trocou = true,

fim = n ­ 1;

while (trocou)

    trocou = false; // sinaliza que é falso que trocou

     for (i = 0; i < fim; i++)

     {

       if (v[i] > v[i+1])

       {

         aux = v[i];

         v[i] = v[i+1];

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918966160 2/3
11/06/2016 BDQ Prova
         v[i+1] = aux;

         // sinaliza que é verdadeiro que trocou

         trocou = true;

        } // fim if

    } // fim for

 fim­­; // decrementa o fim

} // fim while

} // fim da função

Heapsort
Mergesort
  Bublesort
  Shellsort
Quicksort

 Gabarito Comentado

  6a  Questão (Ref.: 201509182912)  Fórum de Dúvidas (1)       Saiba   (0)

Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer
acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam
ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio
do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso
contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior
do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O
algoritmo que utiliza esta metodologia é:

  Pesquisa binária
  Seleção
Pesquisa sequencial
Bolha
Inserção

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918966160 3/3
11/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A5_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:33:58 (Finalizada)

  1a  Questão (Ref.: 201509827389)  Fórum de Dúvidas (0)       Saiba   (0)

Considere uma lista com n  livros, em que cada livro é modelado pela struct :
 
struct Livro {
                            string 堀倅tulo,  editora, autor;
                            float preco;
};
 
A função X abaixo
 
void X (Livro v[ ], int &n, Livro L)
{
     v[n] = L;
     n++;
    cout << "Operação realizada com sucesso.";
}
 
implementa a operação de :

Busca
  Inserção

Ordenação por inserção
Inicialização
Subs堀倅tuição

 Gabarito Comentado

  2a  Questão (Ref.: 201509179703)  Fórum de Dúvidas (0)       Saiba   (0)

Com relação as listas lineares sequenciais:

I ­ Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de
array.

II ­ Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um
índice.

III ­ Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.

  Apenas as afirmações II e III estão corretas.
Apenas a afirmação I está correta.
Apenas as afirmações II está corretas.
Apenas as afirmações I e III estão corretas.
  Apenas as afirmações I e II estão corretas.

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918988732 1/3
11/06/2016 BDQ Prova

 Gabarito Comentado

  3a  Questão (Ref.: 201509179323)  Fórum de Dúvidas (0)       Saiba   (0)

O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?

ordenação
  underflow
remoção
inclusão
  overflow

 Gabarito Comentado

  4a  Questão (Ref.: 201509179867)  Fórum de Dúvidas (0)       Saiba   (0)

Analisando o trecho do algoritmo abaixo,

pode­se afirmar que se trata de uma operação de:

Remoção de um elemento de uma estrutura FIFO
Remoção de um elemento de uma estrutura LIFO
Exibição de um elemento em uma estrutura LIFO
  Inserção de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura FIFO

 Gabarito Comentado

  5a  Questão (Ref.: 201509743570)  Fórum de Dúvidas (0)       Saiba   (0)

__________________________ é uma lista linear em que a alocação de memória pode ser estática, e que a
forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando se tem em
mente um tamanho pré­definido, ou seja, quando se sabe até onde a lista pode crescer.

Lista Linear Não Alocada
  Lista Linear Sequencial
Lista Linear Não Sequencial
  Lista Linear de Alocação de Memória
Lista Não Linear

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918988732 2/3
11/06/2016 BDQ Prova

  6a  Questão (Ref.: 201509179846)  Fórum de Dúvidas (0)       Saiba   (0)

As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:

Função
Matriz
Registro
Variável
  Vetor

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918988732 3/3
11/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A6_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:44:47 (Finalizada)

  1a  Questão (Ref.: 201509179324)  Fórum de Dúvidas (0)       Saiba   (0)

O que acontece quando tentamos retirar um elemento de uma pilha que já está vazia?

Ordenação.
Remoção.
Overflow.
  Underflow.
Inclusão.

 Gabarito Comentado

  2a  Questão (Ref.: 201509171399)  Fórum de Dúvidas (0)       Saiba   (0)

Seja S uma pilha inicialmente vazia. Primeiramente, o elemento A é inserido em S. Em seguida, o elemento B,
e assim por diante, até a inclusão final do elemento E. Ao término dessas operações, qual elemento estará no
topo de S?

D.
C.
  E.
B.
A.

 Gabarito Comentado

  3a  Questão (Ref.: 201509246973)  Fórum de Dúvidas (0)       Saiba   (0)

Respeitando as ordens de inserção e de retirada dos dados, uma estrutura de:

  pilha é também denominada LIFO ou FILO.
fila é também denominada FIFO ou LIFO.
fila é também denominada FIFO ou FILO.
fila é também denominada LIFO ou LILO.
pilha é também denominada FIFO ou FILO.

 Gabarito Comentado

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919007410 1/2
11/06/2016 BDQ Prova

  4a  Questão (Ref.: 201509246972)  Fórum de Dúvidas (0)       Saiba   (0)

Na estrutura de dados tipo pilha, há duas operações básicas para empilhamento e desempilhamento. Essas
operações são conhecidas como:

PULL e POP;
  PUSH e POP.
Base e Topo;
HEAP e POP;
  PUSH e PULL;

 Gabarito Comentado

  5a  Questão (Ref.: 201509179841)  Fórum de Dúvidas (0)       Saiba   (0)

Sistemas operacionais utilizam filas para gerenciar, tarefas, processos e recursos. Qual é a ordenação dos
elementos armazenados aleatoriamente em uma lista do tipo LIFO?

  A operação TOP remove um elemento e altera o estado da Pilha
Nenhuma das operações altera o estado da Pilha
  Somente a operação POP altera o estado da Pilha
Ambas alteram o estado da Pilha
Somente a operação TOP altera o estado da Pilha

  6a  Questão (Ref.: 201509171396)  Fórum de Dúvidas (0)       Saiba   (0)

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

array
  pilha
ponteiro
fila
loop

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919007410 2/2
11/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A7_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:50:19 (Finalizada)

  1a  Questão (Ref.: 201509179352)  Fórum de Dúvidas (0)       Saiba   (0)

Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que
DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações:

ENQUEUE(1)

ENQUEUE(2)

DEQUEUE()

ENQUEUE(3)

ENQUEUE(4)

DEQUEUE()

DEQUEUE()

ENQUEUE(5)

Ao final da sequencia, a soma dos elementos de que (Q) será?

6
  9
0
  15
5

 Gabarito Comentado

  2a  Questão (Ref.: 201509179360)  Fórum de Dúvidas (0)       Saiba   (0)

Um banco adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I atende
todas pessoas que não possuem atendimento prioritário. O sistema II atende somente pessoas com
atendimento prioritário. Nessa situação,

O sistema I adota o esquema FIFO de organização de dados e o II, o esquema LIFO.
  Tanto o sistema I, quanto o II, adota o esquema FIFO de organização de dados.
  Tanto o sistema I, quanto o II, adota o esquema LIFO de organização de dados.
Tanto o sistema I, quanto o II, adota o esquema lista duplamente encadeada de organização de dados.
O sistema I adota o esquema LIFO de organização de dados e o II o esquema FIFO.

  3a  Questão (Ref.: 201509770783)  Fórum de Dúvidas (0)       Saiba   (0)

         Assinale a opção que, corretamente, mostra exemplos em que a estrutura de dados fila é usada, de acordo com o

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 1/4
11/06/2016 BDQ Prova

critério de inserções e remoções que rege tal estrutura.

Buffer para gravação de dados em mídia e fila de pessoas para comprar o 谈Ȁcket do metrô.
Fila de arquivos para impressão e fila de pessoas no caixa de um supermercado.
  Fila de pessoas para 谈Ȁrar o visto e fila de pessoas para usar o caixa eletrônico.
  Fila de arquivos para impressão e buffer para gravação de dados em fila.
Fila de documentos para xerox e fila de arquivos para impressão.

 Gabarito Comentado

  4a  Questão (Ref.: 201509770847)  Fórum de Dúvidas (0)       Saiba   (0)

   Considere uma fila simples F  de inteiros,  do 谈Ȁpo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma
firma de espionagem, desde que haja espaço para um novo agente.  Assinale a opção que corretamente desenfileira o código
de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo.

struct Fila {     in t v[100], inicio, fim; } ;

Fila F;

F. inicio = 0;

F.fim = ‐1;
 

void desenfileirar(Fila  F)  {

       if (F.inicio > F.fim)

            cout << "Não há agentes para re谈Ȁrar. " << endl;

     else  {

          cout << "Removido o agente " <<     F.v[F.inicio];

         F.inicio++;

    }

}
 

void desenfileirar(Fila &F)  {

        if (F.fim == ‐1 && F.inicio == 0)

            cout << "Não há agentes para re谈Ȁrar. " << endl;

       else  {

            cout << "Removido o agente " <<     F.v[F.inicio];

             F.inicio++;

       }

}
 
   

void desenfileirar(Fila F)  {

   cout << "Removido o agente " <<     F.v[F.inicio];

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 2/4
11/06/2016 BDQ Prova

   F.inicio‐‐;

 }
 
  void desenfileirar(Fila &F)  {

        if (F.inicio > F.fim)

            cout <<  "Não há agentes para re谈Ȁrar. " << endl;

       else  {

             cout <<  "Removido o agente "  <<     F.v[F.inicio];

             F.inicio++;

       }

}
 

void desenfileirar(Fila &F)  {

       if (F.inicio > F.fim)

            cout << "Não há agentes para re谈Ȁrar. " << endl;

     else  {

         cout << "Removido o agente " <<     F.v[F.inicio];

     }

 Gabarito Comentado

  5a  Questão (Ref.: 201509768148)  Fórum de Dúvidas (0)       Saiba   (0)

Ao inserirmos em uma estrutura de dados do tipo fila sequencial os seguintes elementos: A, B, C, D,
exatamente nesta ordem. E em seguida realizarmos duas operações consecutivas de remoção na fila e
imediatamente inserirmos dois novos elementos o X e o W. Podedmos afirmar que se realizarmos uma nova
operação de remoção, o elemento que será removido desta fila sera o:

D
W
A
X
  C

 Gabarito Comentado  Gabarito Comentado  Gabarito Comentado

  6a  Questão (Ref.: 201509764975)  Fórum de Dúvidas (0)       Saiba   (0)

O que acontece quando se deseja inserir um elemento em uma FILA que já está cheia?

  Underflow.
Dequeue.
  Overflow.
Enqueue.
A inserção é feita sem problema.

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 3/4
11/06/2016 BDQ Prova

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 4/4
12/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A8_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 12/06/2016 16:02:22 (Finalizada)

  1a  Questão (Ref.: 201509179664)  Fórum de Dúvidas (0)       Saiba   (0)

Marque a afirmativa que represente uma separação.

Juntar duas listas, colocando uma lista no final de outra, obtendo, ao final, uma só lista resultante.
  Consiste em dividir a lista em duas outras listas. A quantidade de nós que cada lista terá, depende da
necessidade.
Organizar os dados da lista em ordem crescente ou decrescente.
Intercalar a ordem dos dados da lista do final para o início, atualizando a lista.
Alterar a ordem dos dados da lista do final para o início, atualizando a lista.

 Gabarito Comentado

  2a  Questão (Ref.: 201509179525)  Fórum de Dúvidas (0)       Saiba   (0)

Em uma lista linear simplesmente encadeada.

  Além do campo relativo ao dado, cada nó possui dois ponteiros,
Cada ponteiro possui um só endereço que referencia o primeiro nó da lista.
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, formando
um ciclo.
  Cada nó possui um só ponteiro que referencia o próximo nó da lista.
O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista.

 Gabarito Comentado

  3a  Questão (Ref.: 201509721284)  Fórum de Dúvidas (0)       Saiba   (0)

Podemos dizer que uma lista encadeada tem as seguintes características:

i) conhecida como lista ligada.

ii) seus nós são responsáveis para manter a sequência da lista.

iii) o último nó deve apontar para NULL.

Assinale a alternativa que informa as afirmativas corretas.

Somente a afirmativa iii esta correta.
Todas as afirmativas estão incorretas.
  Todas as afirmativas estão corretas.
Somente a afirmativa i esta correta.
  Somente as afirmativas i e ii estão corretas.

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 1/4
12/06/2016 BDQ Prova

 Gabarito Comentado

  4a  Questão (Ref.: 201509749708)  Fórum de Dúvidas (0)       Saiba   (0)

A linguagem C++ oferece quatro meios de criação de tipos de dados: matrizes, estruturas ou structs, uniões e
classes. As estruturas, que passaremos a chamar simplesmente de structs, são tipos de variáveis que agrupam
dados geralmente desiguais, enquanto matrizes são variáveis que agrupam dados similares. Devido a esta
característica as structs são utilizadas para modelar nodos (nós) de estruturas dinâmicas. Portanto podemos
afirmar que:

As estruturas dinâmicas são assim chamadas, pois não podem fazer alocação de memória em tempo de
execução, mas mesmo assim conseguem ter seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
compilação e entretanto seus tamanhos só são alterados na codificação de acordo com a demanda.
  As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tanto em
tempo de execução quanto em tempo de compilação, mas não podem ter seus tamanhos alterados de
acordo com a demanda.
  As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
execução e terem seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
compilação e terem seus tamanhos alterados de acordo com a demanda.

  5a  Questão (Ref.: 201509179871)  Fórum de Dúvidas (0)       Saiba   (0)

Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor
serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama:

Variável
Endereço
  Ponteiro
  Vetor
Matriz

 Gabarito Comentado

  6a  Questão (Ref.: 201509770864)  Fórum de Dúvidas (0)       Saiba   (0)

Considere uma lista simplesmente encadeada com placas de carros.  Assinale a opção que, corretamente, imprime todas as
placas da lista. Considere :

struct no {

                 string placa;

                 struct no *link;

};

no *p;    //p aponta para o início da lista
 

void imprimir(no p) {
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 2/4
12/06/2016 BDQ Prova

   while (p != NULL)    {

           cout << pno;

          p = plink;

    }

}
 
  void imprimir(no *p) {

   if  (p != NULL)    {

           cout << pplaca;

          p = plink;

   }

}
  void imprimir(no *p) {

   while (p != NULL)    {

           cout << pplaca;

          p = plink;

}
 
void imprimir(no *p) {

    while (p != NULL)    {

           cout << pplaca;

   }

}
 
 

void imprimir(no *p) {

   while (p != NULL)    {

           cout << p.placa;

          p = p.link;

   }

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 3/4
12/06/2016 BDQ Prova

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 4/4
12/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A9_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 12/06/2016 16:25:04 (Finalizada)

  1a  Questão (Ref.: 201509885642)  Fórum de Dúvidas (0)       Saiba   (0)

Estava  um  aluno  estudando  Lista  Simplesmente  Encadeada  quando  encontrou    em  um  site  a
definição da struct nodo e de uma função cujo nome você deverá escolher para substituir XXX
nas opções abaixo depois que analisar a função, assumindo que teste foi realizado, permitindo 
que a operação fosse realizada.
 
 struct nodo
{
  int info;
  struct nodo *prox;

nodo* XXX(nodo *ptr, int valor)
{
  nodo *temp = new nodo;
  ...
  temp­>info = valor;    
  temp­>prox = ptr; 
  return temp;         
}

InsereNoFim
  InsereNoFrente
BuscaNaLista
RemoveNo
  ListaNo

 Gabarito Comentado

  2a  Questão (Ref.: 201509384797)  Fórum de Dúvidas (0)       Saiba   (0)

Assinale a opção correta.  Sobre pilha dinâmica podemos afirmar que :

só pode ter seus dados impressos no sentido do último nó para o primeiro nó.        

  é recomendada para qualquer tipo de aplicação em que insere­se no final e retira­se do
início.

usa o critério FIFO, visto que é dinâmica.
insere­se em qualquer posição, antes ou após qualquer nó, visto que é dinâmica.

  usa o critério LIFO e é implementada usando­se listas encadeadas.

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185871048 1/3
12/06/2016 BDQ Prova

 Gabarito Comentado

  3a  Questão (Ref.: 201509851329)  Fórum de Dúvidas (0)       Saiba   (0)

Sabendo que uma fila encadeada possui seus nós definidos pela : 

struct no { 
int x; 
no *prox; 
}; 

Marque a alternativa que representa corretamente a criação ou alocação do nó na sintaxe do C++ para
utilização na fila.

p *no=new no;
no p ­> new no;
  p *no ­> new no;
no *p ­> new no;
  no *p=new no;

 Gabarito Comentado

  4a  Questão (Ref.: 201509802240)  Fórum de Dúvidas (0)       Saiba   (0)

Sobre uma estrutura de dados do tipo LIFO, observe as seguintes afirmações: 
(1) É uma pilha. 
(2) Pode ser uma fila com prioridades 
(3) É uma estrutura onde o primeiro elemento a entrar é o último a sair.

Sobre estas afirmações marque a opção correta:

  Apenas as afirmações (1) e (3) são verdadeiras
Todas as afirmações são falsas
  Apenas a afirmação (3) é verdadeira
Apenas a afirmação (1) é verdadeira
Todas as afirmações são verdadeiras

  5a  Questão (Ref.: 201509851451)  Fórum de Dúvidas (0)       Saiba   (0)

Para converter de decimal para binário usamos a estrutura de dados pilha. Assinale a opção que, corretamente,
indica as ações corretas para empilhar o resto da divisão gerado no processo de conversão, considerando uma
lista simplesmente encadeada. Considere o tipo definido abaixo : 

struct no { 
int dado; 
struct no *link; 
}; 

Não é necessário alocar memória com new. Basta criar uma struct do tipo no, armazenar o resto da
divisão número por 2 no campo dado e aterrar o campo link.
Basta alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do novo
nó e aterrar o link do novo nó.
  É preciso armazenar o resto da divisão do número por 2 no campo dado do primeiro nó da lista e
retornar o ponteiro para este nó.
Basta alocar memória com new e armazenar o resto da divisão do número por 2 no campo dado do
novo nó .
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185871048 2/3
12/06/2016 BDQ Prova

  É preciso alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do
novo nó, apontar o link do novo nó para o início da lista e enfim, retornar o ponteiro para o novo nó.

 Gabarito Comentado

  6a  Questão (Ref.: 201509722965)  Fórum de Dúvidas (0)       Saiba   (0)

Tínhamos  declarado  um  ponteiro  de  nome  ptr  e  precisávamos  construir  uma  estrutura  de  repetição  que
pudesse  repetir  enquanto  o  ponteiro  não  fosse  nulo.  Observe  os  trechos  abaixo  e  assinale  qual  a  afirmativa
correta.

I if (ptr !=NULL) 
II if( !ptr ) 
III if(ptr) 
IV while (ptr !=NULL) 
V while (ptr)

  I e II estão corretas.
I e IV estão corretas
  IV e V estão corretas.
III está correta
III e V estão corretas

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185871048 3/3
12/06/2016 BDQ Prova

   ESTRUTURA DE DADOS   Lupa  

Exercício: CCT0260_EX_A10_201509137939  Matrícula: 201509137939

Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 12/06/2016 16:33:14 (Finalizada)

  1a  Questão (Ref.: 201509843796)  Fórum de Dúvidas (0)       Saiba   (0)

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 dados, marque a alternativa
correta.

struct nomeRegistro{
       int info;
       struct nomeRegistro* ant;
       struct nomeRegistro* prox;

typedef struct nomeRegistro NOMEREGISTRO;

Lista encadeada
Fila
  Pilha
  Lista duplamente encadeada
Matriz

  2a  Questão (Ref.: 201509392401)  Fórum de Dúvidas (0)       Saiba   (0)

Observe a struct, definida globalmente, e um trecho de uma função que manipula
uma Lista Duplamente Encadeada.
struct listaDE
{
 int info;
 struct listaDE* ant;
 struct listaDE* prox;

...
listaDE* novo = new listaDE;
novo­>info = valor;
novo­>prox = LISTA;
novo­>ant = NULL; 
Assinale a alternativa que apresenta o protótipo dessa função

listaDE *remove(listaDE *LISTA, int valor);
  listaDE *insereInicio(listaDE *LISTA, int valor); 

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185895960 1/3
12/06/2016 BDQ Prova

listaDE *busca (listaDE *LISTA, int valor);

void exibeIpF(listaDE *LISTA);

listaDE *insereFim(listaDE *LISTA, int valor);

 Gabarito Comentado

  3a  Questão (Ref.: 201509382141)  Fórum de Dúvidas (0)       Saiba   (0)

Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de
diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo,
são estes os ponteiros ant e prox, que apontam respectivamente para o nodo anterior e para o próximo
nodo.  Esta  característica  permite  que  a  estrutura  seja  percorrida  em  ambos  os  sentidos.  Assim
analisando as operações a seguir:

p­>ant­>prox=p­>prox;
p­>prox­>ant=p­>ant;
 
            Sendo p um ponteiro que aponta para um dos nodos da lista, pode­se afirmar que:

  As operações removem o nodo apontado pelo ponteiro p.
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p.
  As operações possibilitam a busca de um nodo apontado pelo ponteiro p.
As operações possibilitam o percurso do ponteiro p da esquerda para direita.
As operações possibilitam o percurso do ponteiro p da direita para esquerda.

  4a  Questão (Ref.: 201509384819)  Fórum de Dúvidas (0)       Saiba   (0)

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

Não pode ser vazia.

  A lista pode ser  percorrida com igual facilidade para a direita ou para a
esquerda, pois existem dois ponteiros.

          A lista precisa ter sempre um ponteiro apontando para o 1º. nó
  Consome  menos memória do que uma lista simplesmente encadeada, se
tivermos uma mesma aplicação.

Não pode haver remoções no meio da lista.

 Gabarito Comentado

  5a  Questão (Ref.: 201509171461)  Fórum de Dúvidas (0)       Saiba   (0)

Em relação às estruturas de dados, é correto afirmar:

LIFO refere­se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, duplamente
encadeada.
  Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é uma

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185895960 2/3
12/06/2016 BDQ Prova
característica presente nas listas duplamente encadeadas.
Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os princípios da
estrutura FILO.
LIFO refere­se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, sem
disciplina de acesso, onde o primeiro elemento a entrar é o último a sair.
Um grafo com um único vértice e sem arestas é conhecido como dígrafo.

 Gabarito Comentado

  6a  Questão (Ref.: 201509179734)  Fórum de Dúvidas (0)       Saiba   (0)

 Suponha uma listagem mantida com informações sobre um equipamento a ser adquirido por
uma empresa. A listagem possui as informações sobre de 10 fornecedores, descritas a seguir:

próximo: um ponteiro para o próximo fornecedor da listagem;

nome: nome, identificando o fornecedor;
valor: preço do equipamento no fornecedor; 
anterior: um ponteiro para o fornecedor anterior da listagem.

Sendo o fornecedor "Z" o quinto elemento desta listagem e "X" e "Y" dois outros fornecedores
que não pertencem à listagem, com seus respectivos ponteiros "pZ", "pX" e "pY", considere o
trecho de código abaixo.

pY­>proximo = pX;

pX­>anterior = pY;

pX­>proximo = pZ­>proximo;

pZ­>proximo­>anterior = pX;

pZ­>proximo = pY;

pY­>anterior = pZ;

Este trecho de código é usado para inserir na listagem os fornecedores:

X, antes do Z, e Y, logo após o Z.
X, logo após o Z, e Y, logo após o X.
  Y, antes do Z, e X, logo após o Z.
Y, antes do Z, e X, antes do Y.
  Y, logo após o Z, e X, logo após o Y.

 Gabarito Comentado

 Fechar

http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185895960 3/3
ESTRUTURA DE DADOS
Simulado: CCT0260_ Fechar
Aluno(a): Matrícula:
Desempenho: 10,0 de 10,0 Data: 22/09/2015 17:32:14 (Finalizada)

1a Questão (Ref.: 201401832402) Pontos: 1,0 / 1,0


Leia com atenção as afirmativas abaixo e assinale a resposta correta.

I A estrutura de dados que melhor representa os diretórios ou pastas de arquivos do computador é a árvore.
II A estrutura de dados FILA é não linear assim como o Grafo.
III O termo folha em uma estrutura de dados é usado para um nó sem filhos e que tem grau 0,
IV O grau de uma árvore é definido pelo número de subárvores de um nó.
V O grafo é uma estrutura de dados que tem limitação para o número de vértices.
VI Uma das aplicações da estrutura de dados grafo é a Computação Gráfica.

I, II e V são afirmativas verdadeiras


II, IV, V e VI são afirmativas verdadeiras
I, III, IV e VI são afirmativas verdadeiras
II, IV e V são afirmativas verdadeiras
I, II, III e VI são afirmativas verdadeiras

Gabarito Comentado.

2a Questão (Ref.: 201401885235) Pontos: 1,0 / 1,0


Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados mais
adequada para modelar este problema, visto que não há qualquer preocupação com ordem de chegada ou saída de
aluno da turma.

Pilha
Grafo
Lista
Fila
Árvore

3a Questão (Ref.: 201401882627) Pontos: 1,0 / 1,0


Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção.
Portanto, utiliza-se a tecnica da modularização de programas, a fim de facilitar a implementação e a
manutenção dos programas. Esta técnica, também chamada de modularização, tem como principal
elemento:

Os Vetores
Os Grafos
As Estruturas de Dados
As funções
As Filas

4a Questão (Ref.: 201401876746) Pontos: 1,0 / 1,0


Uma função possui um valor de retorno inteiro, recebe por valor um inteiro como primeiro
parâmetro e por referência um inteiro como segundo parâmetro. Qual das respostas abaixo poderia
representar o protótipo dessa função:

void func (int &a, int &b);


int func (int &a, int b);
int func (int a, int &b);
void func (int a, int &b);
int func (&int, int);

5a Questão (Ref.: 201401864190) Pontos: 1,0 / 1,0


Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente,
agrupados sob uma lógica e associados por um nome. Esses elementos podem ser variáveis simples,
matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como: struct aluno { string
nome; float media; }; Suponha ainda que exista um vetor desta estrutura, definido como: aluno vet [
10]; Marque a alternativa em que é atribuída de forma correta a media 6.0 para o quarto elemento
deste vetor.

aluno[3].media=6.0;
aluno[3].10=6.0;
aluno[10]=6.0;
vet[3].media=6.0;
vet[3].aluno=6.0;

6a Questão (Ref.: 201401907879) Pontos: 1,0 / 1,0


Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente,
agrupados sob uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição
de uma estrutura como:

struct aluno {
string nome;
float nota;
};

Suponha ainda que exista um vetor desta estrutura, definido como:

aluno vet [100];

Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro
elemento deste vetor.

vet[10].aluno.nota=5.7 ;
aluno.vet[10].nota=5.7;
vet[10].nota=5.7;
vet[10]=aluno.5.7;
aluno.vet[10]=5.7;

7a Questão (Ref.: 201401293986) Pontos: 1,0 / 1,0


Marque a afirmativa correta para a "inserção incremental".

É um tipo de sequenciação por intercalação.


Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de
elementos.
A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus
compartimentos.
É um tipo de ordenação por intercalação
Os pivôs são escolhidos aleatoriamente.

Gabarito Comentado.

8a Questão (Ref.: 201401879448) Pontos: 1,0 / 1,0


Nos métodos de ordenação interna, quais são aqueles classificados como tipo método simples?

Insert Sort, Bubble Sort e Quick Sort


Shell Sort, Quick Sort e Heap Sort
Insert Sort, Bubble Sort e Shell Sort
Selection Sort, Insert Sort e Bubble Sort
Selection Sort, Shell Sort e Bubble Sort

9a Questão (Ref.: 201401293797) Pontos: 1,0 / 1,0


O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo
= fim)?

ordenação
inclusão
remoção
overflow
underflow

Gabarito Comentado.
10a Questão (Ref.: 201401285887) Pontos: 1,0 / 1,0
Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O
sistema I atende os não idosos. O sistema II atende os idosos. Nessa situação:

tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados.


o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO.
tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados.
tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados.

Gabarito Comentado.
Avaliação: CCT0260_AV_201110046804 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV

Aluno:

Professor: ANITA LUIZA MACIEL LOPES Turma: 9001/AA

Nota da Prova: 7,5 Nota de Partic.: 1 Data: 23/08/2014 11:34:07

1a Questão (Ref.: 201110110048) Pontos: 1,5 / 1,5

Como é a lógica do FIFO?

Resposta: O PRIMEIRO ELEMENTO A ENTRAR NA FILA É O PRIMEIRO A SAIR DA FILA (First In. First Out).

Gabarito: O primeiro que entra na fila é o primeiro que sai.

2a Questão (Ref.: 201110100541) Pontos: 1,0 / 1,5

Defina um tipo de dado (registro) capaz de armazenar as seguintes informações sobre um determinado cliente
de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo.

Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente
feita pelo usuário.

Resposta: struct BancoCliente{String nome[30], char cpf, char rg, int numConta, int d_abertura, float saldo}
BancoCliente cliente; cin>>cliente.nome; cin>>cliente.cpf; cin>>cliente.rg; cin>>cliente.numConta;
cin>>cliente.d_abertura; cin>>cliente.saldo;

Gabarito:

struct ClienteBanco{
string nome;
string cpf;
int rg;
int numConta;
double saldo;
};

ClienteBanco cliente;
cin >> cliente.nome;
cin >> cliente.cpf;
cin >> cliente.rg;
cin >> cliente.saldo;

3a Questão (Ref.: 201110071152) Pontos: 0,5 / 0,5

Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas


de dados Lineares e Não Lineares com suas respectivas coleções de dados.
A correta associação entre os elementos das duas tabelas é:

a1, b1, c2, d2.


a1, b1, c2, d1
a2, b1, c2, d1.
a1, b2, c1, d1.
a2, b2, c1, d2.

4a Questão (Ref.: 201110079086) Pontos: 0,5 / 0,5

Considere uma estrutura de dados do tipo vetor. Com respeito a tal estrutura, é correto que seus componentes
são caracteristicamente:

Heterogêneos e com acesso FIFO.


Homogêneos e de acesso aleatório por intermédio de índices.
Heterogêneos e com acesso LIFO.
Heterogêneos e com acesso indexado-sequencial.
Homogêneos e com acesso indexado-sequencial.

5a Questão (Ref.: 201110079259) Pontos: 0,5 / 0,5

Qual a importância de se entender a "ordenação" de dados ?

A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.

6a Questão (Ref.: 201110082668) Pontos: 0,5 / 0,5

Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação
deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta
que cita o algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre
os elementos que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido
entre os ordenados movendo-se os elementos maiores que ele uma posição para a direita e posteriormente
inserindo-o na posição vaga".

Bolha
Seleção
MergeSort
Inserção
QuickSort

7a Questão (Ref.: 201110146720) Pontos: 0,5 / 0,5

A estrutura de dados do tipo pilha (stack) é um tipo abstrato de dado baseada no princípio:

Da localidade de referência.
De dividir para conquistar.
Last In First Out (LIFO).
First In First Out (FIFO).
Da indiferença.

8a Questão (Ref.: 201110287819) Pontos: 0,5 / 0,5

Sabemos que podemos representar uma expressão de três formas, sendo que uma
delas é chamada de notação polonesa reversa ( pós-fixa).
Suponha que um professor de Estrutura de Dados desejasse compor a nota do
bimestre com uma prova e um trabalho oral, usando pesos diferenciados para as
notas. Sendo assim, usaria a média ponderada como a expressão abaixo.

A única calculadora que encontrou disponível foi uma com representação pós fixa.
Assinale a alternativa que apresenta a sequência que deveria ser digitada pelo
professor para conseguir calcular a média de um aluno.

/ + * nota1 peso1 * nota2 peso2 + peso1 peso2


nota1 peso1 * nota2 peso2 * peso1 peso2 + + /
/ * nota1 peso1 + * nota2 peso2 + peso1 peso2
nota1 peso1 nota2 peso2 peso1 peso2 * * + + /
nota1 peso1 * nota2 peso2 * + peso1 peso2 + /

9a Questão (Ref.: 201110281876) Pontos: 1,0 / 1,0

As filas sequenciais são estruturas de dados utilizadas em diversas aplicações, tais como fila de
processo, fila de impressão, sistemas de senha etc. Entretanto, nas aplicações onde há muita
movimentação de dados, inserções e remoções de dados na fila, surgem espaços ociosos que podem
levar ao fenômeno chamado de esgotamento de memória. Para sanar este problema pode-se substituir
a fila sequencial por:

lista circular
lista sequencial
fila circular
pilha sequencial
pilha circular

10a Questão (Ref.: 201110079623) Pontos: 1,0 / 1,0

Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor
serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama:

Matriz
Variável
Endereço
Ponteiro
Vetor

SEGUNDA AV

valiação: CCT0260_AV_201110046774 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV

Aluno:

Professor: ALEXANDRE SOARES ALVES Turma: 9001/AA

Nota da Prova: 3,0 Nota de Partic.: 0,5 Data: 23/08/2014 11:34:12

1a Questão (Ref.: 201110294615) Pontos: 0,0 / 1,5

Considere uma lista não ordenada de códigos espiões usados por Sherlock Silva.
Ajude-o a encontrar um determinado código c, realizando uma busca de acordo com o
seguinte protótipo:
int pesquisar(int v[ ], int c, int n);
Note : v é o vetor de códigos, c é o código a ser procurado e n é a quantidade de códigos
existentes em v.

Resposta: int pesquisar(int v[], int c, int n){ int i; for(i=0;i<n;i++){ if(v[i]==c){cout<<"CODIGO
ENCONTRADO";cout<<v[i];}} }

Gabarito:

2a Questão (Ref.: 201110286002) Pontos: 0,5 / 1,5

Faça uma função em C++ para criar uma lista duplamente encadeada com um nó e
armazenar neste nó o valor 100. Note que deverá ser retornado o ponteiro para o nó
criado. Considere

struct nodupla {

int dado;

struct *dlink, *elink;

};

e o seguinte protótipo : nodupla *cria();

Resposta: nodupla *cria(){ dlink *p=new dlink; p->dlink=null; *cria=dado; }

Gabarito:
nodupla *cria()
{
nodupla *novo;

novo = new nodupla;


novo->dado = 100;
novo->elink = novo->dlink = NULL;
return novo;

3a Questão (Ref.: 201110288711) Pontos: 0,5 / 0,5

Analise as afirmativas abaixo e selecione a alternativa correta.

I Algumas aplicações da estrutura de dados grafo são: Diagrama de Entidade Relacionamento e Redes de
computadores.

II Árvore e lista duplamente encadeada são estruturas não lineares.


III A Fila é uma estrutura não linear e a inserção de um elemento acontece ao final.
IV A Lista é uma das estruturas de dados mais simples, mas não se pode ordená-la.
V O uso de ponteiros é fundamental para construção de listas encadeadas.

II E IV são verdadeiras
I , II e IV são verdadeiras
I e V são verdadeiras
II e V são verdadeiras
III e V são verdadeiras

4a Questão (Ref.: 201110082399) Pontos: 0,5 / 0,5

No programa abaixo, diga em que área de memória serão alocados os elementos de dados y e r,
respectivamente.

#include
using namespace std;
int x, y;
float media( float a, float b )
{ float tmp;
tmp = (a + b ) / 2.0;
return ( tmp );
}
int main()
{
float r;
cout<<"Informe 2 valores: ";
cin>>x>> y;
r = media( x, y );
cout<<"\nMedia = "<< r<<"\n";
system ("pause");
}

( ) área de dados globais / área de registro


( ) área de registro / área de pilha
( ) área de dados globais / área de pilha
( ) área de registro / área de dados globais
( ) área de pilha / área de registro

5a Questão (Ref.: 201110079431) Pontos: 0,5 / 0,5

Suponha uma listagem, contendo número de inscrição e pontuação (ordenada pelo número de inscrição) dos
candidatos para o cargo de Analista de Sistemas de uma grande empresa pública. São 1024 candidatos inscritos
e o sistema implementado para consulta do resultado, permite busca binária ou busca sequencial pelo número
de inscrição. O número máximo de comparações executadas se fosse utilizada a busca binária e se fosse
utilizada busca sequencial, respectivamente, seria de:

9 e 10
1024 e 512
512 e 1024
10 e 10
9e9

6a Questão (Ref.: 201110079486) Pontos: 0,5 / 0,5

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus
elementos o nome e a nota obtida pelo candidato. Deseja-se que este vetor seja ordenado pela nota, em ordem
decrescente. Sendo o vetor pequeno (poucos elementos), o programador responsável por desenvolver este algoritmo,
escolheu um método de ordenação que executa os seguintes passos:

 Selecione candidato com maior nota entre todos e troque-o com o candidato que está na primeira posição do
vetor;
 Selecione o segundo maior e troque-o com o candidato que está na segunda posição;
 Os passos descritos anteriormente são seguidos para a terceira nota, quarta nota e assim por diante até que reste
apenas um candidato.

O algoritmo utilizado pelo programador trata-se do método de ordenação denominado:

Seleção
Bolha
Quicksort
Inserção
Heapsort
7a Questão (Ref.: 201110284323) Pontos: 0,0 / 0,5

for (int i = 0; i < n; i++)


cout << L[i] << endl;
for (int i = 0; i < n; i++)
cout << L.matricula << " " << L.nome << endl;
for (int i = 0; i < n; i++)
cout << L[i].matricula << " " << L[i].nome << endl;
for (int i = 0; i < n; i++)
cout << L.matricula[i] << " " << L.nome[i] << endl;
for (int i = 0; i < n; i++)
cout << L[i].matricula << " " << L[i].nome[30] << endl;

8a Questão (Ref.: 201110284345) Pontos: 0,5 / 0,5

Considere uma pilha sequencial P com capacidade para n elementos.


Sabendo que P é do tipo Pilha definido a seguir, marque a opção que corretamente
implementa a operação de empilhamento, considerando que o topo da pilha recebeu -1 na
inicialização.

struct Pilha {
int v[n], topo;
};

void empilhar(Pilha &P, int valor) {


if (topo == n - 1)
cout << "Pilha cheia.";
else {
topo++;
v[topo] = valor;
}
}
void empilhar(Pilha &P, int valor) {
if (P.topo == n - 1)
cout << "Pilha cheia.";
else
P.v[P.topo] = valor;
}
void empilhar(Pilha P, int valor) {
if (P.topo == n)
cout << "Pilha cheia.";
else {
P.topo++;
P.v[P.topo] = valor;
}
}
void empilhar(Pilha &P, int valor) {
if (P.topo == n - 1)
cout << "Pilha cheia.";
else {
P.topo++;
P.v[P.topo] = valor;
}
}
void empilhar(Pilha P, int valor) {
if (P.topo == n - 1)
cout << "Pilha cheia.";
else {
P.topo++;
P.v[P.topo] = valor;
}
}

9a Questão (Ref.: 201110284487) Pontos: 0,0 / 1,0

void enfileirar(Fila F, int valor) {

if (F.fim == n - 1)

cout << "Fila cheia\n";

else {

F.fim++;

F.v[F.fim] = valor;

}
}

void enfileirar(Fila &F, int valor) {

if (fim == n - 1)

cout << "Fila cheia\n";

else {

fim++;

v[fim] = valor;

void enfileirar(Fila &F, int valor) {

if (F.fim == n - 1)

cout << "Fila cheia\n";

else {

F.fim++;

F.v[F.fim] = valor;

void enfileirar(Fila &F, int valor) {

if (F.fim == n - 1)

cout << "Fila cheia\n";

else

F.v[F.fim] = valor;

void enfileirar(Fila F, int valor) {

if (F.fim == n)

cout << "Fila cheia\n";

else {

F.fim++;

F.v[F.fim] = valor;

}
10a Questão (Ref.: 201110079582) Pontos: 0,0 / 1,0

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário,
através da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos
alocados em posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso
de representar os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.

Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.


Acesso, representação, compartilhamento de memória.
Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.
Proteção de memória, transferência de dados, estruturas simples.
Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
Simulado: CCT0260_SM_201201836794 V.1 VOLTAR

Aluno(a): Matrícula:

Desempenho: 8,0 de 8,0 Data: 17/04/2014 (Finalizada)

1a Questão (Ref.: 201201940133) Pontos: 1,0 / 1,0

Diferentes tipos de estrutura de dados são adequadas 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:

É um modo de distribuição e organização de dados em uma rede de computador de modo que possam
ser usados de modo eficiente.
É um modo de deleção de dados em um computador.
É um modo de utilização de dados nos programas de computador.
São os nomes dados as variáveis na montagem de uma rotina.
É um modo particular de armazenamento e organização de dados em um computador de modo que
possam ser usados de modo eficiente.

2a Questão (Ref.: 201201948075) Pontos: 1,0 / 1,0

Considere uma estrutura de dados do tipo vetor. Com respeito a tal estrutura, é correto que seus componentes
são caracteristicamente:

Homogêneos e de acesso aleatório por intermédio de índices.


Heterogêneos e com acesso indexado-sequencial.
Homogêneos e com acesso indexado-sequencial.
Heterogêneos e com acesso FIFO.
Heterogêneos e com acesso LIFO.

3a Questão (Ref.: 201201948064) Pontos: 1,0 / 1,0

O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?

inclusão
remoção
underflow
overflow
ordenação

4a Questão (Ref.: 201201940157) Pontos: 1,0 / 1,0

Analise as seguintes afirmações: I. Na Passagem por Referência, o parâmetro que vai ser passado na chamada
da função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a
variável correspondente. II. Uma recursão consiste em uma função chamar ela mesma com argumentos sempre
do mesmo valor. III. Considerando-se o escopo das variáveis, é correto afirmar que uma variável é dita global
quando a sua passagem no momento da chamada de uma função se dá tanto por valor quanto por referência.
Uma variável é dita local quando esta passagem se dá apenas por valor. Indique a opção que contenha todas as
afirmações verdadeiras.

somente a alternativa e II.


somente a alternativa I.
I e III.
I e II.
II e III.

5a Questão (Ref.: 201201940137) Pontos: 1,0 / 1,0

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

fila
pilha
ponteiro
loop
array

6a Questão (Ref.: 201201940148) Pontos: 1,0 / 1,0

No contexto de estrutura de dados, uma pilha é:

uma lista do tipo LILO.


um tipo de lista linear em que as operações de inserção são realizadas em uma extremidade e as
operações de remoção são realizadas em outra extremidade.
um tipo de lista linear em que as operações de inserção e remoção são realizadas na extremidade
denominada topo.
um tipo de lista linear em que as operações de inserção e remoção são realizadas aleatoriamente.
uma lista do tipo FIFO.

7a Questão (Ref.: 201201948233) Pontos: 1,0 / 1,0

Estão entre algumas das possíveis formas de se estruturar dados:

Grafos, lista ordenada, algoritmos.


Grafos, lista ordenada, vetores.
Lista encadeada, vetores, algoritmos.
Grafos, algoritmos, fila.
Algoritmos, lista ordenada, vetores.

8a Questão (Ref.: 201201948079) Pontos: 1,0 / 1,0

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

9a Questão (Ref.: 201201979035)


Qual a diferença entre pilha e fila?

Sua Resposta:

Compare com a sua resposta: Pilha se caracteriza por ser uma estrutura de dados que são inseridos e retirados
numa sequencia semelhante as anilhas de alteres, isto é, usa a lógica LIFO. Já uma fila se caracteriza por ser
um estrutura semelhante a fila de banco, isto é, os dados vão chegando e sendo processados e retirados da
estrutura. Essa lógica é chamada de FIFO.

10a Questão (Ref.: 201201969667)


const int TAMMAX = 100;

struct TipoLista{

int qtde; // descritor que representa a quantidade de elementos na lista

int elemt[TAMMAX];

};
Fundamento no tipo de dado(registro) acima que representa uma implementação de uma lista linear sequencial.
Construa um procedimento para adicionar um dado no final da lista.

A lista e o dado serão passados por parâmetro. Usar o mecanismo de passagem por referência se for
necessário.

Sua Resposta:
Compare com a sua resposta:

void addFinalLista ( TipoLista &lista, int dado ){

if(lista.qtde == TAMMAX){cout << "Lista Cheia."; }

else{ lista.elemt[lista.qtde] = dado;

lista.qtde++;

cout << "Dado adicionado com sucesso.";

}}
Fechar

Avaliação: CCT0260_AV2_201202157891 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: 201202157891 - PEDRO ALEXANDRE CHAGAS DOS SANTOS

Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9004/AD

Nota da Prova: 7,0 de 8,0 Nota do Trabalho: Nota de Participação: 1 Data: 15/06/2013 11:09:07

1a Questão (Cód.: 31188) Pontos: 0,0 / 1,0

Analisando o trecho de código abaixo, marque a alternativa correta que apresenta o que será impresso na tela
do usuário. Sabe-se que na linguagem C os ponteiros são representados pelo sinal de asterisco (*), o endereço
de memória pelo sinal & e a função de impressão é denominada printf.
void funcao ( int *a, int *b)
{
int c;
c = *a;
a = b;
*b = c;
}

main()
{
int a=2, b=3;
funcao (&a, &b);
printf("%d - %d \n",a,b);
}

3-3
3-2
2-2
2-3
Não irá compilar

2a Questão (Cód.: 31182) Pontos: 1,0 / 1,0

As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de forma a
facilitar a consulta de determinado elemento. Existem vários tipos de algoritmos para realizar a ordenação dos
elementos, onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre
os elementos. O trecho de código abaixo descreve o algoritmo chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca
mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo

Bolha
MergeSort
QuickSort
Seleção
Inserção

3a Questão (Cód.: 95280) Pontos: 0,5 / 0,5

Assinale a opção certa.

Quando não se escreve o protótipo de uma função ...

A chamada da função poderá ser feita em qualquer hipótese.


A definição da função deverá ser escrita, obrigatoriamente, após o programa principal.
O programa não funcionará de forma alguma.
A chamada da função não poderá ser feita em qualquer hipótese.
É preciso definir a função antes do programa principal.

4a Questão (Cód.: 58563) Pontos: 1,5 / 1,5

Como é a lógica do LIFO?


Resposta: Na lógica LIFO ( Last In First Out ) o último elemento a entrar é o primeiro a sair. Esse conceito está
aplicado na estrutura Pilha, no qual o último elemento que foi inserido na pilha será o primeiro a sair.

Gabarito: O primeiro que entra na pilha é o último que sai.

5a Questão (Cód.: 27994) Pontos: 0,5 / 0,5

Imagine a seguinte estrutura em C/C++, para descrever um produto:

struct Produto {

int codigo;

char descricao[40];

float preco;

};

Considere a função que atribui o preço ao produto

void atribui (struct Produto *pProd) {

/* atribuição do preço */

...

A forma correta para atribuir 2.99 ao campo preco dentro de função atribui é:

*pProd -> preco=2.99;


pProd.preco=2.99;
(*pProd) -> preco=2.99;
*pProd.preco=2.99;
pProd -> preco=2.99;

6a Questão (Cód.: 27753) Pontos: 0,5 / 0,5

Podemos dizer que estrutura de dados é:

Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.

7a Questão (Cód.: 28140) Pontos: 0,5 / 0,5

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______.

Declaração de função
Declaração de vetor
Alocação dinâmica de memória
Alocação estática de memória
Declaração de matriz

8a Questão (Cód.: 58562) Pontos: 1,5 / 1,5

Qual a diferença entre pilha e fila?

Resposta: A estrutura pilha se baseia no conceito LIFO ( Last In First Out ), no qual o ultimo elemento que entra
é o primeiro elemento que vai sair. Já a fila se baseia no conceito FIFO ( First In First Out ) no qual o primeiro
elemento que entra será o primeiro a sair.

Gabarito: Pilha se caracteriza por ser uma estrutura de dados que são inseridos e retirados numa sequencia
semelhante as anilhas de alteres, isto é, usa a lógica LIFO. Já uma fila se caracteriza por ser um estrutura
semelhante a fila de banco, isto é, os dados vão chegando e sendo processados e retirados da estrutura. Essa
lógica é chamada de FIFO.

9a Questão (Cód.: 95248) Pontos: 0,5 / 0,5

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

Boyer-Moore.
Deque.
Árvore.
Autômato.
Shift-and.

10a Questão (Cód.: 27764) Pontos: 0,5 / 0,5

Em um container do tipo Pilha:

Utiliza-se a ordenação First In Fisrt Out (FIFO).


É possível acessar os dados armazenados por várias ordenações.
Se permite acesso aos dados armazenados pelo seu conteúdo.
A ordenação utilizada não importa, uma vez que a recuperação dos dados é feita pela posição do mesmo.
Utiliza-se a ordenação Last In First Out (LIFO).

Período de não visualização da prova: desde 03/06/2013 até 18/06/2013.


Fechar

Avaliação: CCT0260_AV1_201202157891 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201202157891 - PEDRO ALEXANDRE CHAGAS DOS SANTOS

Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9004/AD

Nota da Prova: 6,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 26/04/2013 10:10:31

1a Questão (Cód.: 27780) Pontos: 0,5 / 0,5

Marque a afirmativa correta para a "inserção incremental".

É um tipo de ordenação por intercalação


Os pivôs são escolhidos aleatoriamente.
É um tipo de sequenciação por intercalação.
A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.

2a Questão (Cód.: 30946) Pontos: 1,0 / 1,0

O registro de ativação de uma sub-rotina é o conjunto das informações que devem/precisam ser alocadas em
memória. Assinale abaixo a única opção que representa a composição destas informações.

( ) endereço de retorno / variáveis locais / parâmetros passados


( ) endereço de retorno / valor de retorno / endereço de ponteiro
( ) endereço de ponteiro / variáveis locais / endereço inicial
( ) variáveis locais / valor de retorno / endereço de ponteiro
( ) parâmetros passados / endereço inicial / endereço de retorno

3a Questão (Cód.: 27582) Pontos: 0,0 / 0,5

Considere:

I - Os algoritmos de busca binária e de busca seqüencial executam processamento repetitivo.

II - Os algoritmos de busca binária e de busca seqüencial utilizam a técnica de recursão.

III - A busca seqüencial executa cada fase de repetição na forma de uma subtarefa da fase anterior.

IV - A busca binária trabalha com uma forma circular de repetição. Está correto o que consta em:

(C) I e II, apenas.


(B) II, apenas.
(E) I e IV, apenas.
(D) I, II, III e IV.
(A) I, apenas.

4a Questão (Cód.: 31182) Pontos: 1,0 / 1,0

As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de forma a
facilitar a consulta de determinado elemento. Existem vários tipos de algoritmos para realizar a ordenação dos
elementos, onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre
os elementos. O trecho de código abaixo descreve o algoritmo chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca
mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo

MergeSort
Bolha
Seleção
Inserção
QuickSort
5a Questão (Cód.: 77785) Pontos: 1,0 / 1,0

É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado (chave)
com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com
sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca
continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a
busca continua na metade anterior do vetor.
A descrição apresentada trata-se do método denominado busca ......

randômica.
linear.
binária.
por contagem.
por comparação.

6a Questão (Cód.: 28107) Pontos: 1,0 / 1,0

Tanto a operação TOP (acessa topo), quanto à operação POP (remover), permite acessar o último elemento
armazenado em uma Pilha. Quanto à diferença entre ambas as operações em relação ao estado da Pilha é
correto afirmar:

Ambas alteram o estado da Pilha


Somente a operação POP altera o estado da Pilha
Nenhuma das operações altera o estado da Pilha
Somente a operação TOP altera o estado da Pilha
A operação TOP remove um elemento e altera o estado da Pilha

7a Questão (Cód.: 95244) Pontos: 1,0 / 1,0

Sobre estrutura de dados, identifique o que está correto afirmar.

I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e
retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um
elemento é adicionado ou retirado seu topo é alterado.

II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e
pelos compiladores, na passagem de parâmetros para as funções.

III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos.

IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o
elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente.
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo
princípio LIFO (last in first out).

I, II e III.
II, III, IV e V.
I, III e V.
I, III, IV e V.
II, IV e V.

8a Questão (Cód.: 19660) Pontos: 0,5 / 0,5

Diferentes tipos de estrutura de dados são adequadas 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:

É um modo particular de armazenamento e organização de dados em um computador de modo que


possam ser usados de modo eficiente.
É um modo de utilização de dados nos programas de computador.
É um modo de distribuição e organização de dados em uma rede de computador de modo que possam
ser usados de modo eficiente.
São os nomes dados as variáveis na montagem de uma rotina.
É um modo de deleção de dados em um computador.

9a Questão (Cód.: 19664) Pontos: 0,5 / 0,5

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

ponteiro
loop
array
pilha
fila

10a Questão (Cód.: 28128) Pontos: 0,0 / 1,0

Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação
posterior de itens de conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque
corretamente a alternativa que apresenta o código do método de seleção.

int ordena(float v[], float valor, int n){


for (int i = 0; i < n; i++)
if (v[i] == valor)
return i;
return -1;
}
int ordena(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;
}
void ordena (int v[], int n){
int i, j, aux;
for (j = 1; j < n; j++)
for (i=j; i > 0 && v[i-1]> v[i]; i--){
aux = v[i-1];
v[i-1] = v[i];
v[i] = aux;
}
}
void ordena(int v[], int n){
int i, j, menor, aux;
for (j = 0; j < n-1; j++) {
for (i = j+1; i < n; i++) {
if (v[i] < v[j]) {
aux = v[j];
v[j] = v[i];
v[i] = aux;
}
}
}
}
int ordena(float v[], float valor, int n) {
int ini = 0, fim = n-1, meio;
while (ini >= fim){
meio = ini/2;
if (v[meio] == valor)
return meio;
if (valor < v[meio])
fim = meio -1;
else
ini = meio+1;
}

Período de não visualização da prova: desde 16/04/2013 até 03/05/2013.


Visualização de Prova Página 1 de 6

Avaliação On-Line
Avaliação: AV1-2012.1-EAD-ESTRUTURA DE DADOS-CCT0174
Disciplina: CCT0174 - ESTRUTURA DE DADOS
Tipo de Avaliação: AV1
Aluno: 201001509341 - RAPHAEL DA SILVA ROMA
Nota da Prova: 6 Nota do Trabalho: Nota da Participação: 1 Total: 7
Prova On-Line

Questão: 1 (131694)
Manter os dados ordenados, facilita quando precisamos recuperar dados armazenados, para tal foram
desenvolvidos algoritmos que são divididos em métodos simples e sofisticados.
Das opções apresentadas qual apresenta apenas métodos simples?
Pontos da Questão: 0,5

Selection sort, Quick sort e Bubble sort;


Heap sort, Insertion sort e Shell sort;
Selection sort, Insertion sort e Bubble sort;

Merge sort, Quick sort e Shell sort;


Shell sort, Insertion sort e Bubble sort;

Questão: 2 (127075)
Chama-se “membros” os elementos que compõe uma estrutura (struct). E para acessá-los utiliza-se o operador
ponto (.) . Suponha que as seguintes declarações tenham sido feitas:
struct atleta {
float altura;
float peso;
};
atleta Paulo;
atleta Marcos;
Marque a única alternativa contendo uma atribuição CORRETA:
Pontos da Questão: 1

Paulo.peso=Marcos;
Marcos=80;
Paulo.altura=1.80;

Marcos=Paulo.altura;
Paulo.altura.peso=1.80 , 80;

Questão: 3 (128268)
Considere a função que deve implementar a busca binária. Note que ela está incompleta e que você deve
completá-la.

int buscaBinaria(int v[ ], int valor, int n) // n é o número de elementos existentes em v


{
int inicio = 0,
fim = n – 1,
meio;

while (inicio <= fim)


{
meio = ____________

https://sia.estacio.br/portal/prt0010a.asp?p1=3313951&p2=8952&p3=1135304 02/07/2012
Visualização de Prova Página 2 de 6
if (valor == __________
return __________
if (valor < ____________)
_______________
else
________________

}
return -1;
}

Assinale a opção que mostra a função completa e correta.


Pontos da Questão: 1

int buscaBinaria(int v[ ], int valor, int n) // n é o número de elementos existentes em v


{
int inicio = 0, fim = n - 1, meio;

while (inicio <= fim)


{
meio = (inicio+fim)/2;
if (valor == v[meio])
return meio;
if (valor < v[meio])

fim = meio -1;


else
inicio = meio + 1;

}
return -1;
}

int buscaBinaria(int v[ ], int valor, int n) // n é o número de elementos existentes em v


{
int inicio = 0, fim = n - 1, meio;

while (inicio <= fim)


{
meio = (inicio+fim) % 2;
if (valor == v[meio])
return meio;
if (valor < v[meio])
fim = meio -1;
else
inicio = meio + 1;

}
return -1;
}

int buscaBinaria(int v[ ], int valor, int n) // n é o número de elementos existentes em v


{
int inicio = 0, fim = n - 1;

while (inicio <= fim)


{
if (valor < v[inicio])

https://sia.estacio.br/portal/prt0010a.asp?p1=3313951&p2=8952&p3=1135304 02/07/2012
Visualização de Prova Página 3 de 6
fim = inicio -1;
else
inicio = fim + 1;

}
return -1;
}

int buscaBinaria(int v[ ], int valor, int n) // n é o número de elementos existentes em v


{
int inicio = 0, fim = n - 1, meio;

while (inicio <= fim)


{
meio = (inicio+fim);
if (valor == v[meio])
return meio;
if (valor != v[meio])
fim = meio -1;
else
inicio = meio + 1;

}
return -1;
}

int buscaBinaria(int v[ ], int valor, int n) //n é o número de elementos existentes em v


{
int inicio = 0, fim = n - 1, meio;

while (inicio <= fim)


{
meio = (inicio+fim);
if (valor <= v[meio])
return meio;
else
inicio = meio + 1;

}
return -1;
}

Questão: 4 (138123)
Na manipulação de dados em uma lista de um determinado sistema, onde cada nó desta lista possui um
conjunto de dados e um ponteiro indicando onde será encontrado o próximo nó, gerado durante a execução do
programa, caracteriza uma lista: Pontos da Questão: 1
Dinâmica Encadeada.

Dinâmica Seqüencial.
Seqüencial Encadeada.
Estática Encadeada.
Seqüencial Estática.

Questão: 5 (127066)
Uma variável estrutura (struct) consiste em itens de dados armazenados na memória em sequência contínua e
na ordem em que foram definidos. Marque a alternativa ERRADA, dentre as sentenças sobre estruturas. Pontos

https://sia.estacio.br/portal/prt0010a.asp?p1=3313951&p2=8952&p3=1135304 02/07/2012
Visualização de Prova Página 4 de 6
da Questão: 0,5

Uma estrutura pode ser passada como parâmetro por funções, mas as funções não retornam estruturas,
apenas tipos de dados nativos ( int, float, char e double).

Uma estrutura é um conjunto de variáveis que podem ser diferentes, agrupadas em uma única unidade.
Definir uma estrutura significa informar ao compilador como ela está organizada, quais são seus itens e
qual é seu nome.
A definição de uma estrutura não cria nenhuma variável; para criá-la, é necessário incluir uma instrução de
declaração de variável.
O espaço ocupado, por uma estrutura, é o número de bytes suficientes para armazenar todos os seus itens.

Questão: 6 (127094)
Existem vários algoritmos de ordenação de dados para vetores. Sabe-se que estes algoritmos, para executar a
ordenação dos dados, baseiam-se em duas tarefas principais: comparação e troca.
Leia as sentenças abaixo e assinale a resposta correta.
I. Pode-se comparar os conteúdos de vetores numéricos usando os operadores relacionais >, >=, <, <= , ==
e !=.
II. Para trocar os conteúdos das variáveis, o comando de atribuição nunca poderá ser usado.
III. As regras da comparação para membros de uma estrutura (struct) seguirão as mesmas regras utilizadas
para comparar conteúdos de vetores.
IV. Utiliza-se a função strcpy para comparar dois vetores de char.
Pontos da Questão: 0,5

I e II estão corretas.
II e IV estão erradas.
III e IV estão corretas
I e III estão corretas.

I e IV estão erradas.

Questão: 7 (129441)
No desenvolvimento de sistemas devemos utilizar a modularização como forma de melhorar nossos sistemas,
inserindo agilidade, facilidade de manutenção e etc.
Quando em um programa um determinado pedaço do código ocorre várias vezes vezes fazendo as seguintes
atividades:
- Lendo alguns valores informados pelo usuário;
- fazendo alguns cálculos;
- e armazenando o resultado.

A melhor solução proposta seria:

Pontos da Questão: 0,5

Criar uma função apenas para leitura dos dados;


Criar uma função fazer os cálculos e exibir o resultado.
Escrever o código tantas vezes quanto necessário.
Criar uma função que receba os dados lidos como parâmetro execute os cálculos e retorne o resultado.
Escrever o código apenas uma vez e apagar onde ele está sendo repetido.

Questão: 8 (127835)
Considere o seguinte trecho na main :

https://sia.estacio.br/portal/prt0010a.asp?p1=3313951&p2=8952&p3=1135304 02/07/2012
Visualização de Prova Página 5 de 6
int v[ ] ={1,2,3,4,5};
descobrir(v,5);

e a definição da função :

void descobrir(int v[ ], int n) {


for (int i = 0; i < n; i++)
if (i % 2 == 0)
v[i] = v[i] + i;
else
v[i] = v[i] – i;
}

Assinale a opção correta.


Após a execução da função, o vetor v ficará da seguinte forma :
Pontos da Questão: 1

0 0 4 0 8
1 1 1 7 1
0 1 5 1 9
1 1 5 1 9
1 3 1 7 1

Questão: 9 (127839)
Considere

struct aluno {
int matricula;
float media;
};

struct aluno v[3] = { {123, 8.9}, {456, 7.8}, {890, 5.0}};


int i;

Assinale a opção correta .

Qual o trecho que imprime todos os dados do vetor v ?


Pontos da Questão: 1

for (i = 0; i < 3; i++)


{
cout << v.matricula << endl
<< v.media << endl;
}
for (i = 0; i < 3; i++)
{
cout << v.matricula.i << endl
<< v.media.i << endl;
}

for (i = 0; i < 3; i++)


{
cout << vi.matricula << endl

https://sia.estacio.br/portal/prt0010a.asp?p1=3313951&p2=8952&p3=1135304 02/07/2012
Visualização de Prova Página 6 de 6
<< vi.media << endl;
}

for (i = 0; i < 3; i++)


{
cout << v.matricula[i] << endl
<< v.media[i] << endl;
}
for (i = 0; i < 3; i++)
{
cout << v[i].matricula << endl
<< v[i].media << endl;
}

Questão: 10 (138188)
Editores de texto geralmente oferecem um mecanismo de reversão de operações (“O famoso desfazer, undo”),
que cancela operações recentes e reverte um documento ao estado anterior ao da operação realizada.
Que tipo de estrutura de dados seria melhor aplicada para este mecanismo?
Pontos da Questão: 1

Grafo
Árvore
Registro
Pilha
Fila

Fechar
Server IP : 192.168.10.139 Client IP: 187.67.226.236 Tempo de execução da página : 1,344

https://sia.estacio.br/portal/prt0010a.asp?p1=3313951&p2=8952&p3=1135304 02/07/2012
Visualização de Prova Page 1 of 4

Avaliação On-Line
AV1-2011.1T.EAD - FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO -
Avaliação:
CCT0136
Disciplina: CCT0136 - FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO
Tipo de Avaliação: AV1
Aluno: 201007004134 - HELDER MATOS PEREIRA
Nota da Prova: 6 Nota do Trabalho: Nota da Participação: Total: 6
Prova On-Line

Questão: AV220102CCT0004065 (149783)


1 - Mesmo que informação e dados sejam freqüentemente usados como sinônimos, eles
realmente são coisas muito diferentes. Sobre as características de dado e informação, analise
os itens abaixo:

I. Informação é um fato isolado.


II. A informação é o resultado do processamento de um dado
III. Dado não tem valor intrínseco.
IV. A informação deve ser útil a quem precisa,

Com base em sua analise dos itens, assinale a única opção correta. Pontos da Questão: 1
m
n As opçoes III e IV estão corretas
j
k
l
m
n As opções I, II e III estão corretas
j
k
l
m
i
n As opçoes II e IV estão corretas
j
k
l
m
n As opções I e IV estão corretas
j
k
l

Questão: AV220102CCT0004165 (149841)


2-
Os SIE atuais pertencem a três tipos que podem ser apresentados individualmente ou
combinados.
Marque a opção que apresenta esses três tipos:
Pontos da Questão: 1

m
i
n DADOS CORPORATIVOS,SAD,e-business
j
k
l
m
n
j
k
l
CENÁRIOS COLABORATIVOS, COMUNICAÇÃO, e-business
m
n
j
k
l
CENÁRIOS COLABORATIVOS, DADOS CORPORATIVOS, e-business
m
n CENÁRIOS COLABORATIVOS,DADOS CORPORATIVOS,COMUNICAÇÃO
j
k
l
Gabarito:
CENÁRIOS COLABORATIVOS, DADOS CORPORATIVOS, COMUNICAÇÃO

Questão: AV220102CCT0004003 (149839)


3 - Analise as sentenças abaixo que tratam sobre o feedback de um sistema e, em seguida,
assinale a alternativa correta:
I. É a parte da saída do sistema que retorna ao próprio sistema com o objetivo de refinar ou
corrigir os dados de entrada ou o processamento
II. É a parte da entrada produzida pelo sistema que informa sobre seu comportamento
III. O elemento controle refere-se ao monitoramento e avaliação do feedback, determinando
se o sistema está atingindo o seu objetivo Pontos da Questão: 1

https://sia.estacio.br/portal/prt0010a.asp?p1=1644234&p2=6184&p3=1140019 7/6/2011
Visualização de Prova Page 2 of 4

m
n Somente a sentença II está correta
j
k
l
m
n Somente as sentenças II e III estão corretas
j
k
l
m
n Todas as sentenças são corretas
j
k
l
m
i
n Somente as sentenças I e III estão corretas
j
k
l

Questão: AV220102CCT0004106 (149861)


4 - Existem 2 formas de processamento das transações em um Sistema de Processamento de
Transações. Com base nessas formas, analise os itens abaixo.

I. No processamento online tão logo a entrada está disponível, o processamento é realizado.


II. O processamento online é essencial para negócios que demandem rapidez e atualização
frequente.
III. O processamento nos Sistemas de tráfego aéreo é tipicamente em batch (lote).
IV. Folhas de pagamento caracterizam bem o processamento online.

Com base em sua análise, assinale a única alternativa correta. Pontos da Questão: 1
m
i
n Somente as opções I e II estão corretas
j
k
l
m
n Somente as opções I e III estão corretas
j
k
l
m
n Somente as opções III e IV estão corretas
j
k
l
m
n Somente as opções I e IV estão corretas
j
k
l

Questão: AV220102CCT0004162 (149911)


5 - Uma empresa vai utilizar uma aplicação para medir a análise do risco de
crédito. Identificar qual método de raciocínio será utilizado para essa aplicação: Pontos da
Questão: 1

m
n LÓGICA HUMANA
j
k
l
m
i
n LÓGICA DE DECISÃO
j
k
l
m
n LÓGICA BOOLEANA
j
k
l
m
n LÓGICA DIFUSA
j
k
l
Gabarito:
LÓGICA DIFUSA

Questão: AV220102CCT0004052 (149776)


6 - A que se refere a seguinte afirmativa?
"É um conjunto de elementos estruturados que interagem entre si visando atingir um objetivo
definido." Pontos da Questão: 1
m
n Processo
j
k
l
m
i
n Sistema
j
k
l
m
n Informação
j
k
l
m
n Dado
j
k
l

Questão: AV220102CCT0004064 (149781)


7 - Os conceitos de sistema de informação estão fundamentados em três elementos básicos e
fundamentais para a obtenção do resultado esperado, que são: entrada de dados, o
processamento destes dados e a saída dos dados transformados (informação).
Considerando a definição acima, assinale dentre as alternativas aquela que corresponde a
correta interpretação ao relacionamento entre eles. Pontos da Questão: 1

https://sia.estacio.br/portal/prt0010a.asp?p1=1644234&p2=6184&p3=1140019 7/6/2011
Visualização de Prova Page 3 of 4

operadores e executivos, geralmente na forma de documentos, relatórios e dados de


transações. Elas são produzidas de formas variadas, segundo as necessidades dos seus
usuários, porém as saídas de um sistema não podem transformar-se em entrada para outro
sistema para controlar outros sistemas.
m
i
n No processamento dos dados (processing) pressupõe a conversão ou a transformação dos
j
k
l
dados em informações que sejam úteis para quem as utilizar. O processamento pode envolver
cálculos, comparações, tomada de ações alternativas, e a armazenagem de dados e
informações para uso futuro
m
n A entrada de dados (input) é responsável pela captação dos dados, que serão
j
k
l
transformados em informações. Estes dados serão coletados em fontes externas à entidade,
porém sempre se levando em consideração o que deverá sair do sistema.
m
n Assim como os elementos básicos para obtenção do resultado citados, não se pode deixar
j
k
l
de destacar a importância da retro-alimentação (feedback) da informação, que constitui uma
entrada usada para fazer ajustes e modificações nas atividades de saída e processamento.

Questão: AV220102CCT0004066 (149782)


8 - O processo de definição de relacionamentos entre os dados exige conhecimento. O
conhecimento representa: Pontos da Questão: 1
m
n Os recursos humanos que constroem e gerenciam os sistemas e os usuários que os
j
k
l
utilizam para obter resultados
i
m
n A percepção e a compreensão de um conjunto de informações e de como estas
j
k
l
informações podem ser úteis para uma tarefa específica
m
n Os itens referentes a descrição primária de objetos, eventos, atividades e transações
j
k
l
m
n O conjunto de dados organizado de forma a ter sentido e valor para seu destinatário
j
k
l

Questão: AV220102CCT0004160 (149907)


9 - Empresas possuem Sistemas que avaliam situações ou consideram alternativas e fazem
recomendações baseadas em critérios fornecidos durante o processo de descoberta.

Com base na afirmativa marque a que categoria a afirmativa se refere: Pontos da Questão: 1
m
n GERENCIAMENTO DE DECISÕES
j
k
l
m
i
n APOIO À DECISÃO
j
k
l
m
n MONITORAÇÃO
j
k
l
m
n CONTROLE DE PROCESSO
j
k
l
Gabarito:
GERENCIAMENTO DE DECISÕES

Questão: AV220102CCT0004154 (149915)


10 - Observe as afirmativas:

I. O acesso à Internet é feito através da conexão de um computador a um provedor de acesso, ou seja, uma empresa
que provê acesso à Internet aos seus clientes através da manutenção de uma infraestrutura tecnológica, tanto de
hardware quanto de software (linhas telefônicas, computadores, roteadores, páginas, e-mail e outros).

II. World Wide Web ou "WWW" é uma rede mundial de computadores que fornece informações para quem se conecta à
Internet, através de um navegador (browser), que descarrega essas informações (chamadas "documentos" ou
"páginas") de servidores de internet (ou "sites") para a tela do computador do usuário.

III. Intranet é uma rede corporativa que se utiliza da mesma tecnologia e infra-estrutura de comunicação de dados da
Internet, mas restrita a um mesmo espaço físico de uma empresa.

Em relação à Internet e à Intranet, é correto o que consta APENAS em:

https://sia.estacio.br/portal/prt0010a.asp?p1=1644234&p2=6184&p3=1140019 7/6/2011
Visualização de Prova Page 4 of 4

Pontos da Questão: 1

m
n
j
k
l
II e III
m
n
j
k
l
III
i
m
n
j
k
l
I e II

m
n
j
k
l
I

Fechar
Server IP : 192.168.10.145 Client IP: 201.17.169.103 Tempo de execução da página : 1,547

https://sia.estacio.br/portal/prt0010a.asp?p1=1644234&p2=6184&p3=1140019 7/6/2011
Avaliação: AV1-2012.1-EAD-ESTRUTURA DE DADOS-CCT0174
Disciplina: CCT0174 - ESTRUTURA DE DADOS
Tipo de
AV1
Avaliação:
Aluno: 201002133882 - JOÃO PAULO FERNANDES BRAGA

Nota da Nota da
4 Nota do Trabalho: Total: 5
Prova: Participação: 1

Prova On-Line

Questão: AV22011CCT0174005 (138184)


1-
A função apresentada representa uma das operações básicas de uma Pilha?
int funcao(int v[], int &topo){
int valor;
if (topo <0){
cout << "MENSAGEM DE ERRO\n\n";
exit(1);
}
valor = v[topo--];
return(valor);
}

Que operação é esta? Pontos da Questão: 1

Inserção.

Busca.

Verificação de Cheia.

Verificação de Vazia.

Retirada.

Questão: AV120111CCT01740010 (127075)


2 - Chama-se “membros” os elementos que compõe uma estrutura (struct). E para
acessá-los utiliza-se o operador ponto (.) . Suponha que as seguintes declarações
tenham sido feitas:
struct atleta {
float altura;
float peso;
};
atleta Paulo;
atleta Marcos;
Marque a única alternativa contendo uma atribuição CORRETA:
Pontos da Questão: 1

Marcos=80;

Paulo.peso=Marcos;
Marcos=Paulo.altura;

Paulo.altura=1.80;

Paulo.altura.peso=1.80 , 80;

Questão: AV120111CCT01740014 (127090)


3 - O tipo estrutura é a forma existente em C++ de possibilitar ao programador a
criar seus próprios tipos de dado. Seja um tipo de dado definido pela estrutura:

struct ponto{ int x; int y};

Considere ainda a seguinte declaração de variáveis:

ponto p1,p2,p3;

Qual a única instrução referente as estas variáveis é VÁLIDA?


Pontos da Questão: 1

p1=p2+5;

p1=p2+p3;

p1-p2=p1-p3;

p1=p2;

p1+p3=p2;

Questão: AV120111CCT0174099 (128267)


4 - Considere a função que deve implementar a busca seqüencial. Note que ela
está incompleta e que você deve completá-la.

int buscaSequencial(int v[ ], int valor)


{
int i;

for (i = 0; i < 10; i++)


__________________
__________
____________
}

Assinale a opção que mostra a função completa e correta.


Pontos da Questão: 1

int buscaSequencial(int v[ ], int valor)


{
int i;

for (i = 0; i < 10; i++)


{
if(v[i] == valor)
{
return i;
return -1;
}
}
}

int buscaSequencial(int v[ ], int valor)


{
int i;

for (i = 0; i < 10; i++)


if(v[i] == valor)
return i;
else
return -1;
}

int buscaSequencial(int v[ ], int valor)


{
int i;

for (i = 0; i < 10; i++)


if(v[i] != valor)
return i;
return -1;
}

int buscaSequencial(int v[ ], int valor)


{
int i;

for (i = 0; i < 10; i++)


if(v[i] == valor)
return i;
return -1;
}

int buscaSequencial(int v[ ], int valor)


{
int i;

for (i = 0; i < 10; i++)


{
if(v[i] == valor)
return i;
return -1;
}
}

Questão: AV120111CCT0174001 (126988)


5 - Para aprovação imediata nas disciplinas, o aluno deve obter média nas duas
primeiras provas (AV1 e AV2) igual ou superior a 6,0. Caso o aluno obtenha média
inferior a 6,0, pode fazer a uma terceira prova (AV3) e para ser aprovado a média
aritmética de suas três provas deve ser maior ou igual a 6,0. Marque a alternativa
correta da implementação de uma função que receba como parâmetros as notas
das duas primeiras provas de um aluno (AV1 e AV2), que ficou para final (AV3) e
retorne a nota mínima que o aluno precisa tirar na terceira prova para que seja
aprovado. Pontos da Questão: 1

floatnota_minima(float av1,float av2)


{
av3=(av1+av2);
}

floatnota_minima(float av1,float av2)


{
av3=(18-av1-av2);
}

floatnota_minima(av1, av2)
{
return (18-av1-av2);
}

voidnota_minima(float av1,float av2)


{
return (18-av1-av2);
}

floatnota_minima(float av1,float av2)


{
return (18-av1-av2);
}

Questão: AV12011CCT0174107 (129448)


6 - Na criação de uma função precisamos definir suas partes, sendo algumas
obrigatórias e outras alternativas, na linguagem C temos:

tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN) {


corpo da função }

Das opções apresentadas marque a que apresenta apenas partes obrigatórias de se


digitar de forma que a função execute alguma tarefa, sem levar em consideração
os símbolos (chaves, parêntese, etc).
Pontos da Questão: 0,5

Tipo, Nome e Parâmetros.

Tipo, Parâmetro e corpo da função.

Nome, Parâmetro e Corpo da função.

Tipo, Nome, Parâmetros e Corpo da Função.


Nome, Tipo e Corpo da função.

Questão: AV120111CCT0174098 (128266)


7-
Assinale a opção correta.
Para pesquisar dados em um vetor ordenado, o mais apropriado é
usar ...
Pontos da Questão: 0,5

busca binária

busca sequencial com bubblesort

bubblesort

busca seqüencial

busca seqüencial modificada, de forma que a ordem seja considerada

Questão: AV120111CCT0174088 (127836)


8 - Com relação à struct, é correto afirmar que : Pontos da Questão: 0,5

A struct é sempre definida dentro da main.

Cada elemento da struct é denominado membro ou campo, sendo que a struct


pode armazenar elementos de tipos diferentes ou não.

Cada elemento da struct é chamado componente.

Cada elemento da struct é chamado campo e cada campo deve ser,


obrigatoriamente, de um tipo de dados distinto de outro campo.

Não é possível criar um vetor de structs, pois o vetor trabalha apenas com
dados do mesmo tipo.

Questão: AV120111CCT0174096 (128264)


9 - Considerando n o número de elementos de v, o trecho

void ordenar(int v[ ], int n) {


int i, j, aux;

for (j = 1; j < n; j++)


for (i=j; i > 0 && v[i-1]> v[i]; i = i – 1)
{
aux = v[i-1];
v[i-1] = v[i];
v[i] = aux;
}

}
implementa o método de ordenação :
Pontos da Questão: 0,5

por seleção

uma mistura dos métodos de ordenação por inserção e bubblesort.

uma mistura dos métodos de ordenação por seleção e por inserção.

bubblesort

por inserção

Questão: AV22011CCT0174006 (138188)


10 - Editores de texto geralmente oferecem um mecanismo de reversão de
operações (“O famoso desfazer, undo”), que cancela operações recentes e reverte
um documento ao estado anterior ao da operação realizada.
Que tipo de estrutura de dados seria melhor aplicada para este mecanismo?
Pontos da Questão: 1

Pilha

Grafo

Fila

Árvore

Registro
Visualização de Prova Página 1 de 6

Avaliação On-Line
Avaliação: AV2-2012.1 EAD- ESTRUTURA DE DADOS-CCT0174
Disciplina: CCT0174 - ESTRUTURA DE DADOS
Tipo de Avaliação: AV2
Aluno: 201001509341 - RAPHAEL DA SILVA ROMA
Nota da Prova: 4 Nota do Trabalho: Nota da Participação: 0 Total: 4
Prova On-Line

Questão: 1 (127056)
Sabe-se que um protótipo de uma função é o cabeçalho da função com ;(ponto-e-vírgula) ao final. E que nas
funções a passagem de parâmetros se dá por valor ou por referência.
Para o protótipo: void troca(float&,float&); pode-se dizer que:
Pontos da Questão: 0,5

É um protótipo de função que recebe dois argumentos por passagem de valor. Os dois do tipo real e
retorna, para a função chamadora, um valor inteiro.
É um protótipo de função que recebe dois argumentos reais e retorna, para a função chamadora, um
valor real.
É um protótipo de função que recebe dois argumentos que são endereços que armazenam números reais,
por passagem por referência. E a função não retorna nada para a função chamadora.

É um protótipo de função que recebe dois argumentos reais por passagem de valor e não retorna nada
para função chamadora.
É um protótipo de função que recebe dois argumentos por passagem de valor. Um do tipo char e outro do
tipo int, mas não retorna nada para função chamadora.

Questão: 2 (129248)
Para o cadastro de algumas notas e médias de alunos, foi criada a seguinte estrutura e declarada como
global:

struct aluno{
float nota1, nota2,media;
}alunos[20];

Sabendo-se que a média deve ser obtida através de cálculo:


- a partir das notas armazenadas na estrutura;
- em seguida ser armazenada na estrutura e;
- retornada a quem chamou;

Qual das funções abaixo executa este processo de forma correta.


Pontos da Questão: 1

float calcmedia(){

float m;

m = (alunos[i].nota1+ alunos[i].nota2)/2;

alunos[i].media= m;

return m;

https://sia.estacio.br/portal/prt0010a.asp?p1=3745229&p2=10072&p3=1135304 02/07/2012
Visualização de Prova Página 2 de 6

float calcmedia(int i){

float m;

m = (aluno[i].nota1+ aluno[i].nota2)/2;

aluno[i].media= m;

return m;

float calcmedia(int i){

float m;

m = (alunos[i].nota1+ alunos[i].nota2)/2;

alunos[i].media= m;

float calcmedia(int i){

float m;

m = (alunos[i].nota1+ alunos[i].nota2)/2;

alunos[i].media= m;

return m;

void calcmedia(int i){

float m;

m = (alunos[i].nota1+ alunos[i].nota2)/2;

alunos[i].media= m;

Questão: AV32011CCT01740216 (169121)


3-

https://sia.estacio.br/portal/prt0010a.asp?p1=3745229&p2=10072&p3=1135304 02/07/2012
Visualização de Prova Página 3 de 6
Escreva uma função que permita inserir dados em uma lista duplamente encadeada de forma seqüencial, com o preenchimento de 3
nós, baseado na estrutura apresentada. A função deverá receber o nó inicial e não retornar nada.
struct num_letra {
int num;
char letra;
struct num_letra *ant, *post;
};

Pontos da Questão: 1,5


Resposta do Aluno:

Gabarito:
void insere(num_letra *no){ num_letra *aux; for (int i=0;i<3;i++){ no->num = i; no->letra= i+65; if
(i==0){ no->ant=NULL; no->post=NULL; }else{ aux= no-1; aux->post=no; no->ant=aux; no-
>post=NULL; } no++; } }
Fundamentação do Professor:
void insere(num_letra *no){ num_letra *aux; for (int i=0;i<3;i++){ no->num = i; no->letra= i+65; if
(i==0){ no->ant=NULL; no->post=NULL; }else{ aux= no-1; aux->post=no; no->ant=aux; no-
>post=NULL; } no++; } }

Pontos do Aluno: 0

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

Questão: AV22011CCT01740002 (138206)


5-

Defina, exemplifique e cite as vantagens da busca binária.

Pontos da Questão: 1,5


Resposta do Aluno:
Divide o local de armazenamento a ser pesquisado e pesquisa por parte, obtendo como vantagem o fato de
não ter a obrigação de percorrer toda a estrutura caso encontre logo no início da busca, gerando agilidade.
Numa pesquisa de dois números em um cenário de vinte números ao total, divide-se o total e inicia-se a
pesquisa nos blocos.
Gabarito:
Permite uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o dado
está no meio, ou antes, do meio ou depois do meio, comparando o valor de busca com o elemento da lista a
ser procurado A busca binária é mais rápida que a seqüencial na maioria das vezes. A busca de uma palavra
em um dicionário, com a busca seqüencial, se a palavra desejada estiver no final do dicionário levaria muito
tempo indo de página em página.

Fundamentação do Professor:
Permite uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando
se o dado está no meio, ou antes, do meio ou depois do meio, comparando o valor de busca com
o elemento da lista a ser procurado A busca binária é mais rápida que a seqüencial na maioria
das vezes. A busca de uma palavra em um dicionário, com a busca seqüencial, se a palavra

https://sia.estacio.br/portal/prt0010a.asp?p1=3745229&p2=10072&p3=1135304 02/07/2012
Visualização de Prova Página 4 de 6

Pontos do Aluno: 0,5

Questão: 6 (138183)
A alocação dinâmica de memória vem possibilitar a criação de tipos de dados e estruturas de qualquer
tamanho durante a execução do programa.
Quais são os operadores que respectivamente alocam e liberam espaço na memória?

Pontos da Questão: 0,5

insere e apaga.
novo e deleta.
new e delete.
insert e delete.
aloc e maloc.

Questão: 7 (139408)
As listas simplesmente encadeadas tem como característica.

Marque a resposta correta.


Pontos da Questão: 0,5

Possuir um nó com o máximo de dois elementos, sendo um deles um ponteiro para o próximo nó.
Possuir um nó com no mínimo dois elementos, sendo um deles um ponteiro para o próximo nó.
Possuir um nó com o máximo de três elementos, sendo dois ponteiros que indicam o nó anterior e o
próximo.
Possuir um nó com apenas um elemento, sendo este um ponteiro para o próximo nó.
Possuir um nó com três elementos, sendo dois ponteiros que indicam o nó anterior e o próximo.

Questão: 8 (139724)
Nas listas encadeadas podemos fazer referência a uma parte de um nó, através de um outro nó. Na
estrutura apresentada o ponteiro p armazena o endereço do próximo nó.

struct teste {
int valor;
struct teste *p;
};

Das opções apresentadas qual permite armazenar na variável val do tipo inteiro o valor que está no nó
seguinte ao nó posicionado , sabendo-se que aux, contem o endereço do nó atual.
Pontos da Questão: 0,5

val= aux->p->valor;
val= aux->valor;
val= p->p->valor;
val-> aux->p->valor;
val= aux->p.p;

Questão: 9 (131699)
Determinado método de ordenação seleciona o menor elemento dentro do conjunto e coloca na primeira
posição, depois o segundo menor e coloca na segunda posição e assim por diante até que todo o conjunto
esteja ordenado.
Qual das opções apresenta este método?
Pontos da Questão: 0,5

Merge sort;
https://sia.estacio.br/portal/prt0010a.asp?p1=3745229&p2=10072&p3=1135304 02/07/2012
Visualização de Prova Página 5 de 6

Quick sort;
Insertion sort;
Shell sort;
Selection sort;

Questão: 10 (139130)
Considere

struct nodupla {
int dado;
struct *dlink, //aponta para o nó à direita
*elink; //aponta para o nó à esquerda
};

Assinale a função que corretamente substitui o valor armazenado no último nó de uma lista duplamente
encadeada não vazia pelo valor 50.
Pontos da Questão: 1

void substituir(nodupla *p)


{
while (p.dlink != NULL)
p = p.dlink;
p.dado = 50;
}

void substituir(nodupla *p)


{
while (p->dlink != NULL)
{
p = p->dlink;
p->dado = 50;
}
}
void substituir(nodupla *p)
{
while (p != NULL)
p = p->dlink;
p->dado = 50;
}
void substituir(nodupla *p)
{
while (p->dlink != NULL)
p = p->dlink;
p->dado = 50;
}

void substituir(int dado)


{
while(p->dlink != NULL)
p = p->dlink;
p->dado = 50;
}

https://sia.estacio.br/portal/prt0010a.asp?p1=3745229&p2=10072&p3=1135304 02/07/2012
Visualização de Prova Página 6 de 6
Fechar
Server IP : 192.168.10.139 Client IP: 187.67.226.236 Tempo de execução da página : 1,266

https://sia.estacio.br/portal/prt0010a.asp?p1=3745229&p2=10072&p3=1135304 02/07/2012
Avaliação On-Line
Avaliação: AV2-2012.1 EAD- ESTRUTURA DE DADOS-CCT0174
Disciplina: CCT0174 - ESTRUTURA DE DADOS
Tipo de
AV2
Avaliação:
Aluno: 201002133882 - JOÃO PAULO FERNANDES BRAGA

Nota da Nota da
3.5 Nota do Trabalho: Total: 5,5
Prova: Participação: 2

Prova On-Line

Questão: 1 (127840)
Considere
struct Ponto { float x, y; };

Ponto P;

P = criarPonto();

Assinale a opção correta que corresponde à função que cria corretamente um


ponto.
Pontos da Questão: 1

Ponto inserePonto()
{
Ponto aux;
cin >> Ponto.x >> Ponto.y;
return aux;
}

Ponto inserePonto()
{
Ponto aux;
cin >> aux.x >> aux.y;
return Ponto;
}

Ponto inserePonto()
{
Ponto aux;
cin >> aux.x >> aux.y;
return aux;
}

Ponto inserePonto()
{
Ponto aux;
cin >> x.aux >> y.aux;
return aux;
}

Ponto inserePonto()
{
Ponto aux;
cin >> Ponto.aux.x >> Ponto.aux.y;
return aux;
}

Questão: AV22011CCT01740001 (138205)


2-

Defina Estrutura de dados, de no mínimo um exemplo de sua aplicação e suas


operações fundamentais.

Pontos da Questão: 1,5


Resposta do Aluno:
estrutura de dados é uma forma de fazermos que o programa se devida em partes
para um melhor entendimento para o programador achar erros. exemplo de struct
struct atleta { int num; char letra; struct atleta voley; }; suas operações
fundamentais são funções, struct, listas, filas, pilhas, lista sequencial, lista
encadeadas, lista duplamente encadeadas, ordenação, pesquisa sequencial,
pesquisa binaria.

Gabarito:
Algumas estruturas de dados são definidas apenas pela sua organização em
memória outras, além disto, pelo seu algoritmo. O sistema operacional aplica o uso
da pilha dinâmica como forma de armazenamento de memória em funções
recursivas. As operações são: Inicializar, Inserir, Retirar, Verificar Cheia e Verificar
Vazia.

Fundamentação do Professor:
Algumas estruturas de dados são definidas apenas pela sua organização em memória outras, além disto

0,5
Pontos do Aluno:

Questão: 3 (129448)
Na criação de uma função precisamos definir suas partes, sendo algumas
obrigatórias e outras alternativas, na linguagem C temos:

tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN) {


corpo da função }

Das opções apresentadas marque a que apresenta apenas partes obrigatórias de se


digitar de forma que a função execute alguma tarefa, sem levar em consideração
os símbolos (chaves, parêntese, etc).
Pontos da Questão: 0,5
Tipo, Nome e Parâmetros.

Tipo, Parâmetro e corpo da função.

Nome, Parâmetro e Corpo da função.

Tipo, Nome, Parâmetros e Corpo da Função.

Nome, Tipo e Corpo da função.

Questão: 4 (127837)
Assinale a opção correta.

Para acessar cada campo da struct é preciso :


Pontos da Questão: 0,5

Escrever a variável struct seguida imediatamente do campo desejado.

Escrever a palavra struct seguida da variável, para logo em seguida escrever o


operador ponto e depois, o campo da struct.

Especificar apenas o campo, pois a variável já foi declarada.

Escrever o campo seguido de ponto e depois seguido do nome da struct.

Usar o operador . entre o nome da variável struct e o campo desejado.

Questão: 5 (131699)
Determinado método de ordenação seleciona o menor elemento dentro do conjunto
e coloca na primeira posição, depois o segundo menor e coloca na segunda posição
e assim por diante até que todo o conjunto esteja ordenado.
Qual das opções apresenta este método?
Pontos da Questão: 0,5

Insertion sort;

Quick sort;

Selection sort;

Shell sort;

Merge sort;

Questão: 6 (139130)
Considere

struct nodupla {
int dado;
struct *dlink, //aponta para o nó à direita
*elink; //aponta para o nó à esquerda
};

Assinale a função que corretamente substitui o valor armazenado no último nó de


uma lista duplamente encadeada não vazia pelo valor 50.
Pontos da Questão: 1

void substituir(nodupla *p)


{
while (p->dlink != NULL)
p = p->dlink;
p->dado = 50;
}

void substituir(nodupla *p)


{
while (p != NULL)
p = p->dlink;
p->dado = 50;
}

void substituir(nodupla *p)


{
while (p->dlink != NULL)
{
p = p->dlink;
p->dado = 50;
}
}

void substituir(int dado)


{
while(p->dlink != NULL)
p = p->dlink;
p->dado = 50;
}

void substituir(nodupla *p)


{
while (p.dlink != NULL)
p = p.dlink;
p.dado = 50;
}

Questão: 7 (138180)
Das opções apresentadas qual representa a estrutura de dados Fila:

Pontos da Questão: 0,5

FIFO;

PSUE;
UEPS;

LIFO;

FILO;

Questão: 8 (139412)
Como característica fundamental das pilhas dinâmicas temos a inserção e remoção
de nós do topo(uma variável do tipo do nó). Sendo assim podemos afirmar que a
cada novo nó inserido constituído de um ponteiro também do tipo do nó e um dado,
deverá:

Pontos da Questão: 0,5

Ter sempre no ponteiro do ultimo nó o valor NULL;

Ter na variável topo o endereço do nó posterior, quando existir o nó posterior;

Ter na variável topo o endereço do nó anterior, quando existir o nó anterior;

Ter seu ponteiro apontando para o nó anterior, quando existir o nó anterior;

Ter seu ponteiro apontando para o nó posterior, quando existir o nó posterior;

Questão: 9 (139425)
Em uma lista duplamente encadeada, na retirada de um nó cercado por outros dois
nós quaisquer, sendo eles considerados nó 1, 2 e 3 onde 2 é o nó a ser retirado,
para manter a integridade da lista devemos:

Marque a resposta correta.


Pontos da Questão: 0,5

Reordenar os nós fazendo com que o nó 2 fique no inicio e em seguida exclui-


lo.

Deletar o nó 2 e em seguida fazer com que o nó 1 aponte para o 3 e o 3 aponte


para o 1.

Reordenar os nós fazendo com que o nó 2 fique no fim e em seguida exclui-lo.

Fazer com que o nó 1 aponte para o 3 e o 3 aponte para o 1 e em seguida


deletar o nó 2.

Simplesmente excluir o nó 2, pois os ponteiros se ajustam automaticamente.

Questão: AV32011CCT01740214 (169119)


10 -
Baseado na teoria das listas duplamente encadeadas, escreva o código da função que permita exibir o
número e as letras armazenadas na estrutura apresentada, sabendo-se que a função recebe o endereço
do ultimo nó e não deve retornar nenhum valor.

struct num_letra {
int num;
char letra;
struct num_letra *ant, *post;
};
Pontos da Questão: 1,5
Resposta do Aluno:
exibir(*ant, *post) { num_letra->*ant=num; num_letra->*post=letra;
cout<<"EXIBIR NUMERO" <<num_letra->*ant=num; cout<<"EXIBIR LETRA"
<<num_letra->*post=letra; }

Gabarito:
void funcao(num_letra *fim){ num_letra *aux; aux = ini; while(aux){ if (aux-
>post==NULL){ cout<<aux->letra; cout<<aux->num; aux= NULL; }else{
cout<<aux->letra; cout<<aux->num; aux--; } } }

Fundamentação do Professor:
void funcao(num_letra *fim){ num_letra *aux; aux = ini; w hile(aux){ if (aux->post==NULL){ cout<<aux->le

0,5
Pontos do Aluno:
Fe cha r

Ava lia çã o: CCT0174_A V2_201002141011 » ESTRUTURA DE DA DOS


Tipo de Ava lia çã o: A V2

Aluno: 201002141011 - WELLINGTON PEREIRA DE OLIVEIRA


Profe ssor: A LEXA NDRE SOA RES A LVES Turm a : 9002/A B
Nota da Prova : 2,0 de 8,0 Nota do Tra ba lho: Nota de Pa rticipaçã o: 2 Da ta : 19/11/2012

1a Questão (C ód.: 56256) Pontos: 0,0 / 1,5

Os agentes Leo e Lia receberam sequências de números de seus contatos. Para


saberem qual o próximo passo da missão, precisam descobrir que números se repetem nas
sequências recebidas por cada um.
Faça uma função que receba dois vetores v e w de inteiros como parâmetros e gere um vetor z, resultante
da interseção entre v e w.

Protótipo da função :

bool intersecao(int v[ ], int w[ ], int z [ ], int nv , int nw , int &n);

onde nv: quantidade de elementos em v

nw : quantidade de elementos em w

n : quantidade de elementos no vetor z

Note :
Inicialmente n vale zero.
Deverá ser retornado true (sucesso na interseção) ou false (fracasso na interseção).

Resposta: bool intersecao(int v[ ], int w[ ], int z [ ], int nv , int nw , int &n) { n=0; for (int nv=v[i]; int nw=w[i];
int n=z[i]); if return true; else return false; }

2a Questão (C ód.: 51756) Pontos: 0,0 / 1,0

C om base nos principais elementos fornecidos pela biblioteca C ++ padrão, marque a opção correta que resume
todos os elementos dessa biblioteca:
Listas, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade, mapas.
Iteradores, vetores, listas, pilhas, filas, deques e filas com prioridade, mapas.
Vetores, listas, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade,

iteradores, vetores, listas, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade, mapas.
Iteradores, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade, mapas.

3a Questão (C ód.: 56276) Pontos: 0,0 / 1,5

Considere duas listas simplesmente encadeadas circulares e não vazias de inteiros e o


tipo
struct no {
int dado;
struct no *link;
};
Faça uma função para criar uma lista simplesmente encadeada não circular que seja
constituída pelos elementos comuns às duas listas passadas.
Protótipo : no *inter(no *x, no*y);

Resposta: no *inter(no *x, no*y) { }

4a Questão (C ód.: 27753) Pontos: 1,0 / 1,0

Podemos dizer que estrutura de dados é:


É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.

5a Questão (C ód.: 28115) Pontos: 0,5 / 0,5

A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura
chamada Struct na linguagem C e C ++. C omo se procede a atribuição de valor a um determinado campo de
uma estrutura do tipo Struct?
Nome da estrutura vírgula tipo do campo
Nome da estrutura ponto tipo do campo
Nome da estrutura ponto nome do campo
Nome da estrutura seta nome do campo
Nome da estrutura seta tipo do campo

6a Questão (C ód.: 28365) Pontos: 0,0 / 0,5

Observe o trecho de código em C /C ++ a seguir. O laço for preenche os dados dos candidatos no vetor de
selecionados. (adaptado para C /C ++)
1.struct C andidato {
2. char nome[15];
3. double nota;
4. };
5.
6.int main(){
7. struct C andidato selecionados[5];
8. int i;
9. for (i=0; i<5; i++){
10. cout << "Nome: ";
11. cin.get();cin.get(***********,15);
12. cout << "Nota: ";
13. cin >> ***********;
14. }
15. ...
16.}

Observe que o código no interior dos comandos das linhas 11 e 13 foi substituido por ***********.
Para que este programa compile e execute sem erros, os asteriscos nas linhas 11 e 13 devem ser substituídos
respectivamente por:
C andidato.nome[i]

C andidato.nota[i]

selecionados.nome[i]

selecionados.nota[i]

selecionados[i].nome

selecionados[i].nota

C andidato[i].nome

C andidato[i].nota

nome[i]

nota[i]

7a Questão (C ód.: 27935) Pontos: 0,5 / 0,5

Sobre o funcionamento da busca binária, é incorreto afirmar que dividindo seu vetor em duas metades.
Se o item for maior que o item que está na metade do vetor procure na segunda metade, ou seja, a da
direita.
Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.

Se o item for menor ao item que está na primeira posição do vetor, o item não foi encontrado.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Se o item for menor que o item que está na metade do vetor, procure na primeira metade, ou seja, a da
esquerda.

8a Questão (C ód.: 28144) Pontos: 0,0 / 0,5

C om a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de
funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e
marque corretamente a alternativa que descreve as funcionalidades desta.

int funcao(float v[], float vl, int n)


{
for (int i = 0; i < n; i++)
if (v[i] == vl)
return i;
return -1;
}

Retorna -1 se o valor de vl estiver dentro de v.


Retorna o valor de vl se o valor n foi encontrado.
Retorna -1 se o valor de n foi encontrado.
Resulta em erro, se o valor de vl não estiver dentro de v.
Retorna a posição de v se o valor vl foi encontrado.

9a Questão (C ód.: 28104) Pontos: 0,0 / 0,5

Para a criação de uma Fila seqüencial basta iniciar as variáveis de início e final, ou seja, apontá-las para as
posições iniciais do vetor. O que alteraria na rotina de inserir se a variável final fosse inicializada com o valor -1
(menos um):
Após a inserção deve-se fazer o decremento da variável final
Antes da inserção deve-se fazer o incremento da variável final
Após a inserção deve-se fazer o incremento da variável final
Antes da inserção deve-se fazer o decremento da variável final
Após a inserção deve-se fazer o incremento da variável inicio

10a Questão (C ód.: 27963) Pontos: 0,0 / 0,5

O resultado de um concurso foi armazenado por um programador em um vetor, onde cada elemento (descrito
pela struct C andidato) possui a informação da matrícula e nota de cada candidato, conforme descrito a seguir.
Deseja-se que o vetor com os resultados fique ordenado em ordem decrescente pela nota. O programador
pretende usar o algoritmo de busca descrito a seguir, porém precisa de ajuda no trecho contendo ********.
Indique a opção que contém a solução que completa as linhas 1, 3 e 7 do algoritmo.

...
struct C andidato {
char mat[10];
float nota;
};
...

1.void ordenaSelecao (******** v[], int n) {


2. int i, j, maior;
3. ******** aux;
4. for (j = 0; j < n-1; j++) {
5. maior = j;
6. for (i = j+1; i < n; i++)
7. if (********)
8. maior = i;
9. aux = v[j];
10. v[j] = v[maior];
11. v[maior] = aux;
12. }
13.}

1. struct C andidato 3. struct C andidato 7. v[i].nota > v[maior].nota


1. int 3. int 7. v[i] < v[maior]
1. int 3. int 7. v[i] > v[maior]
1. float 3. float 7. v[i] < v[maior]
1. struct C andidato 3. struct C andidato 7. v[i].nota < v[maior].nota
Fechar

Avaliação: CCT0260_AV3_201202157891 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV3

Aluno: 201202157891 - PEDRO ALEXANDRE CHAGAS DOS SANTOS

Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9004/AD

Nota da Prova: 10,0 de 10,0 Nota do Trabalho: Nota de Participação: Data: 01/07/2013 16:12:05

1a Questão (Cód.: 27759) Pontos: 1,0 / 1,0

Podemos dizer que um container é:

A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
A saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.

2a Questão (Cód.: 95225) Pontos: 1,0 / 1,0

A estrutura de dados linear que obedece o seguinte critério: o último elemento inserido será o primeiro
elemento a ser retirado (LIFO) é:

árvore binária.
árvore AVL.
pilha.
fila.
lista circular.

3a Questão (Cód.: 27780) Pontos: 1,0 / 1,0

Marque a afirmativa correta para a "inserção incremental".

É um tipo de sequenciação por intercalação.


Os pivôs são escolhidos aleatoriamente.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
É um tipo de ordenação por intercalação
A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.

4a Questão (Cód.: 27608) Pontos: 1,0 / 1,0

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

Vetor
Registro
Loop
Pilha
Fila

5a Questão (Cód.: 19729) Pontos: 1,0 / 1,0

Em relação às estruturas de dados, é correto afirmar:

Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é uma
característica presente nas listas duplamente encadeadas.
Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os princípios da
estrutura FILO.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, duplamente
encadeada.
Um grafo com um único vértice e sem arestas é conhecido como dígrafo.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, sem disciplina
de acesso, onde o primeiro elemento a entrar é o último a sair.
6a Questão (Cód.: 27773) Pontos: 1,0 / 1,0

Ordene a coluna direita de acordo com a da esquerda, associando as características de implementação de


cada: (Podem existir mais de uma opção à direita para alguma da esquerda)

Indique a alternativa correta:

b-b-a-c-c-c
a-a-a-b-c-b
a-c-a-b-c-a
c-a-a-b-c-b
a-b-a-c-c-b

7a Questão (Cód.: 30948) Pontos: 1,0 / 1,0

No programa abaixo, diga em que área de memória serão alocados os elementos de dados y e r,
respectivamente.

#include
using namespace std;
int x, y;
float media( float a, float b )
{ float tmp;
tmp = (a + b ) / 2.0;
return ( tmp );
}
int main()
{
float r;
cout<<"Informe 2 valores: ";
cin>>x>> y;
r = media( x, y );
cout<<"\nMedia = "<< r<<"\n";
system ("pause");
}

( ) área de dados globais / área de registro


( ) área de registro / área de pilha
( ) área de registro / área de dados globais
( ) área de pilha / área de registro
( ) área de dados globais / área de pilha

8a Questão (Cód.: 27933) Pontos: 1,0 / 1,0

É correto afirmar sobre o funcionamento da busca sequencial.

Os elementos são pesquisados aleatoriamente. Pior caso: o elemento está no último índice do meu vetor.
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no primeiro índice do
meu vetor.
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no meio do meu
vetor.
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no último índice do
meu vetor.
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no último índice do
meu vetor.

9a Questão (Cód.: 27641) Pontos: 1,0 / 1,0

O armazenamento de dados na memória do computador é feito de forma ordenada, utilizando-se estruturas e


regras de operações. Das alternativas a seguir, assinale a correta:

Em uma lista linear com alocação duplamente encadeada os nós da estrutura ocupam espaços aleatórios
na memória e cada nó armazena além da sua informação os endereços do nó anterior e do próximo nó
da estrutura.
Existem várias formas de apresentação de listas lineares, como listas circulares e as matrizes, que são
formas exclusivas das listas de alocação encadeada.
Em uma lista linear com alocação sequencial, os dados são heterogêneos e os nós da lista podem ter
tamanhos diferentes, mas exigem espaço em endereço contíguo de memória.
Fila e Pilha são tipos especiais de listas lineares. Na Fila, o último que entra é o primeiro que sai,
enquanto na Pilha, o primeiro que entra é o primeiro que sai.
A lista binária é uma forma não-linear de organização dos dados. Existe um nó denominado raiz da
árvore, que pode ter duas ou mais sub-árvores, que por sua vez também podem ter outras sub-árvores.

10a Questão (Cód.: 28102) Pontos: 1,0 / 1,0

Analisando a seqüência do código abaixo, pode se afirmar que se trata da:


for (int i = topo-1; i>=0 ; i--)

cout << " "<< v[i] <<" "<<endl;</endl;

for (int i = topo-1; i>=0 ; i--)

cout << " "<< v[i] <<" "<<endl;</endl;

Exibição de todos os elementos armazenados em uma Fila na ordem de entrada.


Exibição de todos os elementos armazenados em uma Fila na ordem inversa da entrada.
Exibição de todos os elementos armazenados em uma Fila na ordem decrescente.
Exibição de todos os elementos armazenados em uma Pilha na ordem inversa da entrada.
Exibição de todos os elementos armazenados em uma Pilha na ordem de entrada.

Período de não visualização da prova: desde 21/06/2013 até 03/07/2013.


Fechar

Avaliação: CCT0260_2013/02_AV3_201202105866 » ESTRUTURA DE DADOS


Tipo de Avaliação: AV3
Aluno: LUIZ BELFORT
Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9005/AE
Nota da Prova: 7,0 de 10,0 Nota do Trabalho: Nota de Participação: Data: 02/07/2013
18:23:21

Pontos: 1,0
1a Questão (Cód.: 27760)
/ 1,0
Estão entre algumas das possíveis formas de se estruturar dados:

Grafos, lista ordenada, vetores.


Grafos, algoritmos, fila.
Algoritmos, lista ordenada, vetores.
Lista encadeada, vetores, algoritmos.
Grafos, lista ordenada, algoritmos.

Pontos: 1,0
2a Questão (Cód.: 28089)
/ 1,0
Qual das alternativas a seguir pode definir uma estrutura de fila?

Entrada de dados pelo início e saída pelo final.


Entrada e saída de dados pelo início.
Entrada e saída de dados pelo final.
Entrada e saída de dados em qualquer local.
Entrada de dados pelo final e saída pelo início.

Pontos: 1,0
3a Questão (Cód.: 27591)
/ 1,0
O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo
= fim)?

overflow
underflow
ordenação
inclusão
remoção
Pontos: 1,0
4a Questão (Cód.: 27606)
/ 1,0
A técnica LIFO (last in first out), utilizada em programação estruturada, é fundamentada no conceito
de:

Loop
Pilha
Fila
Registro
Ponteiro

Pontos: 1,0
5a Questão (Cód.: 28139)
/ 1,0
Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde
seu valor serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo
de dado se chama:

Variável
Endereço
Matriz
Vetor
Ponteiro

Pontos: 0,0
6a Questão (Cód.: 19729)
/ 1,0
Em relação às estruturas de dados, é correto afirmar:

Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é


uma característica presente nas listas duplamente encadeadas.
Um grafo com um único vértice e sem arestas é conhecido como dígrafo.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear,
sem disciplina de acesso, onde o primeiro elemento a entrar é o último a sair.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear,
duplamente encadeada.
Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os
princípios da estrutura FILO.

Pontos: 1,0
7a Questão (Cód.: 19684)
/ 1,0
Analise as seguintes afirmações: I. Na Passagem por Referência, o parâmetro que vai ser passado na
chamada da função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro
também altera a variável correspondente. II. Uma recursão consiste em uma função chamar ela
mesma com argumentos sempre do mesmo valor. III. Considerando-se o escopo das variáveis, é
correto afirmar que uma variável é dita global quando a sua passagem no momento da chamada de
uma função se dá tanto por valor quanto por referência. Uma variável é dita local quando esta
passagem se dá apenas por valor. Indique a opção que contenha todas as afirmações verdadeiras.

somente a alternativa e II.


I e II.
II e III.
I e III.
somente a alternativa I.

Pontos: 0,0
8a Questão (Cód.: 28011)
/ 1,0
Suponha que uma pilha, P1, esta descrita através de uma lista encadeada como apresentado na figura a
seguir:

Imagine uma segunda pilha, P2, inicialmente vazia.

Suponha ainda que, a pilha P2 fosse preenchida com os elementos removidos de P1.

Qual seria a saída apresentada na tela, caso o conteúdo da pilha P2 fosse sendo removido e, cada elemento retirado de P2, fosse
apresentado na tela?

Suponha agora que ao invés da pilha P2, uma fila F1 (inicialmente vazia) fosse usada. Assim, fila F1 fosse preenchida com os
elementos removidos da pilha P1.

Qual seria a saída apresentada na tela, caso o conteúdo da fila F1 fosse sendo removido e, cada elemento retirado de F1, fosse
apresentado na tela?

A resposta para cada uma das perguntas respectivamente seria.

MARROCOS/SOCORRAM.
SOCORRAM/SOCORRAM.
SOCORRAM/MARROCOS.
Nada seria apresentado, pois a pilha P2, assim como a fila F1 estão vazias.
MARROCOS/MARROCOS.

Pontos: 0,0
9a Questão (Cód.: 19731)
/ 1,0
Considerando as definições de estruturas de dados e a declaração tipo nó :: reg (dado: inteiro;
próximo: ref nó), na qual reg é um registro contendo os campos: dado, que guarda valores inteiros, e
próximo, que guarda endereço de outro nó, assinale a opção correta:

O algoritmo para inclusão de elementos em uma pilha é usado sem nenhuma alteração para
incluir elementos em uma lista.
Uma lista duplamente encadeada é uma lista em que o seu último elemento referencia o
primeiro.
O uso de recursividade é totalmente inadequado na implementação de operações para
manipular elementos de uma estrutura de dados do tipo vetor.
As listas, pilhas, filas e árvores são estruturas de dados que têm como principal característica a
sequencialidade dos seus elementos.
O tipo nó é inadequado para implementar estruturas de dados do tipo pilha.

Pontos: 1,0
10a Questão (Cód.: 31186)
/ 1,0
Em algumas situações, principalmente na utilização de listas, há a necessidade de posicionar o
ponteiro em determinado local da lista. Dessa forma, analisando o trecho de código abaixo, que
mostra uma função, assinale a alternativa correta que descreve o objetivo desta. Sabe-se que o sinal
de asterisco (*) sinaliza um ponteiro.

void funcao (Nodo **P){


if ( *P != NULL ){
while ( (*P) -> Anterior != NULL )
*P= (*P) -> Anterior;
}
}

Posicionar o ponteiro no meio da lista


Posicionar o ponteiro onde houver o valor NULL
Posicionar o ponteiro no início da lista
Colocar o valor NULL em todos os ponteiros
Posicionar o ponteiro no final da lista

Período de não visualização da prova: desde 21/06/2013 até 03/07/2013.


Visualização de Prova Página 1 de 6

Avaliação On-Line
Avaliação: AV3-2012.1 EAD - ESTRUTURA DE DADOS - CCT0174
Disciplina: CCT0174 - ESTRUTURA DE DADOS
Tipo de Avaliação: AV3
Aluno: 201001509341 - RAPHAEL DA SILVA ROMA
Nota da Prova: 6 Nota do Trabalho: Nota da Participação: Total: 6
Prova On-Line

Questão: 1 (220382)

Para utilizarmos as structs, podemos criar variáveis e / ou vetores para manipular seus valores.
Supondo o seguinte registro:

struct funcionario{
char nome[50];
int matricula;
};

Das opções apresentadas qual esta correta na criação de um vetor dentro do main(), para o registro
funcionario? Pontos da Questão: 1
struct nome[50], matricula func;
funcionario func;
struct funcionario[40] func;
struct func funcionario[40];
funcionario func[40];

Questão: 2 (139724)
Nas listas encadeadas podemos fazer referência a uma parte de um nó, através de um outro nó. Na estrutura
apresentada o ponteiro p armazena o endereço do próximo nó.

struct teste {
int valor;
struct teste *p;
};

Das opções apresentadas qual permite armazenar na variável val do tipo inteiro o valor que está no nó
seguinte ao nó posicionado , sabendo-se que aux, contem o endereço do nó atual.
Pontos da Questão: 1

val= aux->p->valor;
val= aux->valor;
val= p->p->valor;
val-> aux->p->valor;
val= aux->p.p;

Questão: 3 (127056)
Sabe-se que um protótipo de uma função é o cabeçalho da função com ;(ponto-e-vírgula) ao final. E que nas
funções a passagem de parâmetros se dá por valor ou por referência.
Para o protótipo: void troca(float&,float&); pode-se dizer que:
Pontos da Questão: 1

É um protótipo de função que recebe dois argumentos por passagem de valor. Os dois do tipo real e

https://sia.estacio.br/portal/prt0010a.asp?p1=3950270&p2=10959&p3=1135304 02/07/2012
Visualização de Prova Página 2 de 6
retorna, para a função chamadora, um valor inteiro.
É um protótipo de função que recebe dois argumentos reais e retorna, para a função chamadora, um valor
real.
É um protótipo de função que recebe dois argumentos que são endereços que armazenam números reais,
por passagem por referência. E a função não retorna nada para a função chamadora.

É um protótipo de função que recebe dois argumentos reais por passagem de valor e não retorna nada
para função chamadora.
É um protótipo de função que recebe dois argumentos por passagem de valor. Um do tipo char e outro do
tipo int, mas não retorna nada para função chamadora.

Questão: 4 (138994)
Assinale a opção correta. A função que calcula a quantidade de elementos de uma fila dinâmica, considerando

struct no {
int dado;
struct no *link;
};
é:
Pontos da Questão: 1

int contar(no *p)


{
int contador;

contador = 0;
while (p != NULL)
{
p = p->link;
}
return contador;
}
int contar(no *p)
{
int contador;

contador = 0;
while (p == NULL)
{
p = p->link;
contador++;
}
return contador;
}

int contar(no *p)


{
int contador;
while (p != NULL)
{
contador++;
p = p->link;
}
return contador;
}

int contar(no *p)


{

https://sia.estacio.br/portal/prt0010a.asp?p1=3950270&p2=10959&p3=1135304 02/07/2012
Visualização de Prova Página 3 de 6
int contador;

contador = 0;
while (p != NULL)
{
contador++;
p = p->link;
}
return contador;
}

int contar(no *p)


{
int contador;

contador = 0;
while (p != NULL)
{
contador++;
}
return contador;
}

Questão: 5 (127834)
Assinale a opção correta.

Considere o seguinte trecho na main :


int v[ ] ={10,20,30,40};

Eureka(v);

sendo a função

void Eureka(int v[ ]) {
for (int i = 0; i < 4; i++)
v[i] = 2 * i;
}

Após a execução da função Eureka, v armazenará os seguintes valores :


Pontos da Questão: 1

0 20 40 60
20 40 60 80
1 2 4 6
0 2 4 6
0 2 4 6 8

Questão: 6 (127828)
O algoritmo da busca binária é mais eficiente que o da busca sequencial. Entretanto, este algoritmo só pode
ser utilizado em vetores ordenados. Marque a opção que explica esta limitação do algoritmo. Pontos da Questão: 1
A ordenação é necessária, pois quando o algoritmo realiza busca de dados numéricos, o espaço de busca é
dividido e esta divisão deve ser exata.
A ordenação é utilizada no algoritmo de busca binária, apenas para facilitar a localização do elemento
procurado. Caso contrário a busca é realizada de modo similar ao da busca sequencial.

https://sia.estacio.br/portal/prt0010a.asp?p1=3950270&p2=10959&p3=1135304 02/07/2012
Visualização de Prova Página 4 de 6
A ordenação não é uma limitação apenas do algoritmo de pesquisa binária. Todos os algoritmos de
pesquisa ou busca em vetor apresentam esta limitação.
A ordenação dos dados é importante, pois após a divisão do espaço de busca, a parte dos dados
descartados não pode conter o elemento procurado.
A ordenação é uma limitação natural dos métodos de pesquisa em vetores. Para realizar a busca em um
vetor os algoritmos devem sempre garantir que os mesmos estão ordenados.

Questão: 7 (128267)
Considere a função que deve implementar a busca seqüencial. Note que ela está incompleta e que você deve
completá-la.

int buscaSequencial(int v[ ], int valor)


{
int i;

for (i = 0; i < 10; i++)


__________________
__________
____________
}

Assinale a opção que mostra a função completa e correta.


Pontos da Questão: 1

int buscaSequencial(int v[ ], int valor)


{
int i;

for (i = 0; i < 10; i++)


{
if(v[i] == valor)
{
return i;
return -1;
}
}
}

int buscaSequencial(int v[ ], int valor)


{
int i;

for (i = 0; i < 10; i++)


if(v[i] == valor)
return i;
return -1;
}

int buscaSequencial(int v[ ], int valor)


{
int i;

for (i = 0; i < 10; i++)


if(v[i] == valor)
return i;
else
return -1;
}

https://sia.estacio.br/portal/prt0010a.asp?p1=3950270&p2=10959&p3=1135304 02/07/2012
Visualização de Prova Página 5 de 6
{
int i;

for (i = 0; i < 10; i++)


{
if(v[i] == valor)
return i;
return -1;
}
}

int buscaSequencial(int v[ ], int valor)


{
int i;

for (i = 0; i < 10; i++)


if(v[i] != valor)
return i;
return -1;
}

Questão: 8 (129226)
No desenvolvimento de sistemas podemos recorrer as mais diversas estruturas de dados a fim de propor a
melhor solução para determinados problemas.

Supondo que um problema sugere a necessidade de armazenar temporariamente alguns dados (Endereço,
telefone e idade) de uma determinada pessoa, qual das estruturas é a mais adequada?

Pontos da Questão: 1

Fila
Vetor
Pilha
Struct
Lista

Questão: 9 (138991)
Assinale a opção correta. Pilha é uma estrutura de dados que : Pontos da Questão: 1
segue o critério LIFO, pois pode-se inserir (ou remover) em (de) qualquer posição, já que é sempre
dinâmica.
segue o critério LIFO e pode ser implementada usando-se lista seqüencial ou lista encadeada.
segue o critério FIFO e é sempre implementada usando-se lista seqüencial.
não segue critério algum, pois pode-se inserirr em qualquer posição, já que é sempre sequencial.
segue o critério FIFO e é sempre dinâmica.

Questão: 10 (139130)
Considere

struct nodupla {
int dado;
struct *dlink, //aponta para o nó à direita
*elink; //aponta para o nó à esquerda
};

https://sia.estacio.br/portal/prt0010a.asp?p1=3950270&p2=10959&p3=1135304 02/07/2012
Visualização de Prova Página 6 de 6

Assinale a função que corretamente substitui o valor armazenado no último nó de uma lista duplamente
encadeada não vazia pelo valor 50.
Pontos da Questão: 1

void substituir(nodupla *p)


{
while (p.dlink != NULL)
p = p.dlink;
p.dado = 50;
}

void substituir(nodupla *p)


{
while (p->dlink != NULL)
{
p = p->dlink;
p->dado = 50;
}
}
void substituir(nodupla *p)
{
while (p != NULL)
p = p->dlink;
p->dado = 50;
}
void substituir(nodupla *p)
{
while (p->dlink != NULL)
p = p->dlink;
p->dado = 50;
}

void substituir(int dado)


{
while(p->dlink != NULL)
p = p->dlink;
p->dado = 50;
}

Fechar
Server IP : 192.168.10.139 Client IP: 187.67.226.236 Tempo de execução da página : 1,422

https://sia.estacio.br/portal/prt0010a.asp?p1=3950270&p2=10959&p3=1135304 02/07/2012
Fe cha r

Ava lia çã o: CCT0174_A V3_201002141011 » ESTRUTURA DE DA DOS


Tipo de Ava lia çã o: A V3

Aluno: 201002141011 - WELLINGTON PEREIRA DE OLIVEIRA


Profe ssor: A LEXA NDRE SOA RES A LVES Turm a : 9002/A B
Nota da Prova : 6,0 de 10,0 Nota do Tra ba lho: Nota de Pa rticipa çã o: Data : 08/12/2012

1a Questão (C ód.: 95225) Pontos: 1,0 / 1,0

A estrutura de dados linear que obedece o seguinte critério: o último elemento inserido será o primeiro
elemento a ser retirado (LIFO) é:

árvore binária.
árvore AVL.
fila.

pilha.

lista circular.

2a Questão (C ód.: 95242) Pontos: 0,0 / 1,0

Pilha é uma estrutura de dados:


C ujo acesso aos seus elementos ocorre de forma aleatória.
Que pode ser implementada somente por meio de vetores.
Que pode ser implementada somente por meio de listas.
C ujo acesso aos seus elementos segue a lógica LIFO, apenas.
C ujo acesso aos seus elementos segue tanto a lógica LIFO quanto a FIFO.

3a Questão (C ód.: 27573) Pontos: 0,0 / 1,0

Um apontador é uma variável que contém o endereço de outra variável. Apontadores são muito usados, em
parte porque são, às vezes, a única forma de se expressar um processo de computação e, em parte, porque,
normalmente, implicam um código mais compacto e eficiente que o obtido de outras formas. C onsiderando o
uso de apontadores nas linguagens procedurais atuais, julgue os itens que se seguem com E se for errado e C
se for certo.

( ) O uso de apontadores como argumentos de funções que realizem chamada por valor não permite alteração
de seus conteúdos de memória na função.

( ) C om apontadores, é possível criar funções que retornem estruturas de dados complexas.


( ) Para recuperar o valor da variável apontada, basta que o apontador seja atribuído a uma variável de
mesmo tipo.

( ) Arranjos de apontadores podem ser usados em funções que recebam como argumentos um número
variável de cadeias de caracteres.

( ) Em geral, para que um arranjo seja percorrido por um ponteiro, para cada elemento do arranjo deve-se
adicionar ao ponteiro o número de bytes que o elemento ocupa em memória.

b) C - C - E - E - E
a) E - C - E - C - E
d) E - C - E - C - C
c) E - E - C - C - E
e) C - E - C - E - C
4a Questão (C ód.: 28119) Pontos: 1,0 / 1,0

As listas encadeadas podem ser elaboradas de duas formas utilizando uma técnica de encadeamento
simplesmente ou encadeamento duplo. O que difere uma lista simplesmente encadeada de uma lista
duplamente encadeada?
Em uma lista duplamente encadeada, cada nó aponta para um nó enquanto a lista simplesmente
encadeada aponta para mais de um nó.
Em uma lista duplamente encadeada cada nó aponta para nó seguinte e para o primeiro nó da fila.
Em uma lista duplamente encadeada cada nó aponta para nó seguinte.
Em uma lista simplesmente encadeada cada nó aponta para nó seguinte e para o nó anterior.
Em uma lista simplesmente encadeada cada nó aponta para um único nó enquanto a lista duplamente
encadeada aponta para mais de um nó.

5a Questão (C ód.: 27793) Pontos: 1,0 / 1,0

Em uma lista linear simplesmente encadeada.


Além do campo relativo ao dado, cada nó possui dois ponteiros,
O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista.
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, formando
um ciclo.
C ada ponteiro possui um só endereço que referencia o primeiro nó da lista.
C ada nó possui um só ponteiro que referencia o próximo nó da lista.

6a Questão (C ód.: 27971) Pontos: 0,0 / 1,0

Com relaç ão as listas lineares sequenc iais:

I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de


array.

II - Um elemento de uma lista linear sequencial pode ser ac essado diretamente através de um
índice.

III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.
Apenas as afirmações I e II estão corretas.
Apenas as afirmações I e III estão corretas.
Apenas as afirmações II e III estão corretas.
Apenas as afirmações II está corretas.
Apenas a afirmação I está correta.

7a Questão (C ód.: 31178) Pontos: 1,0 / 1,0

Um tipo de estrutura de dados é declarada em C como:


typedef struct no *apontador;
struct no{
int valor;
apontador esq, dir;
}
onde esq e dir representam ligações para os dados da esquerda e direita, respectivamente. Qual das seguintes
alternativas é uma implementação correta da operação que inverte as posições dos dados da esquerda e da
direita uma estrutura p, onde t é um apontador auxiliar.
p->dir=t;
p->esq = p->dir;
p->dir = t;
t=p;
p->esq = p->dir;
p->dir = p->esq;
p->esq = p->dir;
p->esq = p->dir;
t = p->esq;
p->dir = t;
t=p->dir;
p->dir = p->esq;
p->esq = t;
t=p->dir;
p->esq = p->dir;
p->dir = t;

8a Questão (C ód.: 28126) Pontos: 0,0 / 1,0

As funções em programação permitem que se possa realizar a modularização do código diminuindo assim sua
complexidade. Analise a função abaixo e assinale alternativa que descreve corretamente o tipo de função:
int funcao (int x){
if(x == 0)
return 0;
else
funcao(x-1);
}
Sequencial
Igual a zero
Recursiva
C ondicional de seleção
Passagem por referência

9a Questão (C ód.: 28114) Pontos: 1,0 / 1,0

As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:
Matriz
Registro
Função
Vetor
Variável

10a Questão (C ód.: 28034) Pontos: 1,0 / 1,0

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um
de seus elementos o número de inscrição, o nome e a nota obtida pelo candidato. Este vetor está ordenado pelo
número de inscrição. Para realização de uma consulta que, dado um número de inscrição, apresenta o nome e
nota do candidato, um programador utilizou um algoritmo de busca que realiza sucessivas divisões no vetor,
comparando o número de inscrição procurado com o número de inscrição do candidato posicionado no meio do
vetor. Se o candidato posicionado do meio do vetor tiver o número de inscrição igual ao número de inscrição
procurado, a busca termina com sucesso. C aso contrário, se candidato posicionado do meio do vetor tiver
número de inscrição menor que o procurado, então a busca continua na metade posterior do vetor. E
finalmente, se candidato posicionado do meio do vetor tiver número de inscrição maior que o procurado, a
busca continua na metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método
denominado busca:
linear.
binária.
por contagem.
randômica.
por comparação.
1a Questão (Ref.: 201303061506) Pontos: 0,8 / 0,8

As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:

Variável
Vetor
Registro
Função
Matriz

2a Questão (Ref.: 201303061324) Pontos: 0,8 / 0,8

Marque a afirmativa que represente uma separação.

Intercalar a ordem dos dados da lista do final para o início, atualizando a lista.
Organizar os dados da lista em ordem crescente ou decrescente.
Consiste em dividir a lista em duas outras listas. A quantidade de nós que cada lista terá,
depende da necessidade.
Juntar duas listas, colocando uma lista no final de outra, obtendo, ao final, uma só lista resultante.
Alterar a ordem dos dados da lista do final para o início, atualizando a lista.

3a Questão (Ref.: 201303089668) Pontos: 0,0 / 0,8

Considere duas listas simplesmente encadeadas circulares e não vazias de inteiros e


o tipo
struct no {
int dado;
struct no *link;
};
Faça uma função para criar uma lista simplesmente encadeada não circular que seja
constituída pelos elementos comuns às duas listas passadas.
Protótipo : no *inter(no *x, no*y);

Resposta:

Gabarito: no *insere_frente(no *p, int valor) { no *q; q = new no; q->dado = valor; q->link = p;
return q; } no *inter(no *x, no *y) { no *t, *r, *q; t = x; q = NULL; do { r = y; do { if (t->dado == r-
>dado) q = insere_frente(q,t->dado); r = r->link; } while (r != y); t = t->link; } while (t != x);
return q; }
4a Questão (Ref.: 201303061505) Pontos: 0,8 / 0,8

As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um espaço
na memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a
declaração desta forma estamos declarando uma variável do tipo:

Global
Constante
Local
Inteiro
Real

5a Questão (Ref.: 201303061174) Pontos: 0,8 / 0,8

Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada".

Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de
elementos.

6a Questão (Ref.: 201303082540) DESCARTADA

Se a e b são variáveis inteiras (int) e p1 e p2 ponteiros para int, quais das seguintes expressões de atribuição
está errada?

a = (*p1 + *p2)/b+1;
p1 = &a;
b = *p2;
*p2 = &b;
*p2 = *p1;

7a Questão (Ref.: 201303061494) Pontos: 0,0 / 0,8

Analisando a seqüência do código abaixo, pode se afirmar que se trata da: for (int i = topo-1; i>=0 ; i--) cout
<< " "<< v[i] <<" "<

Exibição de todos os elementos armazenados em uma Fila na ordem de entrada.


Exibição de todos os elementos armazenados em uma Fila na ordem inversa da entrada.
Exibição de todos os elementos armazenados em uma Pilha na ordem de entrada.
Exibição de todos os elementos armazenados em uma Fila na ordem decrescente.
Exibição de todos os elementos armazenados em uma Pilha na ordem inversa da entrada.

8a Questão (Ref.: 201303061520) Pontos: 0,0 / 0,8

Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação
posterior de itens de conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque
corretamente a alternativa que apresenta o código do método de seleção.

int ordena(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;
}
int ordena(float v[], float valor, int n) {
int ini = 0, fim = n-1, meio;
while (ini >= fim){
meio = ini/2;
if (v[meio] == valor)
return meio;
if (valor < v[meio])
fim = meio -1;
else
ini = meio+1;
}
int ordena(float v[], float valor, int n){
for (int i = 0; i < n; i++)
if (v[i] == valor)
return i;
return -1;
}
void ordena (int v[], int n){
int i, j, aux;
for (j = 1; j < n; j++)
for (i=j; i > 0 && v[i-1]> v[i]; i--){
aux = v[i-1];
v[i-1] = v[i];
v[i] = aux;
}
}
void ordena(int v[], int n){
int i, j, menor, aux;
for (j = 0; j < n-1; j++) {
for (i = j+1; i < n; i++) {
if (v[i] < v[j]) {
aux = v[j];
v[j] = v[i];
v[i] = aux;
}
}
}
}
9a Questão (Ref.: 201303061528) Pontos: 0,8 / 0,8

Analisando a figura abaixo, marque a alternativa correta que apresenta o tipo de estrutura de dados utilizado.

Fila
Matriz
Pilha
Struct
Hash

10a Questão (Ref.: 201303061516) Pontos: 0,8 / 0,8

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;

Pilha
Lista encadeada
Matriz
Lista duplamente encadeada
Fila

11a Questão (Ref.: 201303091954) Pontos: 0,8 / 0,8


Qual a diferença entre pilha e fila?

Resposta: Pilha: Estrutura de dados em que os elementos são alocados da maneira LIFO (Last In First Out -
Último que Entra é o Primeiro que Sai); as entradas de elementos são realizadas por apenas 1 (uma)
extremidade. Fila: Estrutura de dados em que os elementos são alocados da maneira FIFO (First In First Out -
Primeiro que Entra é o Primeiro que Sai); as entradas de elementos podem ser realizadas pelas 2 (duas)
extremidades.

Gabarito: Pilha se caracteriza por ser uma estrutura de dados que são inseridos e retirados numa
sequencia semelhante as anilhas de alteres, isto é, usa a lógica LIFO. Já uma fila se caracteriza por
ser um estrutura semelhante a fila de banco, isto é, os dados vão chegando e sendo processados e
retirados da estrutura. Essa lógica é chamada de FIFO.
Fechar

Avaliação: CCT0260_AV_201301226998 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV

Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9003/AB

Data: 12/11/2013 14:01:10

1a Questão (Ref.: 201301277787) Pontos: 0,8 / 0,8

Qual das alternativas a seguir pode definir uma estrutura de pilha?

Entrada e saída de dados pelo final.


Entrada de dados pelo início e saída pelo final.
Entrada de dados pelo final e saída pelo início.
Entrada e saída de dados em qualquer local.
Entrada e saída de dados pelo início.

2a Questão (Ref.: 201301277305) Pontos: 0,0 / 0,8

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

Vetor
Pilha
Loop
Registro
Fila

3a Questão (Ref.: 201301305973) Pontos: 0,0 / 0,8

Considere duas listas simplesmente encadeadas circulares e não vazias de inteiros e o


tipo
struct no {
int dado;
struct no *link;
};
Faça uma função para criar uma lista simplesmente encadeada não circular que seja
constituída pelos elementos comuns às duas listas passadas.
Protótipo : no *inter(no *x, no*y);

Resposta: no *inter(no *x, no*y){ int qnox=0, qnoy=0,c=0; while(x->link != NULL) qno++; while(y->link
while(c<qno,c++) while(x.dado[c] == y.dado[c]

Gabarito: no *insere_frente(no *p, int valor) { no *q; q = new no; q->dado = valor; q->link = p; return q; }
no *inter(no *x, no *y) { no *t, *r, *q; t = x; q = NULL; do { r = y; do { if (t->dado == r->dado) q =
insere_frente(q,t->dado); r = r->link; } while (r != y); t = t->link; } while (t != x); return q; }

4a Questão (Ref.: 201301344937) Pontos: 0,8 / 0,8

Na estrutura de dados tipo pilha, há duas operações básicas para empilhamento e desempilhamento. Essas
operações são conhecidas como:

PUSH e PULL;
PUSH e POP.
HEAP e POP;
Base e Topo;
PULL e POP;

5a Questão (Ref.: 201301277820) Pontos: 0,0 / 0,8

O processo de rearranjar um conjunto de dados em uma ordem crescente ou decrescente é chamado de


ordenação. Existem várias técnicas de ordenação, entretanto a técnica que procura o menor valor entre todos
os elementos do vetor e troca-o pelo primeiro elemento; para os n - 1 elementos restantes, determinação do
elemento de menor valor e troca pelo segundo elemento e assim sucessivamente, é chamado de:

Inserção
Seleção
Binária
Hash
Bolha

6a Questão (Ref.: 201301305952) DESCARTADA

Os agentes Peter e Paul receberam mensagens de seus contatos. Para saberem qual o próximo passo da
missão, precisam intercalar as duas mensagens recebidas, que sabe-se, são do mesmo tamanho.

Faça uma função que receba dois vetores v e w como parâmetros, cada um com n elementos, e gere um vetor
z, resultante da intercalação entre v e w.

Exemplo para visualização :

Mensagem 1 : ECPM

Mensagem 2 : SAE!

Mensagem resultante : ESCAPEM!


Resposta:

Gabarito:

void intercalar(char v[ ], char w[ ], char z[ ], int n) {

int i;

for ( i = 0; i < n; i++) {

z[i*2] = v[i];

z[i*2 + 1] = w[i];

z[2*n] = '\0';

7a Questão (Ref.: 201301269381) Pontos: 0,8 / 0,8

Analise as seguintes afirmações: I. Na Passagem por Referência, o parâmetro que vai ser passado na chamada
da função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a
variável correspondente. II. Uma recursão consiste em uma função chamar ela mesma com argumentos sempre
do mesmo valor. III. Considerando-se o escopo das variáveis, é correto afirmar que uma variável é dita global
quando a sua passagem no momento da chamada de uma função se dá tanto por valor quanto por referência.
Uma variável é dita local quando esta passagem se dá apenas por valor. Indique a opção que contenha todas as
afirmações verdadeiras.

II e III.
I e II.
I e III.
somente a alternativa e II.
somente a alternativa I.

8a Questão (Ref.: 201301277317) Pontos: 0,8 / 0,8

Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que
DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações:

ENQUEUE(1)

ENQUEUE(2)

DEQUEUE()

ENQUEUE(3)

ENQUEUE(4)
DEQUEUE()

DEQUEUE()

ENQUEUE(5)

Ao final da sequencia, a soma dos elementos de que (Q) será?

5
6
9
15
0

9a Questão (Ref.: 201301280885) Pontos: 0,8 / 0,8

Analisando o trecho de código abaixo, marque a alternativa correta que apresenta o que será impresso na tela
do usuário. Sabe-se que na linguagem C os ponteiros são representados pelo sinal de asterisco (*), o endereço
de memória pelo sinal & e a função de impressão é denominada printf.
void funcao ( int *a, int *b)
{
int c;
c = *a;
a = b;
*b = c;
}

main()
{
int a=2, b=3;
funcao (&a, &b);
printf("%d - %d \n",a,b);
}

3-3
2-2
3-2
2-3
Não irá compilar

10a Questão (Ref.: 201301277848) Pontos: 0,0 / 0,8

Determinados tipos de estrutura de dados, são utilizados para implementar um algoritmo de escalonamento de
processos do sistema operacional UNIX, chamado Round Robin, onde cada processo ganha uma fatia de tempo.
Esse tipo de estrutura de dados é chamado de:

Tabela Hash
Lista encadeada
Pilha
Lista duplamente encadeada
Método Bolha
11a Questão (Ref.: 201301277828) Pontos: 0,8 / 0,8

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário,
através da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos
alocados em posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso
de representar os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.

Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.


Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
Proteção de memória, transferência de dados, estruturas simples.
Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.
Acesso, representação, compartilhamento de memória.

Período de não visualização da prova: desde 04/11/2013 até 22/11/2013.


Avaliação: CCT0260_A VS_201202216978 » ESTRUTURA DE DA DOS
Tipo de Avaliação: A VS

Aluno: 201202216978 - A LFREDO KEMPF A MORIM


Profe ssor: A NITA LUIZA MA CIEL LOPES Turm a: 9001/A A
Nota da Prova: 7,2 Nota de Partic.: 0 Data: 29/11/2013 09:34:53

1a Questão (R e f.: 201202266287) Pontos: 0,8 / 0,8

A estrutura de dados Pilha funciona de acordo com o seguinte fundamento básico:

Tanto o primeiro como o último podem sair primeiro.


O último a entrar é o último a sair.
Quem estra no topo da pilha não sai mais.
O primeiro a entrar é o último a sair.
O primeiro a entrar é o primeiro a sair.

2a Questão (R e f.: 201202266457) DESCA RTA DA

Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada".

C onsiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.
C onsiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
C onsiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
C onsiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.

3a Questão (R e f.: 201202297239) Pontos: 0,8 / 0,8

C omo é a lógica do FIFO?

Resposta: O FIFO é a lógica da fila: o primeiro elemento que entra, é o primeiro elemento que vai sair.

Gabarito: O primeiro que entra na fila é o primeiro que sai.

4a Questão (R e f.: 201202333955) Pontos: 0,8 / 0,8

Assinale a opção certa.

Quando não se escreve o protótipo de uma função ...

O programa não funcionará de forma alguma.


A chamada da função poderá ser feita em qualquer hipótese.
A definição da função deverá ser escrita, obrigatoriamente, após o programa principal.
A chamada da função não poderá ser feita em qualquer hipótese.
É preciso definir a função antes do programa principal.

5a Questão (R e f.: 201202266286) Pontos: 0,8 / 0,8

Pilha é uma estrutura de dados

Que pode ser implementada somente por meio de vetores.


C ujo acesso aos seus elementos ocorre de forma aleatória.
C ujo acesso aos seus elementos segue a lógica LIFO.
C ujo acesso aos seus elementos segue tanto a lógica LIFO quanto a FIFO.
Que pode ser implementada somente por meio de listas.

6a Questão (R e f.: 201202266299) Pontos: 0,8 / 0,8

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?

REC ORD
FIFO
ARRAY
LIFO
TABLE

7a Questão (R e f.: 201202333919) Pontos: 0,8 / 0,8

Sobre estrutura de dados, identifique o que está correto afirmar.

I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e
retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um
elemento é adicionado ou retirado seu topo é alterado.

II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e
pelos compiladores, na passagem de parâmetros para as funções.

III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos.

IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o
elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente.
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo
princípio LIFO (last in first out).

II, IV e V.
I, III, IV e V.
I, III e V.
II, III, IV e V.
I, II e III.

8a Questão (R e f.: 201202297237) Pontos: 0,8 / 0,8

Qual a diferença entre pilha e fila?

Resposta: Em relação entre a lógica da pilha e da fila: no caso da pilha (LIFO): o ultimo elemento que entrou
será o primeiro elemento a sair. ( um exemplo: é como se fosse uma pilha de pratos,o ultimo prato a ser
colocado nessa pilha, logo será o primeiro prato a ser retirado.Nessa pilha o primeiro prato colocado na pilha
será o ultimo a sair). nocaso da fila (FIFO): o primeiro elemento que entrou será o primeiro elemento a sair. (
um exemplo: é como se fosse uma fila de um banco, a primeira pessoa que entrou na fila e foi atendida,logo
será a primeira a sair.Nessa fila a ultima pessoa que entra será a ultima pessoa a sair).

Gabarito: Pilha se caracteriza por ser uma estrutura de dados que são inseridos e retirados numa sequencia
semelhante as anilhas de alteres, isto é, usa a lógica LIFO. Já uma fila se caracteriza por ser um estrutura
semelhante a fila de banco, isto é, os dados vão chegando e sendo processados e retirados da estrutura. Essa
lógica é chamada de FIFO.

9a Questão (R e f.: 201202266811) Pontos: 0,8 / 0,8

Analisando a figura abaixo, marque a alternativa correta que apresenta o tipo de estrutura de dados utilizado.

Struct
Matriz
Fila
Hash
Pilha

10a Questão (R e f.: 201202316423) Pontos: 0,8 / 0,8

Considere o algoritmo de busca:

Testar o elemento a m (a índice m) sorteado aleatoriamente e compará-lo ao argumento de busca x. Se o


elemento for igual a x, a busca termina. Se menor que x todos os elementos com índices menores ou iguais
a m podem ser descartados dos próximos testes e se for maior que x todos aqueles que possuem índices
maiores ou iguais a m também podem ser descartados.

Tal algoritmo é denominado busca ...

Knuth-Morris-Pratt.
Boyer-Moore.
binária.
em tabelas.
linear.

11a Questão (R e f.: 201202269855) Pontos: 0,0 / 0,8

Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer
acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam
ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio
do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. C aso
contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior
do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O
algoritmo que utiliza esta metodologia é:

Pesquisa sequencial
Inserção
Bolha
Pesquisa binária
Seleção

Pe ríodo de não visualização da prova: de sde 29/11/2013 até 15/12/2013.


BDQ Prova file:///C:/Users/ecio/Google Drive/HJV/Diversos/Estácio_files/prova_r...

Avaliação: CCT0174_AV2_201107047803 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: 201107047803 - ECIO SOARES FERREIRA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 4,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 13/06/2013 17:31:25

a
1 Questão (Cód.: 31188) Pontos: 0,0 / 1,0

Analisando o trecho de código abaixo, marque a alternativa correta que apresenta o que será impresso na tela do
usuário. Sabe-se que na linguagem C os ponteiros são representados pelo sinal de asterisco (*), o endereço de
memória pelo sinal & e a função de impressão é denominada printf.
void funcao ( int *a, int *b)
{
int c;
c = *a;
a = b;
*b = c;
}

main()
{
int a=2, b=3;
funcao (&a, &b);
printf("%d - %d \n",a,b);
}

3-3
Não irá compilar
2-2
3-2
2-3

a
2 Questão (Cód.: 27759) Pontos: 0,0 / 0,5

Podemos dizer que um container é:

A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
A saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.

a
3 Questão (Cód.: 95240) Pontos: 0,5 / 0,5

Na estrutura de dados tipo pilha, há duas operações básicas para empilhamento e desempilhamento. Essas
operações são conhecidas como:

1 de 4 19/06/2013 15:26
BDQ Prova file:///C:/Users/ecio/Google Drive/HJV/Diversos/Estácio_files/prova_r...

HEAP e POP;
PULL e POP;
PUSH e POP.
Base e Topo;
PUSH e PULL;

a
4 Questão (Cód.: 58564) Pontos: 1,5 / 1,5

Como é a lógica do FIFO?

Resposta: A lógica do FIFO é a de que o primeiro item a entrar deve ser o primeiro a sair, como acontece numa fila
por ordem de chegada. Quem chegar primeiro será logo atendido e liberado.

Gabarito: O primeiro que entra na fila é o primeiro que sai.

a
5 Questão (Cód.: 27578) Pontos: 0,5 / 0,5

Diga, para o programa abaixo, qual a opção que melhor representa a saída em tela. (Considere que o programa
será compilado sem erros, e irá executar também sem problemas).

#include

using namespace std;

void FuncX( int x, int *y )

int tmp;

tmp = *y;

*y = x * 2;

x = tmp+1;

int main()

int a = 13, b = 10;

FuncX( a-3, &b );

cout<<"Valores: "<< a<<"\t"<< b<

system("pause");

Valores: 13, 10
Valores: 13, 20
Valores: 10, 10
Valores: 20, 10
Valores: 10, 20

2 de 4 19/06/2013 15:26
BDQ Prova file:///C:/Users/ecio/Google Drive/HJV/Diversos/Estácio_files/prova_r...

a
6 Questão (Cód.: 31184) Pontos: 0,0 / 1,0

Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação deve
rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta que cita o
algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre os elementos
que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido entre os ordenados
movendo-se os elementos maiores que ele uma posição para a direita e posteriormente inserindo-o na posição
vaga".

Bolha
Inserção
MergeSort
Seleção
QuickSort

a
7 Questão (Cód.: 28112) Pontos: 0,0 / 0,5

Sistemas operacionais utilizam filas para gerenciar, tarefas, processos e recursos. Qual é a ordenação dos
elementos armazenados aleatoriamente em uma lista do tipo LIFO?

Ordem de entrada
Ordem decrescente
Ordem crescente
Posições aleatórias
Primeiro que entra é o primeiro a sair

a
8 Questão (Cód.: 28036) Pontos: 0,0 / 0,5

Considerando que a lista a seguir, encontra-se criada na memória, o que será exibido pelo trecho de programa a seguir:

aux = inicio;

while (aux -> proximo != NULL)

aux = aux -> proximo;

novo = new tipoNo;

novo -> valor = 'F';

novo -> proximo = NULL;

aux -> proximo = novo;

aux = inicio;

while (aux != NULL){

cout << aux -> valor << " ";

aux = aux -> próximo;

3 de 4 19/06/2013 15:26
BDQ Prova file:///C:/Users/ecio/Google Drive/HJV/Diversos/Estácio_files/prova_r...

HKM
NULL
H
HKMF

a
9 Questão (Cód.: 58562) Pontos: 1,5 / 1,5

Qual a diferença entre pilha e fila?

Resposta: A diferença entre pilha e fila está forma como estes algoritimos tratam as listas, no caso da pilha, o
último a chegar é o primeiro a sair, um exemplo disso pode ser visto nos restaurantes self-service, a medida que os
pratos são lavados vão sendo postos em cima dos que foram lavados primeiro, e quando os pratos são levados ao
centro do restaurante os últimos pratos lavados são os primeiros a serem utilizados pelas pessoas. No caso da fila,
a ordem de chegada e saída segue o modelo tradicional, onde os primeiros a chegar, devem ser os primeiros a
serem atendidos e dessa forma, são os primeiros a sair.

Gabarito: Pilha se caracteriza por ser uma estrutura de dados que são inseridos e retirados numa sequencia
semelhante as anilhas de alteres, isto é, usa a lógica LIFO. Já uma fila se caracteriza por ser um estrutura
semelhante a fila de banco, isto é, os dados vão chegando e sendo processados e retirados da estrutura. Essa
lógica é chamada de FIFO.

a
10 Questão (Cód.: 19663) Pontos: 0,5 / 0,5

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

Por teste e por reforço.


Por inferência e por valor.
Por valor e por referência
Por reforço e por referência.
Por memória e por disco.

Período de não visualização da prova: desde 03/06/2013 até 18/06/2013.

4 de 4 19/06/2013 15:26
Avaliação: CCT0174_AV2_201107053692 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 5,5 de 8,0 Nota do Trabalho: Nota de Participação: 0 Data: 11/06/2013 09:36:42

1a Questão (Cód.: 49148) Pontos: 0,0 / 1,0

Se a e b são variáveis inteiras (int) e p1 e p2 ponteiros para int, quais das seguintes expressões de atribuição
está errada?

a = (*p1 + *p2)/b+1;
p1 = &a;
*p2 = *p1;
b = *p2;
*p2 = &b;

2a Questão (Cód.: 95225) Pontos: 0,5 / 0,5

A estrutura de dados linear que obedece o seguinte critério: o último elemento inserido será o primeiro
elemento a ser retirado (LIFO) é:

lista circular.
árvore binária.
pilha.
árvore AVL.
fila.

3a Questão (Cód.: 58564) Pontos: 1,5 / 1,5

Como é a lógica do FIFO?

Resposta: O Primeiro a Entrar é o Primeiro a Sair

Gabarito: O primeiro que entra na fila é o primeiro que sai.

4a Questão (Cód.: 58563) Pontos: 1,5 / 1,5

Como é a lógica do LIFO?

Resposta: O Ultimo a Entrar é o Primeiro a Sair


Gabarito: O primeiro que entra na pilha é o último que sai.

5a Questão (Cód.: 27620) Pontos: 0,0 / 0,5

Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que
DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações:

ENQUEUE(1)

ENQUEUE(2)

DEQUEUE()

ENQUEUE(3)

ENQUEUE(4)

DEQUEUE()

DEQUEUE()

ENQUEUE(5)

Ao final da sequencia, a soma dos elementos de que (Q) será?

5
0
6
15
9

6a Questão (Cód.: 27753) Pontos: 0,5 / 0,5

Podemos dizer que estrutura de dados é:

O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.


É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.

7a Questão (Cód.: 27966) Pontos: 0,0 / 0,5


Qual o valor da variável a ao final da execução do trecho de programa a seguir?

int main() {

int a, b, *p;

a=4;

b = 2;

p = &a;

a++;

*p = a + b;

(*p)++;

(*p) += a;

cout << "\n a = " << a << endl;

return(0);

8
5
4
7
16

8a Questão (Cód.: 31184) Pontos: 1,0 / 1,0

Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação
deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta
que cita o algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre
os elementos que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido
entre os ordenados movendo-se os elementos maiores que ele uma posição para a direita e posteriormente
inserindo-o na posição vaga".

Inserção
Seleção
MergeSort
QuickSort
Bolha

9a Questão (Cód.: 28027) Pontos: 0,0 / 0,5


Com relação as afirmações abaixo, a respeito de lista lineares, assinale as Verdadeiras e asFalsas. Indique a alternativa
que representa a sequência correta:

( ) Nas listas encadeadas não precisamos saber previamente o número de elementos a serem armazenados.

( ) Podemos aumentar e diminuir o tamanho da lista encadeada quando quisermos, enquanto que a lista sequencial não.

( ) Quando o número de acessos randômicos a uma área de armazenamento é muito maior que o número de inserções e
remoções de elementos armazenados, a organização dessa área de armazenamento por meio de uma lista
encadeada resulta em desempenho melhor que o apresentado por organização feita usando uma lista linear.

VFV
VVF
FVF
VVV
FVV

10a Questão (Cód.: 19663) Pontos: 0,5 / 0,5

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

Por memória e por disco.


Por teste e por reforço.
Por valor e por referência
Por reforço e por referência.
Por inferência e por valor.
Avaliação: CCT0174_A V 2_201007050616 » ESTR UTUR A D E D A D O S

Tipo de Avaliação: A V 2
Aluno:

Profe ssor: A LEX A ND R E SO A R ES A LV ES Turm a: 9002/ A B

Nota da Prova: 8,0 de 8,0 Nota do Trabalho: Nota de Participação: 0 Data: 06/ 06/ 2013 15:21:31

1 a Q ue st ão (C ód.: 31188) Pontos: 1,0 / 1,0

Analisando o trecho de código abaixo, marque a alternativa correta que apresenta o que será impresso na tela
do usuário. Sabe-se que na linguagem C os ponteiros são representados pelo sinal de asterisco (*), o endereço
de memória pelo sinal & e a função de impressão é denominada printf.
void funcao ( int *a, int *b)
{
int c;
c = *a;
a = b;
*b = c;
}

main()
{
int a=2, b=3;
funcao (&a, &b);
printf("%d - %d \n",a,b);
}

Não irá compilar


2-3
2-2
3-3
3-2

2 a Q ue st ão (C ód.: 95243) Pontos: 0,5 / 0,5

A técnica LIFO, utilizada em programação estruturada, é fundamentada no conceito de:

Pilha.
Array.
Fila.
Ponteiro.
Loop.

3 a Q ue st ão (C ód.: 58564) Pontos: 1,5 / 1,5

C omo é a lógica do FIFO?

Resposta: primeiro a entrar na fila é o primeiro a sair


Gabarito: O primeiro que entra na fila é o primeiro que sai.

4a Questão (C ód.: 56270) Pontos: 1,5 / 1,5

Considere uma lista simplesmente encadeada não circular de inteiros e o tipo

struct no {

int dado;
struct no *link;
};

Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante.
Protótipo : no *inverter(no *ini); //ini aponta para o início da lista

Resposta: { no a*, *b, *c; a = ini; b=NULL; while (a != NULL) { c = b; b = a; a = a-> link; b-> link = c; } ini =
b; return(ini) }

Gabarito: no *inverter ( no *ini) // ini é um ponteiro para o início da lista { no *a, *b, *c; a = ini; b = NULL;
while (a != NULL) { c = b; b = a; a = a->link; b->link = c; } ini = b; return(ini); } /* fim da função */

5a Questão (C ód.: 27620) Pontos: 0,5 / 0,5

Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que
DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações:

ENQUEUE(1)

ENQUEUE(2)

DEQUEUE()

ENQUEUE(3)

ENQUEUE(4)

DEQUEUE()

DEQUEUE()

ENQUEUE(5)

Ao final da sequencia, a soma dos elementos de que (Q) será?

15
0
9
5
6

6a Questão (C ód.: 27578) Pontos: 0,5 / 0,5


Diga, para o programa abaixo, qual a opção que melhor representa a saída em tela. (C onsidere que o
programa será compilado sem erros, e irá executar também sem problemas).

#include

using namespace std;

void FuncX( int x, int *y )

int tmp;

tmp = *y;

*y = x * 2;

x = tmp+1;

int main()

int a = 13, b = 10;

FuncX( a-3, &b );

cout<<"Valores: "<< a<<"\t"<< b<

system("pause");

Valores: 10, 10
Valores: 10, 20
Valores: 13, 20
Valores: 20, 10
Valores: 13, 10

7a Questão (C ód.: 31184) Pontos: 1,0 / 1,0

Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação
deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta
que cita o algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto
entre os elementos que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é
inserido entre os ordenados movendo-se os elementos maiores que ele uma posição para a direita e
posteriormente inserindo-o na posição vaga".

Inserção
MergeSort
Seleção
Bolha
QuickSort

8a Questão (C ód.: 28027) Pontos: 0,5 / 0,5

Com relação as afirmações abaixo, a respeito de lista lineares, assinale as Verdadeiras e as


Falsas. Indique a alternativa que representa a sequência correta:
( ) Nas listas encadeadas não precisamos saber previamente o número de elementos a serem
armazenados.

( ) Podemos aumentar e diminuir o tamanho da lista encadeada quando quisermos, enquanto que
( ) Podemos aumentar e diminuir o tamanho da lista encadeada quando quisermos, enquanto que
a lista sequencial não.

( ) Quando o número de acessos randômicos a uma área de armazenamento é muito maior que o
número de inserções e remoções de elementos armazenados, a organização dessa área de
armazenamento por meio de uma lista encadeada resulta em desempenho melhor que o
apresentado por organização feita usando uma lista linear.

V V V
FV F
V FV
V V F
FV V

9a Questão (C ód.: 27760) Pontos: 0,5 / 0,5

Estão entre algumas das possíveis formas de se estruturar dados:

Grafos, lista ordenada, algoritmos.


Grafos, lista ordenada, vetores.
Algoritmos, lista ordenada, vetores.
Grafos, algoritmos, fila.
Lista encadeada, vetores, algoritmos.

10a Questão (C ód.: 28114) Pontos: 0,5 / 0,5

As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:

Matriz
Vetor
Variável
Função
Registro

Pe ríodo de não visualização da prova: de sde 03/06/2013 até 18/06/2013.


Fechar

Avaliação: CCT0174_AV2_ » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: Eu macesse

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 6,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 15/06/2013 11:21:07

1a Questão (Cód.: 49148) Pontos: 1,0 / 1,0

Se a e b são variáveis inteiras (int) e p1 e p2 ponteiros para int, quais das seguintes expressões de atribuição
está errada?

p1 = &a;
*p2 = *p1;
*p2 = &b;
a = (*p1 + *p2)/b+1;
b = *p2;

2a Questão (Cód.: 31182) Pontos: 0,0 / 1,0

As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de forma a
facilitar a consulta de determinado elemento. Existem vários tipos de algoritmos para realizar a ordenação dos
elementos, onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre
os elementos. O trecho de código abaixo descreve o algoritmo chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca
mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo

MergeSort
QuickSort
Bolha
Inserção
Seleção
3a Questão (Cód.: 95243) Pontos: 0,5 / 0,5

A técnica LIFO, utilizada em programação estruturada, é fundamentada no conceito de:

Loop.
Pilha.
Fila.
Array.
Ponteiro.

4a Questão (Cód.: 58563) Pontos: 1,5 / 1,5

Como é a lógica do LIFO?

Resposta: Os ultimos elementos a entrar são os primeros elementos a sair, exemplo de pilha.

Gabarito: O primeiro que entra na pilha é o último que sai.

5a Questão (Cód.: 28115) Pontos: 0,5 / 0,5

A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura
chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de
uma estrutura do tipo Struct?

Nome da estrutura ponto nome do campo


Nome da estrutura ponto tipo do campo
Nome da estrutura seta tipo do campo
Nome da estrutura seta nome do campo
Nome da estrutura vírgula tipo do campo

6a Questão (Cód.: 19681) Pontos: 0,5 / 0,5

Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I
atende os não idosos. O sistema II atende os idosos. Nessa situação:

o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO.


tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados.
tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO.
tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados.
7a Questão (Cód.: 58562) Pontos: 1,5 / 1,5

Qual a diferença entre pilha e fila?

Resposta: Na Pilha, os ultimos elementos a entrar são os primeiros elementos a sair(LIFO) , e na fila os
primeiros elementos a entrar são os primeiros elemetos a sair(FIFO)

Gabarito: Pilha se caracteriza por ser uma estrutura de dados que são inseridos e retirados numa sequencia
semelhante as anilhas de alteres, isto é, usa a lógica LIFO. Já uma fila se caracteriza por ser um estrutura
semelhante a fila de banco, isto é, os dados vão chegando e sendo processados e retirados da estrutura. Essa
lógica é chamada de FIFO.

8a Questão (Cód.: 28027) Pontos: 0,0 / 0,5

Com relação as afirmações abaixo, a respeito de lista lineares, assinale as Verdadeiras e asFalsas. Indique a alternativa
que representa a sequência correta:

( ) Nas listas encadeadas não precisamos saber previamente o número de elementos a serem armazenados.

( ) Podemos aumentar e diminuir o tamanho da lista encadeada quando quisermos, enquanto que a lista sequencial não.

( ) Quando o número de acessos randômicos a uma área de armazenamento é muito maior que o número de inserções e
remoções de elementos armazenados, a organização dessa área de armazenamento por meio de uma lista
encadeada resulta em desempenho melhor que o apresentado por organização feita usando uma lista linear.

VVF
FVF
VFV
VVV
FVV

9a Questão (Cód.: 27760) Pontos: 0,5 / 0,5

Estão entre algumas das possíveis formas de se estruturar dados:

Grafos, lista ordenada, vetores.


Grafos, algoritmos, fila.
Algoritmos, lista ordenada, vetores.
Lista encadeada, vetores, algoritmos.
Grafos, lista ordenada, algoritmos.
10a Questão (Cód.: 19663) Pontos: 0,5 / 0,5

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

Por reforço e por referência.


Por memória e por disco.
Por valor e por referência
Por teste e por reforço.
Por inferência e por valor.
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_2012/02_AV1_201107064741 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201107064741 - ALESSANDRO SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 4,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 21/09/2012

a
1 Questão (Cód.: 27753) Pontos: 0,5 / 0,5

Podemos dizer que estrutura de dados é:

O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.

a
2 Questão (Cód.: 27934) Pontos: 0,5 / 0,5

Sobre o funcionamento da busca binária, é correto afirmar que dividindo seu vetor em duas metades.

Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.
Se o item for menor que o item que está na metade do vetor, procure na segunda metade, ou seja, a da
direita.
Se o item for maior que o item que está na metade do vetor procure na primeira metade, ou seja, a da
direita.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Se o item for menor que o item que está na metade do vetor, o item foi encontrado.

a
3 Questão (Cód.: 19660) Pontos: 0,5 / 0,5

Diferentes tipos de estrutura de dados são adequadas 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:

É um modo de deleção de dados em um computador.


É um modo de utilização de dados nos programas de computador.
É um modo particular de armazenamento e organização de dados em um computador de modo que possam
ser usados de modo eficiente.
São os nomes dados as variáveis na montagem de uma rotina.
É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser
usados de modo eficiente.

1 de 4 16/11/2012 16:17
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
4 Questão (Cód.: 27933) Pontos: 0,5 / 0,5

É correto afirmar sobre o funcionamento da busca sequencial.

Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no último índice do
meu vetor.
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no último índice do meu
vetor.
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no primeiro índice do
meu vetor.
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no meio do meu
vetor.
Os elementos são pesquisados aleatoriamente. Pior caso: o elemento está no último índice do meu vetor.

a
5 Questão (Cód.: 27648) Pontos: 0,0 / 1,0

Dado o seguinte código, escrito em C++, qual a saída do programa?

#include

using namespace std;

void func1 (float x) {

cout << "X: "<< x << endl;

x = 3.5;

cout << "X: "<< x << endl;

int main () {

float y=1.5;

cout << y << endl;

func1(y);

cout << y << endl;

return 0;

1.5 1.5
1.5 1.5 0
1.5 1.5 3.5 1.5
1.5 1.5 0
1.5 1.5 3.5 1.5 0

a
6 Questão (Cód.: 77785) Pontos: 1,0 / 1,0

É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado (chave)
com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com
sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca

2 de 4 16/11/2012 16:17
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a
busca continua na metade anterior do vetor.

A descrição apresentada trata-se do método denominado busca ......

randômica.
por contagem.
por comparação.
linear.
binária.

a
7 Questão (Cód.: 28035) Pontos: 1,0 / 1,0

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus
elementos o nome e a nota obtida pelo candidato. Deseja-se que este vetor seja ordenado pela nota, em ordem decrescente.
Sendo o vetor pequeno (poucos elementos), o programador responsável por desenvolver este algoritmo, escolheu um
método de ordenação que executa os seguintes passos:

Selecione candidato com maior nota entre todos e troque-o com o candidato que está na primeira posição do vetor;

Selecione o segundo maior e troque-o com o candidato que está na segunda posição;

Os passos descritos anteriormente são seguidos para a terceira nota, quarta nota e assim por diante até que reste
apenas um candidato.

O algoritmo utilizado pelo programador trata-se do método de ordenação denominado:

Bolha
Heapsort
Seleção
Inserção
Quicksort

a
8 Questão (Cód.: 27624) Pontos: 0,0 / 1,0

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?

TABLE
FIFO
RECORD
ARRAY
LIFO

a
9 Questão (Cód.: 94162) Pontos: 0,0 / 1,0

A implementação da pilha de chamadas e retorno de funções é um tópico muito importante. Além disso, estratégias
para o gerenciamento de outra área de memória chamada de heap são importantes para a comprensão de objetos
dinâmicos como ________________. Com base na afirmativa marque a opção correta para completá-la:

REPETIÇÕES
MATRIZES

3 de 4 16/11/2012 16:17
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

ESTRUTURAS
VETORES
CONDICIONAIS

a
10 Questão (Cód.: 31182) Pontos: 0,0 / 1,0

As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de forma a facilitar a
consulta de determinado elemento. Existem vários tipos de algoritmos para realizar a ordenação dos elementos,
onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. O
trecho de código abaixo descreve o algoritmo chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca
mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo

MergeSort
Bolha
QuickSort
Seleção
Inserção

4 de 4 16/11/2012 16:17
Fechar

Avaliação: CCT0174_AV1_201101233222 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201101233222 - ALINE MIRELLE SOUZA COSTA


Professor
ALEXANDRE SOARES ALVES Turma: 9002/AB
:
Nota da Prova: 4,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 19/09/2012

Questão (Cód.: 19684) Pontos: 1,0

Analise as seguintes afirmações: I. Na Passagem por Referência, o parâmetro que vai ser passado na chamada
da função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a
variável correspondente. II. Uma recursão consiste em uma função chamar ela mesma com argumentos sempre
do mesmo valor. III. Considerando-se o escopo das variáveis, é correto afirmar que uma variável é dita global
quando a sua passagem no momento da chamada de uma função se dá tanto por valor quanto por referência.
Uma variável é dita local quando esta passagem se dá apenas por valor. Indique a opção que contenha todas as
afirmações verdadeiras.

I e III.
II e III.
somente a alternativa I.
somente a alternativa e II.
I e II.

Questão (Cód.: 11223) Pontos: 0,0

As coleções de dados podem ser classificadas em estruturas lineares e estruturas não lineares. Nesse contexto,
é correto afirmar que

a lista é uma estrutura linear cuja implementação pode ser feita por meio de lista ligada em que as
estruturas são estáticas ou através de um array para permitir que as estruturas sejam ligadas
dinamicamente.
a fila de prioridade é uma versão especial da fila, uma estrutura não linear. Quando se retira um
elemento desta estrutura é selecionado aquele que tem maior prioridade, tendo portanto a ordenação do
tipo FIFO.
na tabela de Hash a chave é transformada num índice inteiro que é usado para acessar os dados. A
chave pode ser um string, desde que haja uma função que transforme essa chave num inteiro. É uma
estrutura linear.
tendo uma estrutura não linear, um array dinâmico é criado usando técnicas de alocação e gestão
dinâmica de memória. Pode ser redimensionado e é alocado durante o tempo de compilação.
na pilha, uma estrutura não linear, os elementos são colocados e retirados por um único lado da lista, ou
seja, pelo topo, que é alterado sempre que um elemento é adicionado ou retirado da pilha. É um tipo de
estrutura que tem a ordenação do tipo LILO.
3a Questão (Cód.: 31180) Pontos: 0,0 / 1,0

Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer
acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam
ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio
do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso
contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior
do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O
algoritmo que utiliza esta metodologia é:

Seleção
Bolha
Pesquisa sequencial
Pesquisa binária
Inserção

Questão (Cód.: 27591) Pontos: 0,5

O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?

inclusão
remoção
ordenação
overflow
underflow

Questão (Cód.: 27773) Pontos: 1,0

Ordene a coluna direita de acordo com a da esquerda, associando as características de implementação de


cada: (Podem existir mais de uma opção à direita para alguma da esquerda)

Indique a alternativa correta:

a-c-a-b-c-a
a-b-a-c-c-b
a-a-a-b-c-b
c-a-a-b-c-b
b-b-a-c-c-c
6a Questão (Cód.: 31182) Pontos: 0,0 / 1,0

As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de forma a
facilitar a consulta de determinado elemento. Existem vários tipos de algoritmos para realizar a ordenação dos
elementos, onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre
os elementos. O trecho de código abaixo descreve o algoritmo chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca
mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo

QuickSort
Seleção
MergeSort
Inserção
Bolha

Questão (Cód.: 19668) Pontos: 0,0

Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas


de dados Lineares e Não Lineares com suas respectivas coleções de dados.

correta associação entre os elementos das duas tabelas é:


a2, b1, c2, d1.
a1, b2, c1, d1.
a1, b1, c2, d2.
a2, b2, c1, d2.
a1, b1, c2, d1

Questão (Cód.: 19660) Pontos: 0,5

Diferentes tipos de estrutura de dados são adequadas 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:

É um modo particular de armazenamento e organização de dados em um computador de modo que


possam ser usados de modo eficiente.
É um modo de deleção de dados em um computador.
São os nomes dados as variáveis na montagem de uma rotina.
É um modo de utilização de dados nos programas de computador.
É um modo de distribuição e organização de dados em uma rede de computador de modo que possam
ser usados de modo eficiente.

Questão (Cód.: 19815) Pontos: 1,0

Observe o algorítmo a seguir, onde ocorre a passagem de parâmetro por valor e por
referência, respectivamente, deITALIA para FIAT e de FRANCA para HONDA.
Ao final do processamento, as variáveis ITALIA e FRANCA terão, respectivamente, os seguintes
valores:
97 e VERDADEIRO
25 e FALSO
85 e FALSO
85 e VERDADEIRO

97 e FALSO

a
Questão (Cód.: 19663) Pontos: 0,0

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

Por teste e por reforço.


Por valor e por referência
Por inferência e por valor.
Por reforço e por referência.
Por memória e por disco.
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_AV1_201107093228 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201107093228 - DENILSON PEREIRA DE MACEDO

Professor: ALEXANDRE SOARES ALVES Turma: 9001/AA

Nota da Prova: 3,0 de 8,0 Nota do Trabalho: Nota de Participação: 0,5 Data: 21/09/2012

a
1 Questão (Cód.: 27759) Pontos: 0,0 / 0,5

Podemos dizer que um container é:

O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
A saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.

a
2 Questão (Cód.: 28095) Pontos: 1,0 / 1,0

Ao remover um elemento armazenado em uma pilha é necessário a atualização da variável (Topo) indicadora de
posição. Qual das alternativas abaixo está correta?

Após a operação de remoção decrementa a variável indicadora de posição.


Antes a operação de remoção decrementa a variável indicadora de posição.
Antes da operação de remoção incrementa a variável indicadora de posição.
Após a operação de remoção incrementa a variável indicadora de posição.
Após a operação de remoção incrementa a variável indicadora de inicio.

a
3 Questão (Cód.: 27753) Pontos: 0,5 / 0,5

Podemos dizer que estrutura de dados é:

É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.

1 de 3 26/11/2012 13:12
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
4 Questão (Cód.: 27778) Pontos: 0,0 / 0,5

Em que aplicação se pode utilizar a "ordenação"?

Busca, Par mais próximo, Unicidade de elementos, Distribuição de ausência, Seleção e Casco conexo.
Busca, Par mais próximo, Unicidade de elementos, Distribuição de frequência, Seleção e Casco conexo.
Busca, Par mais próximo, Unicidade de elementos, Distribuição de ausência, Seleção e Casco convexo.
Busca, Par mais endógeno, Unicidade de elementos, Distribuição de frequência, Seleção e Casco convexo.
Busca, Par mais próximo, Unicidade de elementos, Distribuição de frequência, Seleção e Casco convexo.

a
5 Questão (Cód.: 27780) Pontos: 0,5 / 0,5

Marque a afirmativa correta para a "inserção incremental".

É um tipo de ordenação por intercalação


A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
É um tipo de sequenciação por intercalação.
Os pivôs são escolhidos aleatoriamente.

a
6 Questão (Cód.: 28107) Pontos: 0,0 / 1,0

Tanto a operação TOP (acessa topo), quanto à operação POP (remover), permite acessar o último elemento
armazenado em uma Pilha. Quanto à diferença entre ambas as operações em relação ao estado da Pilha é correto
afirmar:

A operação TOP remove um elemento e altera o estado da Pilha


Nenhuma das operações altera o estado da Pilha
Somente a operação POP altera o estado da Pilha
Ambas alteram o estado da Pilha
Somente a operação TOP altera o estado da Pilha

a
7 Questão (Cód.: 27980) Pontos: 1,0 / 1,0

Suponha uma listagem, contendo número de inscrição e pontuação (ordenada pelo número de inscrição) dos
candidatos para o cargo de Analista de Sistemas de uma grande empresa pública. São 1024 candidatos inscritos e o
sistema implementado para consulta do resultado, permite busca binária ou busca sequencial pelo número de
inscrição. O número máximo de comparações executadas se fosse utilizada a busca binária e se fosse utilizada
busca sequencial, respectivamente, seria de:

1024 e 512
9e9
512 e 1024
9 e 10
10 e 10

a
8 Questão (Cód.: 28135) Pontos: 0,0 / 1,0

Analisando o trecho do algoritmo abaixo,

2 de 3 26/11/2012 13:12
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

pode-se afirmar que se trata de uma operação de: Se topo < Maximo Então início Topo <- Topo + 1 Pilha[Topo] <-
Valor Sucesso <- verdadeiro Fim

Remoção de um elemento de uma estrutura FIFO


Exibição de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura FIFO
Remoção de um elemento de uma estrutura LIFO

a
9 Questão (Cód.: 30946) Pontos: 0,0 / 1,0

O registro de ativação de uma sub-rotina é o conjunto das informações que devem/precisam ser alocadas em
memória. Assinale abaixo a única opção que representa a composição destas informações.

( ) endereço de retorno / variáveis locais / parâmetros passados


( ) parâmetros passados / endereço inicial / endereço de retorno
( ) endereço de retorno / valor de retorno / endereço de ponteiro
( ) variáveis locais / valor de retorno / endereço de ponteiro
( ) endereço de ponteiro / variáveis locais / endereço inicial

a
10 Questão (Cód.: 94162) Pontos: 0,0 / 1,0

A implementação da pilha de chamadas e retorno de funções é um tópico muito importante. Além disso, estratégias
para o gerenciamento de outra área de memória chamada de heap são importantes para a comprensão de objetos
dinâmicos como ________________. Com base na afirmativa marque a opção correta para completá-la:

REPETIÇÕES
ESTRUTURAS
MATRIZES
VETORES
CONDICIONAIS

3 de 3 26/11/2012 13:12
Estácio http://bquestoes.estacio.br/entrada.asp?p0=143486640&p1=20110702...

Avaliação: CCT0174_2012/02_AV1_201107023904 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201107023904 - DULCIENE DA SILVA MARQUES

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 5,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 19/09/2012

a
1 Questão (Cód.: 28113) Pontos: 0,5 / 0,5

As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um espaço na
memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a declaração
desta forma estamos declarando uma variável do tipo:

Constante
Inteiro
Global
Local
Real

a
2 Questão (Cód.: 11223) Pontos: 0,0 / 1,0

As coleções de dados podem ser classificadas em estruturas lineares e estruturas não lineares. Nesse contexto, é
correto afirmar que

a lista é uma estrutura linear cuja implementação pode ser feita por meio de lista ligada em que as
estruturas são estáticas ou através de um array para permitir que as estruturas sejam ligadas
dinamicamente.
na pilha, uma estrutura não linear, os elementos são colocados e retirados por um único lado da lista, ou
seja, pelo topo, que é alterado sempre que um elemento é adicionado ou retirado da pilha. É um tipo de
estrutura que tem a ordenação do tipo LILO.
a fila de prioridade é uma versão especial da fila, uma estrutura não linear. Quando se retira um elemento
desta estrutura é selecionado aquele que tem maior prioridade, tendo portanto a ordenação do tipo FIFO.
na tabela de Hash a chave é transformada num índice inteiro que é usado para acessar os dados. A chave
pode ser um string, desde que haja uma função que transforme essa chave num inteiro. É uma estrutura
linear.
tendo uma estrutura não linear, um array dinâmico é criado usando técnicas de alocação e gestão dinâmica
de memória. Pode ser redimensionado e é alocado durante o tempo de compilação.

a
3 Questão (Cód.: 27753) Pontos: 0,5 / 0,5

Podemos dizer que estrutura de dados é:

A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma

1 de 1 16/11/2012 16:09
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_2012/02_AV1_201107101301 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201107101301 - EVANDRO FERREIRA DA SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 3,5 de 8,0 Nota do Trabalho: Nota de Participação: 0,5 Data: 22/09/2012

a
1 Questão (Cód.: 27753) Pontos: 0,5 / 0,5

Podemos dizer que estrutura de dados é:

O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.

a
2 Questão (Cód.: 28113) Pontos: 0,5 / 0,5

As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um espaço na
memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a declaração
desta forma estamos declarando uma variável do tipo:

Local
Constante
Global
Inteiro
Real

a
3 Questão (Cód.: 27582) Pontos: 0,0 / 0,5

Considere:

I - Os algoritmos de busca binária e de busca seqüencial executam processamento repetitivo.

II - Os algoritmos de busca binária e de busca seqüencial utilizam a técnica de recursão.

III - A busca seqüencial executa cada fase de repetição na forma de uma subtarefa da fase anterior.

IV - A busca binária trabalha com uma forma circular de repetição. Está correto o que consta em:

(D) I, II, III e IV.


(E) I e IV, apenas.
(A) I, apenas.
(C) I e II, apenas.

1 de 4 16/11/2012 15:49
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

(B) II, apenas.

a
4 Questão (Cód.: 28143) Pontos: 0,5 / 0,5

Os algoritmos de busca são muito utilizados em estrutura de dados. Sendo assim, o algoritmo que realiza a busca
em vetores e que exige acesso aleatório aos elementos do mesmo e que parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca comparando o elemento que se deseja com o elemento
do meio do vetor, é chamado de:

Pesquisa binária
Tabela Hash
Pesquisa sequêncial
Pesquisa de seleção
Pesquisa ordenada

a
5 Questão (Cód.: 27773) Pontos: 0,0 / 1,0

Ordene a coluna direita de acordo com a da esquerda, associando as características de implementação de


cada: (Podem existir mais de uma opção à direita para alguma da esquerda)

Indique a alternativa correta:

a-b-a-c-c-b
a-a-a-b-c-b
b-b-a-c-c-c
a-c-a-b-c-a
c-a-a-b-c-b

a
6 Questão (Cód.: 19684) Pontos: 0,0 / 1,0

Analise as seguintes afirmações: I. Na Passagem por Referência, o parâmetro que vai ser passado na chamada da
função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a variável
correspondente. II. Uma recursão consiste em uma função chamar ela mesma com argumentos sempre do mesmo
valor. III. Considerando-se o escopo das variáveis, é correto afirmar que uma variável é dita global quando a sua
passagem no momento da chamada de uma função se dá tanto por valor quanto por referência. Uma variável é dita
local quando esta passagem se dá apenas por valor. Indique a opção que contenha todas as afirmações
verdadeiras.

somente a alternativa I.
II e III.
I e III.
I e II.
somente a alternativa e II.

2 de 4 16/11/2012 15:49
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
7 Questão (Cód.: 28135) Pontos: 0,0 / 1,0

Analisando o trecho do algoritmo abaixo,

pode-se afirmar que se trata de uma operação de: Se topo < Maximo Então início Topo <- Topo + 1 Pilha[Topo] <-
Valor Sucesso <- verdadeiro Fim

Exibição de um elemento em uma estrutura LIFO


Inserção de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura FIFO
Remoção de um elemento de uma estrutura LIFO
Remoção de um elemento de uma estrutura FIFO

a
8 Questão (Cód.: 28034) Pontos: 1,0 / 1,0

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de
seus elementos o número de inscrição, o nome e a nota obtida pelo candidato. Este vetor está ordenado pelo
número de inscrição. Para realização de uma consulta que, dado um número de inscrição, apresenta o nome e nota
do candidato, um programador utilizou um algoritmo de busca que realiza sucessivas divisões no vetor,
comparando o número de inscrição procurado com o número de inscrição do candidato posicionado no meio do
vetor. Se o candidato posicionado do meio do vetor tiver o número de inscrição igual ao número de inscrição
procurado, a busca termina com sucesso. Caso contrário, se candidato posicionado do meio do vetor tiver número
de inscrição menor que o procurado, então a busca continua na metade posterior do vetor. E finalmente, se
candidato posicionado do meio do vetor tiver número de inscrição maior que o procurado, a busca continua na
metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método denominado busca:

randômica.
por comparação.
por contagem.
linear.
binária.

a
9 Questão (Cód.: 31184) Pontos: 0,0 / 1,0

Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação deve
rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta que cita o
algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre os elementos
que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido entre os ordenados
movendo-se os elementos maiores que ele uma posição para a direita e posteriormente inserindo-o na posição
vaga".

Seleção
MergeSort
Inserção
QuickSort

3 de 4 16/11/2012 15:49
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Bolha

a
10 Questão (Cód.: 30945) Pontos: 1,0 / 1,0

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;

pesquisa binária
pesquisa indexada
pesquisa cadeias indexada
pesquisa de cadeias
pesquisa sequencial

4 de 4 16/11/2012 15:49
Pontos: 0,5
1a Questão (Cód.: 27759)
/ 0,5
Podemos dizer que um container é:

O que permite o armazenamento e a recuperação de dados independentemente de seu


conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída
previamente determinada.
A saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se
calcular uma solução do problema.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as
modificações.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se
calcular uma solução do problema.

Pontos: 0,0
2a Questão (Cód.: 11223)
/ 1,0
As coleções de dados podem ser classificadas em estruturas lineares e estruturas não lineares. Nesse
contexto, é correto afirmar que

a lista é uma estrutura linear cuja implementação pode ser feita por meio de lista ligada em
que as estruturas são estáticas ou através de um array para permitir que as estruturas sejam
ligadas dinamicamente.
a fila de prioridade é uma versão especial da fila, uma estrutura não linear. Quando se retira
um elemento desta estrutura é selecionado aquele que tem maior prioridade, tendo portanto a
ordenação do tipo FIFO.
na pilha, uma estrutura não linear, os elementos são colocados e retirados por um único lado
da lista, ou seja, pelo topo, que é alterado sempre que um elemento é adicionado ou retirado
da pilha. É um tipo de estrutura que tem a ordenação do tipo LILO.
tendo uma estrutura não linear, um array dinâmico é criado usando técnicas de alocação e
gestão dinâmica de memória. Pode ser redimensionado e é alocado durante o tempo de
compilação.
na tabela de Hash a chave é transformada num índice inteiro que é usado para acessar os
dados. A chave pode ser um string, desde que haja uma função que transforme essa chave
num inteiro. É uma estrutura linear.

Pontos: 0,0
3a Questão (Cód.: 27971)
/ 0,5
Com relação as listas lineares sequenciais:

I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array.
II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice.

III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.

Apenas as afirmações I e II estão corretas.


Apenas a afirmação I está correta.
Apenas as afirmações II está corretas.
Apenas as afirmações II e III estão corretas.
Apenas as afirmações I e III estão corretas.

Pontos: 0,5
4a Questão (Cód.: 27787)
/ 0,5
Marque a afirmativa correta para a "Busca ou pesquisa binária".

Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de


elementos.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de
elementos.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio
e verificando se o dado está no meio ou, antes do meio ou depois do meio.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou
decrescente.

Pontos: 1,0
5a Questão (Cód.: 28148)
/ 1,0
A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder
armazenar valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis
locais e globais. Sendo assim, qual das situações abaixo representa melhor o conceito das variáveis
globais.

Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser
apresentado em qualquer outra função do programa.
Em uma função "resul" tem-se uma variável ali declarada por 'T' que recebe o valor inteiro 5.
Ao tentar chamar esta variável em outra função é mencionado um warning.
Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor
poderemos imprimir esta variável em qualquer outra função do programa mostrando o valor
atribuído na função "mostra".
Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta
variável em outra função, onde tambem está declarada a variável 'Y', será acusado um erro de
compilação.
Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome
apresentando o mesmo valor.

Pontos: 0,0
6a Questão (Cód.: 28126)
/ 1,0
As funções em programação permitem que se possa realizar a modularização do código diminuindo
assim sua complexidade. Analise a função abaixo e assinale alternativa que descreve corretamente o
tipo de função:
int funcao (int x){
if(x == 0)
return 0;
else
funcao(x-1);
}

Condicional de seleção
Passagem por referência
Recursiva
Sequencial
Igual a zero

Pontos: 0,0
7a Questão (Cód.: 95244)
/ 1,0
Sobre estrutura de dados, identifique o que está correto afirmar.

I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são
colocados e retirados por um único lado e são ordenados pelo princípio LIFO (last in first out).
Assim, sempre que um elemento é adicionado ou retirado seu topo é alterado.

II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na
recursividade e pelos compiladores, na passagem de parâmetros para as funções.

III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de
diferentes tipos.

IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme
o elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente.
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são
ordenados pelo princípio LIFO (last in first out).

II, III, IV e V.
I, III e V.
I, III, IV e V.
II, IV e V.
I, II e III.

Pontos: 0,5
8a Questão (Cód.: 27753)
/ 0,5
Podemos dizer que estrutura de dados é:

É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se
calcular uma solução do problema.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se
calcular uma solução do problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída
previamente determinada.
O que permite o armazenamento e a recuperação de dados independentemente de seu
conteúdo.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as
modificações.

Pontos: 0,0
9a Questão (Cód.: 31184)
/ 1,0
Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de
ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a
alternativa correta que cita o algoritmo cuja descrição é: "considera cada elemento uma vez
inserindo-o em seu lugar correto entre os elementos que já estão em ordem". E o seu passo a passo
pode ser descrito como: "o elemento é inserido entre os ordenados movendo-se os elementos
maiores que ele uma posição para a direita e posteriormente inserindo-o na posição vaga".

Seleção
Inserção
QuickSort
MergeSort
Bolha
Pontos: 0,0
10a Questão (Cód.: 30945)
/ 1,0
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;

pesquisa de cadeias
pesquisa sequencial
pesquisa binária
pesquisa cadeias indexada
pesquisa indexada
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_2012/02_AV1_201107101311 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201107101311 - JOSE WILSON FARIA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 6,0 de 8,0 Nota do Trabalho: Nota de Participação: 0,5 Data: 21/09/2012

a
1 Questão (Cód.: 27759) Pontos: 0,5 / 0,5

Podemos dizer que um container é:

O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.


A saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.

a
2 Questão (Cód.: 27978) Pontos: 0,0 / 0,5

O método de ordenação que compara pares de chaves de ordenação, trocando os elementos correspondentes caso
estejam fora de ordem é o método:

Heapsort
inserção
seleção
bolha
QuickSort

a
3 Questão (Cód.: 27971) Pontos: 0,0 / 0,5

Com relação as listas lineares sequenciais:

I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array.

II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice.

III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.

Apenas as afirmações I e III estão corretas.


Apenas as afirmações I e II estão corretas.
Apenas as afirmações II e III estão corretas.
Apenas a afirmação I está correta.
Apenas as afirmações II está corretas.

1 de 4 16/11/2012 16:26
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
4 Questão (Cód.: 27787) Pontos: 0,5 / 0,5

Marque a afirmativa correta para a "Busca ou pesquisa binária".

Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando
se o dado está no meio ou, antes do meio ou depois do meio.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando
se o dado está no meio ou, antes do meio ou depois do meio.

a
5 Questão (Cód.: 28126) Pontos: 0,0 / 1,0

As funções em programação permitem que se possa realizar a modularização do código diminuindo assim sua
complexidade. Analise a função abaixo e assinale alternativa que descreve corretamente o tipo de função:
int funcao (int x){
if(x == 0)
return 0;
else
funcao(x-1);
}

Igual a zero
Recursiva
Sequencial
Condicional de seleção
Passagem por referência

a
6 Questão (Cód.: 27980) Pontos: 1,0 / 1,0

Suponha uma listagem, contendo número de inscrição e pontuação (ordenada pelo número de inscrição) dos
candidatos para o cargo de Analista de Sistemas de uma grande empresa pública. São 1024 candidatos inscritos e o
sistema implementado para consulta do resultado, permite busca binária ou busca sequencial pelo número de
inscrição. O número máximo de comparações executadas se fosse utilizada a busca binária e se fosse utilizada
busca sequencial, respectivamente, seria de:

9 e 10
1024 e 512
512 e 1024
10 e 10
9e9

a
7 Questão (Cód.: 28035) Pontos: 1,0 / 1,0

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus
elementos o nome e a nota obtida pelo candidato. Deseja-se que este vetor seja ordenado pela nota, em ordem decrescente.
Sendo o vetor pequeno (poucos elementos), o programador responsável por desenvolver este algoritmo, escolheu um
método de ordenação que executa os seguintes passos:

Selecione candidato com maior nota entre todos e troque-o com o candidato que está na primeira posição do vetor;

Selecione o segundo maior e troque-o com o candidato que está na segunda posição;

2 de 4 16/11/2012 16:26
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Os passos descritos anteriormente são seguidos para a terceira nota, quarta nota e assim por diante até que reste
apenas um candidato.

O algoritmo utilizado pelo programador trata-se do método de ordenação denominado:

Heapsort
Quicksort
Seleção
Bolha
Inserção

a
8 Questão (Cód.: 31184) Pontos: 1,0 / 1,0

Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação deve
rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta que cita o
algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre os elementos
que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido entre os ordenados
movendo-se os elementos maiores que ele uma posição para a direita e posteriormente inserindo-o na posição
vaga".

MergeSort
Seleção
QuickSort
Bolha
Inserção

a
9 Questão (Cód.: 28148) Pontos: 1,0 / 1,0

A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder armazenar
valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis locais e globais. Sendo
assim, qual das situações abaixo representa melhor o conceito das variáveis globais.

Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado em
qualquer outra função do programa.
Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome apresentando o
mesmo valor.
Em uma função "resul" tem-se uma variável ali declarada por 'T' que recebe o valor inteiro 5. Ao tentar
chamar esta variável em outra função é mencionado um warning.
Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor poderemos
imprimir esta variável em qualquer outra função do programa mostrando o valor atribuído na função
"mostra".
Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta variável em
outra função, onde tambem está declarada a variável 'Y', será acusado um erro de compilação.

a
10 Questão (Cód.: 30945) Pontos: 1,0 / 1,0

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) {

3 de 4 16/11/2012 16:26
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

meio = (ini + fim)/2;

if (v[meio] == valor) return meio;

if (valor < v[meio]) fim = meio -1;

else ini = meio+1;

return -1;

pesquisa de cadeias
pesquisa binária
pesquisa cadeias indexada
pesquisa indexada
pesquisa sequencial

4 de 4 16/11/2012 16:26
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_2012/02_AV1_201107023891 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201107023891 - EMANUEL PHILLIP PRUDENCIO DA SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 3,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 20/09/2012

a
1 Questão (Cód.: 27978) Pontos: 0,5 / 0,5

O método de ordenação que compara pares de chaves de ordenação, trocando os elementos correspondentes caso
estejam fora de ordem é o método:

seleção
bolha
QuickSort
inserção
Heapsort

a
2 Questão (Cód.: 27760) Pontos: 0,0 / 0,5

Estão entre algumas das possíveis formas de se estruturar dados:

Algoritmos, lista ordenada, vetores.


Lista encadeada, vetores, algoritmos.
Grafos, lista ordenada, vetores.
Grafos, lista ordenada, algoritmos.
Grafos, algoritmos, fila.

a
3 Questão (Cód.: 27582) Pontos: 0,0 / 0,5

Considere:

I - Os algoritmos de busca binária e de busca seqüencial executam processamento repetitivo.

II - Os algoritmos de busca binária e de busca seqüencial utilizam a técnica de recursão.

III - A busca seqüencial executa cada fase de repetição na forma de uma subtarefa da fase anterior.

IV - A busca binária trabalha com uma forma circular de repetição. Está correto o que consta em:

(A) I, apenas.
(C) I e II, apenas.
(E) I e IV, apenas.
(B) II, apenas.
(D) I, II, III e IV.

1 de 4 29/10/2012 09:14
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
4 Questão (Cód.: 28143) Pontos: 0,5 / 0,5

Os algoritmos de busca são muito utilizados em estrutura de dados. Sendo assim, o algoritmo que realiza a busca
em vetores e que exige acesso aleatório aos elementos do mesmo e que parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca comparando o elemento que se deseja com o elemento
do meio do vetor, é chamado de:

Pesquisa sequêncial
Pesquisa binária
Pesquisa de seleção
Tabela Hash
Pesquisa ordenada

a
5 Questão (Cód.: 27773) Pontos: 1,0 / 1,0

Ordene a coluna direita de acordo com a da esquerda, associando as características de implementação de


cada: (Podem existir mais de uma opção à direita para alguma da esquerda)

Indique a alternativa correta:

c-a-a-b-c-b
a-c-a-b-c-a
a-b-a-c-c-b
a-a-a-b-c-b
b-b-a-c-c-c

a
6 Questão (Cód.: 28034) Pontos: 1,0 / 1,0

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de
seus elementos o número de inscrição, o nome e a nota obtida pelo candidato. Este vetor está ordenado pelo
número de inscrição. Para realização de uma consulta que, dado um número de inscrição, apresenta o nome e nota
do candidato, um programador utilizou um algoritmo de busca que realiza sucessivas divisões no vetor,
comparando o número de inscrição procurado com o número de inscrição do candidato posicionado no meio do
vetor. Se o candidato posicionado do meio do vetor tiver o número de inscrição igual ao número de inscrição
procurado, a busca termina com sucesso. Caso contrário, se candidato posicionado do meio do vetor tiver número
de inscrição menor que o procurado, então a busca continua na metade posterior do vetor. E finalmente, se
candidato posicionado do meio do vetor tiver número de inscrição maior que o procurado, a busca continua na
metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método denominado busca:

linear.
randômica.
binária.
por comparação.
por contagem.

2 de 4 29/10/2012 09:14
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
7 Questão (Cód.: 19684) Pontos: 0,0 / 1,0

Analise as seguintes afirmações: I. Na Passagem por Referência, o parâmetro que vai ser passado na chamada da
função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a variável
correspondente. II. Uma recursão consiste em uma função chamar ela mesma com argumentos sempre do mesmo
valor. III. Considerando-se o escopo das variáveis, é correto afirmar que uma variável é dita global quando a sua
passagem no momento da chamada de uma função se dá tanto por valor quanto por referência. Uma variável é dita
local quando esta passagem se dá apenas por valor. Indique a opção que contenha todas as afirmações
verdadeiras.

somente a alternativa e II.


I e II.
II e III.
somente a alternativa I.
I e III.

a
8 Questão (Cód.: 28128) Pontos: 0,0 / 1,0

Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação
posterior de itens de conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque
corretamente a alternativa que apresenta o código do método de seleção.

int ordena(float v[], float valor, int n) {


int ini = 0, fim = n-1, meio;
while (ini >= fim){
meio = ini/2;
if (v[meio] == valor)
return meio;
if (valor < v[meio])
fim = meio -1;
else
ini = meio+1;
}
int ordena(float v[], float valor, int n){
for (int i = 0; i < n; i++)
if (v[i] == valor)
return i;
return -1;
}
void ordena (int v[], int n){
int i, j, aux;
for (j = 1; j < n; j++)
for (i=j; i > 0 && v[i-1]> v[i]; i--){
aux = v[i-1];
v[i-1] = v[i];
v[i] = aux;
}
}
void ordena(int v[], int n){
int i, j, menor, aux;
for (j = 0; j < n-1; j++) {
for (i = j+1; i < n; i++) {
if (v[i] < v[j]) {
aux = v[j];
v[j] = v[i];
v[i] = aux;
}
}
}
}
int ordena(float v[], float valor, int n) {
int ini = 0, fim = n -1, meio;
while (ini <= fim){
meio = (ini + fim)/2;

3 de 4 29/10/2012 09:14
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

if (v[meio] == valor)
return meio;
if (valor < v[meio])
fim = meio -1;
else
ini = meio+1;
}
return -1;
}

a
9 Questão (Cód.: 94162) Pontos: 0,0 / 1,0

A implementação da pilha de chamadas e retorno de funções é um tópico muito importante. Além disso, estratégias
para o gerenciamento de outra área de memória chamada de heap são importantes para a comprensão de objetos
dinâmicos como ________________. Com base na afirmativa marque a opção correta para completá-la:

MATRIZES
REPETIÇÕES
CONDICIONAIS
VETORES
ESTRUTURAS

a
10 Questão (Cód.: 31182) Pontos: 0,0 / 1,0

As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de forma a facilitar a
consulta de determinado elemento. Existem vários tipos de algoritmos para realizar a ordenação dos elementos,
onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. O
trecho de código abaixo descreve o algoritmo chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca
mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo

MergeSort
Inserção
Seleção
Bolha
QuickSort

4 de 4 29/10/2012 09:14
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0260_AV1_201201069114 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201201069114 - RODRIGO MACHADO DA SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9001/AA

Nota da Prova: 0,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 17/09/2012

1 a Questão (Cód.: 28113) Pontos: 0,0 / 0,5

As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um
espaço na memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a
declaração desta forma estamos declarando uma variável do tipo:

Global
Real
Local
Constante
Inteiro

2 a Questão (Cód.: 28114) Pontos: 0,5 / 0,5

As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:

Função
Matriz
Registro
Vetor
Variável

3 a Questão (Cód.: 27582) Pontos: 0,0 / 0,5

Considere:

I - Os algoritmos de busca binária e de busca seqüencial executam processamento repetitivo.

II - Os algoritmos de busca binária e de busca seqüencial utilizam a técnica de recursão.

III - A busca seqüencial executa cada fase de repetição na forma de uma subtarefa da fase anterior.

IV - A busca binária trabalha com uma forma circular de repetição. Está correto o que consta em:

(C) I e II, apenas.


(B) II, apenas.
(A) I, apenas.
(E) I e IV, apenas.
(D) I, II, III e IV.

1 de 5 12/11/2012 09:18
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

4 a Questão (Cód.: 27602) Pontos: 0,0 / 0,5

Considere uma estrutura de dados do tipo vetor. Com respeito a tal estrutura, é correto que seus componentes
são caracteristicamente:

Homogêneos e com acesso indexado-sequencial.


Heterogêneos e com acesso FIFO.
Heterogêneos e com acesso indexado-sequencial.
Heterogêneos e com acesso LIFO.
Homogêneos e de acesso aleatório por intermédio de índices.

5 a Questão (Cód.: 27617) Pontos: 0,0 / 1,0

O seguinte trecho de programa abaixo representa qual tipo de estrutura de ordenação?

void ordenar(float v[], int n) // n é o no. de elementos em v

int i , // índice

aux, // auxiliar para troca

trocou = true,

fim = n - 1;

while (trocou)

trocou = false; // sinaliza que é falso que trocou

for (i = 0; i < fim; i++)

if (v[i] > v[i+1])

aux = v[i];

v[i] = v[i+1];

v[i+1] = aux;

// sinaliza que é verdadeiro que trocou

trocou = true;

} // fim if

} // fim for

fim--; // decrementa o fim

} // fim while

} // fim da função

Bublesort
Shellsort
Mergesort
Heapsort
Quicksort

2 de 5 12/11/2012 09:18
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

6 a Questão (Cód.: 28144) Pontos: 0,0 / 1,0

Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de
funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e
marque corretamente a alternativa que descreve as funcionalidades desta.

int funcao(float v[], float vl, int n)


{
for (int i = 0; i < n; i++)
if (v[i] == vl)
return i;
return -1;
}

Retorna -1 se o valor de n foi encontrado.


Retorna o valor de vl se o valor n foi encontrado.
Retorna -1 se o valor de vl estiver dentro de v.
Resulta em erro, se o valor de vl não estiver dentro de v.
Retorna a posição de v se o valor vl foi encontrado.

7 a Questão (Cód.: 95244) Pontos: 0,0 / 1,0

Sobre estrutura de dados, identifique o que está correto afirmar.

I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e
retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um
elemento é adicionado ou retirado seu topo é alterado.

II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e
pelos compiladores, na passagem de parâmetros para as funções.

III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos.

IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o
elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente.
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo
princípio LIFO (last in first out).

II, IV e V.
I, II e III.
II, III, IV e V.
I, III, IV e V.
I, III e V.

8 a Questão (Cód.: 31180) Pontos: 0,0 / 1,0

Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer
acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam
ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio
do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso
contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior
do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O
algoritmo que utiliza esta metodologia é:

Inserção
Seleção
Pesquisa binária
Bolha
Pesquisa sequencial

3 de 5 12/11/2012 09:18
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

9 a Questão (Cód.: 28128) Pontos: 0,0 / 1,0

Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação
posterior de itens de conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque
corretamente a alternativa que apresenta o código do método de seleção.

void ordena(int v[], int n){


int i, j, menor, aux;
for (j = 0; j < n-1; j++) {
for (i = j+1; i < n; i++) {
if (v[i] < v[j]) {
aux = v[j];
v[j] = v[i];
v[i] = aux;
}
}
}
}
int ordena(float v[], float valor, int n){
for (int i = 0; i < n; i++)
if (v[i] == valor)
return i;
return -1;
}
int ordena(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;
}
int ordena(float v[], float valor, int n) {
int ini = 0, fim = n-1, meio;
while (ini >= fim){
meio = ini/2;
if (v[meio] == valor)
return meio;
if (valor < v[meio])
fim = meio -1;
else
ini = meio+1;
}
void ordena (int v[], int n){
int i, j, aux;
for (j = 1; j < n; j++)
for (i=j; i > 0 && v[i-1]> v[i]; i--){
aux = v[i-1];
v[i-1] = v[i];
v[i] = aux;
}
}

10a Questão (Cód.: 31182) Pontos: 0,0 / 1,0

As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de forma a
facilitar a consulta de determinado elemento. Existem vários tipos de algoritmos para realizar a ordenação dos
elementos, onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre
os elementos. O trecho de código abaixo descreve o algoritmo chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca

4 de 5 12/11/2012 09:18
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo

Inserção
MergeSort
Seleção
QuickSort
Bolha

5 de 5 12/11/2012 09:18
Detalhes Fechar

Avaliação: CCT0260_2012/02_AV1_201201174082
Tipo de Avaliação: AV1
Aluno:
Professor: SERGIO DE OLIVEIRA SANTOS Turma: 9001/AA
Nota da Prova: 5,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 21/09/2012

1.) FUNÇÃO Pontos: 0,5 / 0,5


Assinale a opção certa.

Quando não se escreve o protótipo de uma função ...

A chamada da função poderá ser feita em qualquer hipótese.


O programa não funcionará de forma alguma.
A chamada da função não poderá ser feita em qualquer hipótese.
É preciso definir a função antes do programa principal.
A definição da função deverá ser escrita, obrigatoriamente, após o programa principal.

2.) INTRODUÇÃO Pontos: 0,5 / 0,5


Diferentes tipos de estrutura de dados são adequadas 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:

É um modo de utilização de dados nos programas de computador.


São os nomes dados as variáveis na montagem de uma rotina.
É um modo de distribuição e organização de dados em uma rede de computador de modo que
possam ser usados de modo eficiente.
É um modo particular de armazenamento e organização de dados em um computador de modo
que possam ser usados de modo eficiente.
É um modo de deleção de dados em um computador.

3.) UNIDADE 3: ORDENAÇÃO Pontos: 0,5 / 0,5


Marque a afirmativa correta para a "Ordenação em Listas Lineares Sequenciais".

Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio
e verificando se o dado está no meio ou, antes do meio ou depois do meio.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou
decrescente.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de
elementos.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de
elementos.

Pontos: 0,5 / 0,5


4.) UNIDADE 3: ORDENAÇÃO
Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada".

Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de


elementos.
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio
e verificando se o dado está no meio ou, antes do meio ou depois do meio.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou
decrescente.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de
elementos.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.

5.) UNIDADE 3: ORDENAÇÃO Pontos: 0,0 / 1,0


Qual a importância de se entender a "ordenação" de dados ?

A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-
se conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-
se conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação,
tem-se conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação,
tem-se conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação,
tem-se conhecimento para manter outros problemas.

6.) LISTAS Pontos: 1,0 / 1,0


Ao remover um elemento armazenado em uma pilha é necessário a atualização da variável (Topo)
indicadora de posição. Qual das alternativas abaixo está correta?

Antes da operação de remoção incrementa a variável indicadora de posição.


Antes a operação de remoção decrementa a variável indicadora de posição.
Após a operação de remoção decrementa a variável indicadora de posição.
Após a operação de remoção incrementa a variável indicadora de posição.
Após a operação de remoção incrementa a variável indicadora de inicio.

7.) UNIDADE 3: Pontos: 0,0 / 1,0


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?

ARRAY
LIFO
FIFO
RECORD
TABLE

8.) ESTRUTURA DE DADOS Pontos: 1,0 / 1,0


Sobre estrutura de dados, identifique o que está correto afirmar.

I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são
colocados e retirados por um único lado e são ordenados pelo princípio LIFO (last in first out).
Assim, sempre que um elemento é adicionado ou retirado seu topo é alterado.

II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na
recursividade e pelos compiladores, na passagem de parâmetros para as funções.

III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de
diferentes tipos.

IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme
o elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente.
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são
ordenados pelo princípio LIFO (last in first out).

I, III e V.
II, IV e V.
I, III, IV e V.
II, III, IV e V.
I, II e III.

9.) UNIDADE 2: FUNÇÕES Pontos: 0,0 / 1,0


O registro de ativação de uma sub-rotina é o conjunto das informações que devem/precisam ser
alocadas em memória. Assinale abaixo a única opção que representa a composição destas
informações.

( ) endereço de ponteiro / variáveis locais / endereço inicial


( ) endereço de retorno / valor de retorno / endereço de ponteiro
( ) variáveis locais / valor de retorno / endereço de ponteiro
( ) endereço de retorno / variáveis locais / parâmetros passados
( ) parâmetros passados / endereço inicial / endereço de retorno

10.) UNIDADE 3 Pontos: 1,0 / 1,0


Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e
requer acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do
vetor estejam ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado
com o elemento do meio do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o
desejado, a busca termina. Caso contrário, se o elemento do meio vier antes do elemento buscado,
então a busca continua na metade posterior do vetor. E se o elemento do meio vier depois da chave,
a busca continua na metade anterior do vetor. O algoritmo que utiliza esta metodologia é:

Bolha
Inserção
Pesquisa sequencial
Pesquisa binária
Seleção
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_AV2_201107064741 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: 201107064741 - ALESSANDRO SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 4,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 21/11/2012

a
1 Questão (Cód.: 58564) Pontos: 1,5 / 1,5

Como é a lógica do FIFO?

Resposta: ESTRUTURA LINEAR ONDE A INCLUSÃO É FEITA EM UMA ESTREMIDADE E A EXCLUSÃO EM OUTRA.

a
2 Questão (Cód.: 56270) Pontos: 0,0 / 1,5

Considere uma lista simplesmente encadeada não circular de inteiros e o tipo


struct no {
int dado;
struct no *link;
};
Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante.
Protótipo : no *inverter(no *ini); //ini aponta para o início da lista

Resposta:

a
3 Questão (Cód.: 27578) Pontos: 0,0 / 0,5

Diga, para o programa abaixo, qual a opção que melhor representa a saída em tela. (Considere que o programa
será compilado sem erros, e irá executar também sem problemas).

#include

using namespace std;

void FuncX( int x, int *y )

int tmp;

tmp = *y;

*y = x * 2;

1 de 4 26/11/2012 11:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

cout << " "<< v[i] <<" "<


x = tmp+1;

int main()

int a = 13, b = 10;

FuncX( a-3, &b );

cout<<"Valores: "<< a<<"\t"<< b<

system("pause");

Valores: 10, 20
Valores: 13, 20
Valores: 10, 10
Valores: 20, 10
Valores: 13, 10

a
4 Questão (Cód.: 27935) Pontos: 0,5 / 0,5

Sobre o funcionamento da busca binária, é incorreto afirmar que dividindo seu vetor em duas metades.

Se o item for menor ao item que está na primeira posição do vetor, o item não foi encontrado.
Se o item for menor que o item que está na metade do vetor, procure na primeira metade, ou seja, a da
esquerda.
Se o item for maior que o item que está na metade do vetor procure na segunda metade, ou seja, a da
direita.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.

a
5 Questão (Cód.: 19678) Pontos: 1,0 / 1,0

Uma lista ligada é uma estrutura que corresponde a uma sequência lógica de entradas ou nós. Cada nó armazena a
localização do próximo elemento na sequência, ou seja, de seu nó sucessor. Nessa estrutura,

para estabelecer a ligação entre um nó já pertencente a uma lista e um novo nó, basta fazer com que o
novo nó referencie no, campo next, o nó que anteriormente era referenciado pelo nó original, desde que
esse campo não tenha o valor nulo.
o armazenamento de uma lista requer uma área contígua de memória para permitir a otimização no
processamento de criação e remoção de nós da lista.
enquanto a entrada que determina o topo da lista é mantida em um nó descritor dessa lista, a entrada que
marca o fim da lista é mantida fora do descritor.
o armazenamento de uma lista não requer uma área contígua de memória. Como listas são estruturas
dinâmicas, normalmente são definidos procedimentos que permitem criar e remover nós na memória.
a existência de um ponteiro apontando para o 1º elemento e outro para o fim da lista permite que a
inserção ou deleção de dados de um nó que esteja no meio da lista seja rapidamente executada.

a
6 Questão (Cód.: 95248) Pontos: 0,0 / 0,5

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

2 de 4 26/11/2012 11:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Deque.
Boyer-Moore.
Autômato.
Árvore.
Shift-and.

a
7 Questão (Cód.: 28144) Pontos: 0,0 / 0,5

Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de funções
que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e marque
corretamente a alternativa que descreve as funcionalidades desta.

int funcao(float v[], float vl, int n)


{
for (int i = 0; i < n; i++)
if (v[i] == vl)
return i;
return -1;
}

Retorna -1 se o valor de n foi encontrado.


Retorna a posição de v se o valor vl foi encontrado.
Retorna -1 se o valor de vl estiver dentro de v.
Retorna o valor de vl se o valor n foi encontrado.
Resulta em erro, se o valor de vl não estiver dentro de v.

a
8 Questão (Cód.: 19663) Pontos: 1,0 / 1,0

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

Por reforço e por referência.


Por teste e por reforço.
Por memória e por disco.
Por inferência e por valor.
Por valor e por referência

a
9 Questão (Cód.: 27988) Pontos: 0,0 / 0,5

Considerando a estrutura de fila circular vista em sala, que define as seguintes operações com uma fila:

int enfileirar(int v[], int valor, int *fim) - insere um elemento na fila indicada por v.

int desenfileirar(int v[], int *inicio, int fim, float &valor) - remove um elemento da fila indicada por v.

Supondo que foram realizadas as seguintes operações numa fila circular (implementada em uma estrutura linear
sequencial) de números inteiros de tamanho 5, que inicialmente se encontrava vazia:

enfileirar (minhaFila[], 10, fim);

enfileirar (minhaFila[], 20, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 30, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

3 de 4 26/11/2012 11:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

enfileirar (minhaFila[], 40, fim);

enfileirar (minhaFila[], 50, fim);

enfileirar (minhaFila[], 60, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 70, fim);

Qual a posição, dentro da estrutura linear sequencial (vetor - que representa a fila), que se encontra o último
elemento inserido na fila?

4
7
6
5
1

a
10 Questão (Cód.: 28102) Pontos: 0,0 / 0,5

Analisando a seqüência do código abaixo, pode se afirmar que se trata da:

for (int i = topo-1; i>=0 ; i--)

cout << " "<< v[i] <<" "<

Exibição de todos os elementos armazenados em uma Pilha na ordem de entrada.


Exibição de todos os elementos armazenados em uma Pilha na ordem inversa da entrada.
Exibição de todos os elementos armazenados em uma Fila na ordem de entrada.
Exibição de todos os elementos armazenados em uma Fila na ordem decrescente.
Exibição de todos os elementos armazenados em uma Fila na ordem inversa da entrada.

4 de 4 26/11/2012 11:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
1 Questão (Cód.: 58564) Pontos: 0,0 / 1,5

Como é a lógica do FIFO?

Resposta: Lógica FIFO se determina em fila dinamica.

a
2 Questão (Cód.: 27759) Pontos: 0,0 / 1,0

Podemos dizer que um container é:

A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
A saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.

a
3 Questão (Cód.: 19673) Pontos: 0,0 / 1,0

Uma fila dupla que se trata de uma lista linear na qual os elementos podem ser inseridos ou removidos de qualquer
extremo denomina-se:

lista fechada
hashing
lista aberta
grafo
deque

a
4 Questão (Cód.: 27578) Pontos: 0,0 / 0,5

Diga, para o programa abaixo, qual a opção que melhor representa a saída em tela. (Considere que o programa
será compilado sem erros, e irá executar também sem problemas).

#include

using namespace std;

void FuncX( int x, int *y )

1 de 4 16/11/2012 16:04
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

void FuncX( int x, int *y )

int tmp;

tmp = *y;

*y = x * 2;

x = tmp+1;

int main()

int a = 13, b = 10;

FuncX( a-3, &b );

cout<<"Valores: "<< a<<"\t"<< b<

system("pause");

Valores: 20, 10
Valores: 13, 20
Valores: 13, 10
Valores: 10, 20
Valores: 10, 10

a
5 Questão (Cód.: 56276) Pontos: 0,0 / 1,5

Considere duas listas simplesmente encadeadas circulares e não vazias de inteiros e


o tipo
struct no {
int dado;
struct no *link;
};
Faça uma função para criar uma lista simplesmente encadeada não circular que seja
constituída pelos elementos comuns às duas listas passadas.
Protótipo : no *inter(no *x, no*y);

Resposta:

a
6 Questão (Cód.: 28136) Pontos: 0,5 / 0,5

Analisando a figura abaixo, marque a alternativa correta que apresenta o tipo de estrutura de dados utilizado.

2 de 4 16/11/2012 16:04
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Pilha
Struct
Fila
Matriz
Hash

a
7 Questão (Cód.: 27775) Pontos: 0,0 / 0,5

Qual a importância de se entender a "ordenação" de dados ?

A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.

a
8 Questão (Cód.: 28131) Pontos: 0,5 / 0,5

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através
da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em
posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar
os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.

Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.


Proteção de memória, transferência de dados, estruturas simples.
Acesso, representação, compartilhamento de memória.
Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.

a
9 Questão (Cód.: 28148) Pontos: 0,5 / 0,5

A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder armazenar
valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis locais e globais. Sendo
assim, qual das situações abaixo representa melhor o conceito das variáveis globais.

Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome apresentando o
mesmo valor.
Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta variável em
outra função, onde tambem está declarada a variável 'Y', será acusado um erro de compilação.
Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor poderemos
imprimir esta variável em qualquer outra função do programa mostrando o valor atribuído na função
"mostra".

3 de 4 16/11/2012 16:04
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

"mostra".
Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado em
qualquer outra função do programa.
Em uma função "resul" tem-se uma variável ali declarada por 'T' que recebe o valor inteiro 5. Ao tentar
chamar esta variável em outra função é mencionado um warning.

a
10 Questão (Cód.: 28104) Pontos: 0,5 / 0,5

Para a criação de uma Fila seqüencial basta iniciar as variáveis de início e final, ou seja, apontá-las para as posições
iniciais do vetor. O que alteraria na rotina de inserir se a variável final fosse inicializada com o valor -1 (menos
um):

Antes da inserção deve-se fazer o incremento da variável final


Antes da inserção deve-se fazer o decremento da variável final
Após a inserção deve-se fazer o decremento da variável final
Após a inserção deve-se fazer o incremento da variável inicio
Após a inserção deve-se fazer o incremento da variável final

4 de 4 16/11/2012 16:04
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_AV2_201107023904 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: 201107023904 - DULCIENE DA SILVA MARQUES

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 7,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 14/11/2012

a
1 Questão (Cód.: 58562) Pontos: 1,5 / 1,5

Qual a diferença entre pilha e fila?

Resposta: A pilha e a fila são dois casos especiais de lista. Na pilha, é usado o método LIFO, último a entrar
primeiro a sair, indicado em casos como o control Z, os dados são sempre inseridos e removidos do topo. Já na
Fila, o método é o FIFO, primeiro a entrar primeiro a sair, é a ideia de uma fila de atendimento, onde as pessoas
são atendidas por ordem de chegada.

a
2 Questão (Cód.: 51756) Pontos: 1,0 / 1,0

Com base nos principais elementos fornecidos pela biblioteca C++ padrão, marque a opção correta que resume
todos os elementos dessa biblioteca:

Listas, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade, mapas.


Iteradores, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade, mapas.
iteradores, vetores, listas, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade, mapas.
Vetores, listas, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade,
Iteradores, vetores, listas, pilhas, filas, deques e filas com prioridade, mapas.

a
3 Questão (Cód.: 19681) Pontos: 0,5 / 0,5

Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I
atende os não idosos. O sistema II atende os idosos. Nessa situação:

tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados.


tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados.
tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO.

a
4 Questão (Cód.: 27775) Pontos: 0,5 / 0,5

Qual a importância de se entender a "ordenação" de dados ?

A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.

1 de 4 16/11/2012 16:10
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.

a
5 Questão (Cód.: 56270) Pontos: 1,5 / 1,5

Considere uma lista simplesmente encadeada não circular de inteiros e o tipo


struct no {
int dado;
struct no *link;
};
Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante.
Protótipo : no *inverter(no *ini); //ini aponta para o início da lista

Resposta: no * inverter (no *ini){ int achou=0; do{ if(no->link == null){ return no; }else{ no=no->link }
while(achou=0) } }

a
6 Questão (Cód.: 27996) Pontos: 0,0 / 0,5

O que será impresso pelo trecho de código a seguir?

int main() {

int vet[5] = {80, 70 , 10, 50, 20};

int *ptr;

ptr = vet;

cout << *(ptr) << " ";

cout << *(ptr + 3);

return 0;

80 50
80 10
70 73
80 83
70 10

2 de 4 16/11/2012 16:10
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
7 Questão (Cód.: 28126) Pontos: 0,5 / 0,5

As funções em programação permitem que se possa realizar a modularização do código diminuindo assim sua
complexidade. Analise a função abaixo e assinale alternativa que descreve corretamente o tipo de função:
int funcao (int x){
if(x == 0)
return 0;
else
funcao(x-1);
}

Passagem por referência


Condicional de seleção
Sequencial
Recursiva
Igual a zero

a
8 Questão (Cód.: 27753) Pontos: 1,0 / 1,0

Podemos dizer que estrutura de dados é:

Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.

a
9 Questão (Cód.: 27988) Pontos: 0,5 / 0,5

Considerando a estrutura de fila circular vista em sala, que define as seguintes operações com uma fila:

int enfileirar(int v[], int valor, int *fim) - insere um elemento na fila indicada por v.

int desenfileirar(int v[], int *inicio, int fim, float &valor) - remove um elemento da fila indicada por v.

Supondo que foram realizadas as seguintes operações numa fila circular (implementada em uma estrutura linear
sequencial) de números inteiros de tamanho 5, que inicialmente se encontrava vazia:

enfileirar (minhaFila[], 10, fim);

enfileirar (minhaFila[], 20, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 30, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 40, fim);

enfileirar (minhaFila[], 50, fim);

enfileirar (minhaFila[], 60, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 70, fim);

Qual a posição, dentro da estrutura linear sequencial (vetor - que representa a fila), que se encontra o último
elemento inserido na fila?

3 de 4 16/11/2012 16:10
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

7
4
1
5
6

a
10 Questão (Cód.: 27963) Pontos: 0,5 / 0,5

O resultado de um concurso foi armazenado por um programador em um vetor, onde cada elemento (descrito pela
struct Candidato) possui a informação da matrícula e nota de cada candidato, conforme descrito a seguir.
Deseja-se que o vetor com os resultados fique ordenado em ordem decrescente pela nota. O programador pretende
usar o algoritmo de busca descrito a seguir, porém precisa de ajuda no trecho contendo ********.
Indique a opção que contém a solução que completa as linhas 1, 3 e 7 do algoritmo.

...
struct Candidato {
char mat[10];
float nota;
};
...

1.void ordenaSelecao (******** v[], int n) {


2. int i, j, maior;
3. ******** aux;
4. for (j = 0; j < n-1; j++) {
5. maior = j;
6. for (i = j+1; i < n; i++)
7. if (********)
8. maior = i;
9. aux = v[j];
10. v[j] = v[maior];
11. v[maior] = aux;
12. }
13.}

1. struct Candidato 3. struct Candidato 7. v[i].nota > v[maior].nota


1. struct Candidato 3. struct Candidato 7. v[i].nota < v[maior].nota
1. int 3. int 7. v[i] > v[maior]
1. int 3. int 7. v[i] < v[maior]
1. float 3. float 7. v[i] < v[maior]

4 de 4 16/11/2012 16:10
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_AV2_201107101298 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: 201107101298 - FERNANDO ROBERTO PARREIRAS

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 4,0 de 8,0 Nota do Trabalho: Nota de Participação: Data: 16/11/2012

a
1 Questão (Cód.: 58564) Pontos: / 1,5

Como é a lógica do FIFO?

Resposta: Se trata de uma estrutura firs in, firs out (primeiro a entrar será o primeiro a sair), inclusive no fórum
usei uma implementação de uma fila de táxi em um aeroporto. Essa estrutura é igual ao nosso dia a dia mesmo em
uma fila, ou seja, o primeiro que chega é o primeiro a ser atendido portanto o primeiro a sair.

a
2 Questão (Cód.: 56276) Pontos: / 1,5

Considere duas listas simplesmente encadeadas circulares e não vazias de inteiros e


o tipo
struct no {
int dado;
struct no *link;
};
Faça uma função para criar uma lista simplesmente encadeada não circular que seja
constituída pelos elementos comuns às duas listas passadas.
Protótipo : no *inter(no *x, no*y);

Resposta: Ponteiro é dificil viu. Abraço professor.

a
3 Questão (Cód.: 27760) Pontos: 1,0 / 1,0

Estão entre algumas das possíveis formas de se estruturar dados:

Grafos, lista ordenada, algoritmos.


Grafos, lista ordenada, vetores.
Lista encadeada, vetores, algoritmos.
Grafos, algoritmos, fila.
Algoritmos, lista ordenada, vetores.

1 de 4 16/11/2012 15:23
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

cout << " "<< v[i] <<" "<

a
4 Questão (Cód.: 27619) Pontos: 1,0 / 1,0

Em relação as estruturas de dados, aquela que corresponde ao armazenamento em uma lista linear com a posição
relativa (não contígua) na memória de dois nós consecutivos da lista é conhecida por alocação:

Estática.
Combinada.
Seqüencial.
Encadeada.
Binária.

a
5 Questão (Cód.: 19681) Pontos: 0,5 / 0,5

Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I
atende os não idosos. O sistema II atende os idosos. Nessa situação:

tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados.


o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO.
tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO.
tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados.

a
6 Questão (Cód.: 77785) Pontos: 0,5 / 0,5

É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado (chave)
com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com
sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca
continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a
busca continua na metade anterior do vetor.

A descrição apresentada trata-se do método denominado busca ......

por comparação.
binária.
linear.
randômica.
por contagem.

a
7 Questão (Cód.: 28104) Pontos: 0,5 / 0,5

Para a criação de uma Fila seqüencial basta iniciar as variáveis de início e final, ou seja, apontá-las para as posições
iniciais do vetor. O que alteraria na rotina de inserir se a variável final fosse inicializada com o valor -1 (menos
um):

Antes da inserção deve-se fazer o incremento da variável final


Antes da inserção deve-se fazer o decremento da variável final

2 de 4 16/11/2012 15:23
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Após a inserção deve-se fazer o decremento da variável final


Após a inserção deve-se fazer o incremento da variável final
Após a inserção deve-se fazer o incremento da variável inicio

a
8 Questão (Cód.: 27620) Pontos: 0,5 / 0,5

Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que
DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações:

ENQUEUE(1)

ENQUEUE(2)

DEQUEUE()

ENQUEUE(3)

ENQUEUE(4)

DEQUEUE()

DEQUEUE()

ENQUEUE(5)

Ao final da sequencia, a soma dos elementos de que (Q) será?

5
0
6
15
9

a
9 Questão (Cód.: 28147) Pontos: 0,0 / 0,5

Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam
ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar,
quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros
de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia
o endereço estamos ativando a função por meio de:

Passagem por valor.


Envio de inteiro.
Registro.
Ponteiros.
Envio de valor.

a
10 Questão (Cód.: 28102) Pontos: 0,0 / 0,5

Analisando a seqüência do código abaixo, pode se afirmar que se trata da:

for (int i = topo-1; i>=0 ; i--)

cout << " "<< v[i] <<" "<

3 de 4 16/11/2012 15:23
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Exibição de todos os elementos armazenados em uma Fila na ordem inversa da entrada.


Exibição de todos os elementos armazenados em uma Pilha na ordem inversa da entrada.
Exibição de todos os elementos armazenados em uma Pilha na ordem de entrada.
Exibição de todos os elementos armazenados em uma Fila na ordem de entrada.
Exibição de todos os elementos armazenados em uma Fila na ordem decrescente.

4 de 4 16/11/2012 15:23
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_AV2_201107101311 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: 201107101311 - JOSE WILSON FARIA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 3,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 19/11/2012

a
1 Questão (Cód.: 58562) Pontos: 1,5 / 1,5

Qual a diferença entre pilha e fila?

Resposta: PILHA exemplo: exemplo pilha de pratos empilhados o primeiro que entra é o primeiro que sai, voce
pode empilhar desempilhar saber qual elemento esta no topo, saber si a pilha esta cheia ou vazia é conhecido como
LIFO (ULTIMO QUE ENTRA É O PRIMEIRO QUE SAI). entra e sai pela mesma extremidade. FILA exemplo fila de um
banco: FIFO (primeiro que entra primeiro que sai), entra em uma extremidade e sai por outra, voce pode enfileirar
desenfileirar saber primeiro elemento que entrou, o ultimo elemento que entrou. si a fila esta cheia ou vazia.

a
2 Questão (Cód.: 56276) Pontos: 0,0 / 1,5

Considere duas listas simplesmente encadeadas circulares e não vazias de inteiros e


o tipo
struct no {
int dado;
struct no *link;
};
Faça uma função para criar uma lista simplesmente encadeada não circular que seja
constituída pelos elementos comuns às duas listas passadas.
Protótipo : no *inter(no *x, no*y);

Resposta: #include

a
3 Questão (Cód.: 27578) Pontos: 0,0 / 0,5

Diga, para o programa abaixo, qual a opção que melhor representa a saída em tela. (Considere que o programa
será compilado sem erros, e irá executar também sem problemas).

#include

using namespace std;

void FuncX( int x, int *y )

1 de 4 26/11/2012 11:53
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

int tmp;

tmp = *y;

*y = x * 2;

x = tmp+1;

int main()

int a = 13, b = 10;

FuncX( a-3, &b );

cout<<"Valores: "<< a<<"\t"<< b<

system("pause");

Valores: 20, 10
Valores: 10, 20
Valores: 13, 20
Valores: 10, 10
Valores: 13, 10

a
4 Questão (Cód.: 27935) Pontos: 0,0 / 0,5

Sobre o funcionamento da busca binária, é incorreto afirmar que dividindo seu vetor em duas metades.

Se o item for menor ao item que está na primeira posição do vetor, o item não foi encontrado.
Se o item for maior que o item que está na metade do vetor procure na segunda metade, ou seja, a da
direita.
Se o item for menor que o item que está na metade do vetor, procure na primeira metade, ou seja, a da
esquerda.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.

a
5 Questão (Cód.: 77785) Pontos: 0,5 / 0,5

É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado (chave)
com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com
sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca
continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a
busca continua na metade anterior do vetor.

A descrição apresentada trata-se do método denominado busca ......

linear.
randômica.
binária.

2 de 4 26/11/2012 11:53
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

por comparação.
por contagem.

a
6 Questão (Cód.: 19678) Pontos: 0,0 / 1,0

Uma lista ligada é uma estrutura que corresponde a uma sequência lógica de entradas ou nós. Cada nó armazena a
localização do próximo elemento na sequência, ou seja, de seu nó sucessor. Nessa estrutura,

para estabelecer a ligação entre um nó já pertencente a uma lista e um novo nó, basta fazer com que o
novo nó referencie no, campo next, o nó que anteriormente era referenciado pelo nó original, desde que
esse campo não tenha o valor nulo.
enquanto a entrada que determina o topo da lista é mantida em um nó descritor dessa lista, a entrada que
marca o fim da lista é mantida fora do descritor.
o armazenamento de uma lista requer uma área contígua de memória para permitir a otimização no
processamento de criação e remoção de nós da lista.
a existência de um ponteiro apontando para o 1º elemento e outro para o fim da lista permite que a
inserção ou deleção de dados de um nó que esteja no meio da lista seja rapidamente executada.
o armazenamento de uma lista não requer uma área contígua de memória. Como listas são estruturas
dinâmicas, normalmente são definidos procedimentos que permitem criar e remover nós na memória.

a
7 Questão (Cód.: 28365) Pontos: 0,0 / 0,5

Observe o trecho de código em C/C++ a seguir. O laço for preenche os dados dos candidatos no vetor de
selecionados. (adaptado para C/C++)
1.struct Candidato {
2. char nome[15];
3. double nota;
4. };
5.
6.int main(){
7. struct Candidato selecionados[5];
8. int i;
9. for (i=0; i<5; i++){
10. cout << "Nome: ";
11. cin.get();cin.get(***********,15);
12. cout << "Nota: ";
13. cin >> ***********;
14. }
15. ...
16.}

Observe que o código no interior dos comandos das linhas 11 e 13 foi substituido por ***********.
Para que este programa compile e execute sem erros, os asteriscos nas linhas 11 e 13 devem ser substituídos
respectivamente por:

selecionados.nome[i]

selecionados.nota[i]
Candidato[i].nome

Candidato[i].nota
selecionados[i].nome

selecionados[i].nota
Candidato.nome[i]

Candidato.nota[i]
nome[i]

nota[i]

3 de 4 26/11/2012 11:53
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
8 Questão (Cód.: 27978) Pontos: 1,0 / 1,0

O método de ordenação que compara pares de chaves de ordenação, trocando os elementos correspondentes caso
estejam fora de ordem é o método:

bolha
seleção
Heapsort
QuickSort
inserção

a
9 Questão (Cód.: 28104) Pontos: 0,5 / 0,5

Para a criação de uma Fila seqüencial basta iniciar as variáveis de início e final, ou seja, apontá-las para as posições
iniciais do vetor. O que alteraria na rotina de inserir se a variável final fosse inicializada com o valor -1 (menos
um):

Após a inserção deve-se fazer o incremento da variável final


Após a inserção deve-se fazer o decremento da variável final
Antes da inserção deve-se fazer o incremento da variável final
Após a inserção deve-se fazer o incremento da variável inicio
Antes da inserção deve-se fazer o decremento da variável final

a
10 Questão (Cód.: 28131) Pontos: 0,0 / 0,5

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através
da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em
posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar
os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.

Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.


Acesso, representação, compartilhamento de memória.
Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
Proteção de memória, transferência de dados, estruturas simples.
Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.

4 de 4 26/11/2012 11:53
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0174_AV2_201107023891 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: 201107023891 - EMANUEL PHILLIP PRUDENCIO DA SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB

Nota da Prova: 4,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 20/11/2012

a
1 Questão (Cód.: 56256) Pontos: 1,0 / 1,5

Os agentes Leo e Lia receberam sequências de números de seus contatos. Para


saberem qual o próximo passo da missão, precisam descobrir que números se repetem
nas sequências recebidas por cada um.
Faça uma função que receba dois vetores v e w de inteiros como parâmetros e gere um vetor z, resultante
da interseção entre v e w.

Protótipo da função :

bool intersecao(int v[ ], int w[ ], int z [ ], int nv , int nw , int &n);

onde nv: quantidade de elementos em v

nw : quantidade de elementos em w

n : quantidade de elementos no vetor z

Note :
Inicialmente n vale zero.
Deverá ser retornado true (sucesso na interseção) ou false (fracasso na interseção).

Resposta: intersecao(int v[5 ], int w[5 ], int z [5 ], int nv , int nw , int &n) { while ( i=0; i < = 5;) { for (i < = 5; i
=0; i ++) { if v[i] == w[i] z[i] = v[i]; } } }

a
2 Questão (Cód.: 27608) Pontos: 0,0 / 1,0

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

Registro
Pilha
Vetor
Loop
Fila

a
3 Questão (Cód.: 56270) Pontos: 0,0 / 1,5

1 de 4 26/11/2012 12:07
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Considere uma lista simplesmente encadeada não circular de inteiros e o tipo


struct no {
int dado;
struct no *link;
};
Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante.
Protótipo : no *inverter(no *ini); //ini aponta para o início da lista

Resposta: void no *inverter(no *ini) { for (no.link > 0 ) *ini = no.link; }

a
4 Questão (Cód.: 28147) Pontos: 0,5 / 0,5

Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam
ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar,
quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros
de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia
o endereço estamos ativando a função por meio de:

Ponteiros.
Passagem por valor.
Registro.
Envio de inteiro.
Envio de valor.

a
5 Questão (Cód.: 19681) Pontos: 0,5 / 0,5

Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I
atende os não idosos. O sistema II atende os idosos. Nessa situação:

tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados.


tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados.
tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO.

a
6 Questão (Cód.: 27994) Pontos: 0,0 / 0,5

Imagine a seguinte estrutura em C/C++, para descrever um produto:

struct Produto {

int codigo;

char descricao[40];

float preco;

};

2 de 4 26/11/2012 12:07
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Considere a função que atribui o preço ao produto

void atribui (struct Produto *pProd) {

/* atribuição do preço */

...

A forma correta para atribuir 2.99 ao campo preco dentro de função atribui é:

pProd.preco=2.99;
*pProd -> preco=2.99;
(*pProd) -> preco=2.99;
*pProd.preco=2.99;
pProd -> preco=2.99;

a
7 Questão (Cód.: 27935) Pontos: 0,5 / 0,5

Sobre o funcionamento da busca binária, é incorreto afirmar que dividindo seu vetor em duas metades.

Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.
Se o item for maior que o item que está na metade do vetor procure na segunda metade, ou seja, a da
direita.
Se o item for menor ao item que está na primeira posição do vetor, o item não foi encontrado.
Se o item for menor que o item que está na metade do vetor, procure na primeira metade, ou seja, a da
esquerda.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.

a
8 Questão (Cód.: 19663) Pontos: 1,0 / 1,0

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

Por memória e por disco.


Por teste e por reforço.
Por inferência e por valor.
Por valor e por referência
Por reforço e por referência.

a
9 Questão (Cód.: 27988) Pontos: 0,0 / 0,5

Considerando a estrutura de fila circular vista em sala, que define as seguintes operações com uma fila:

int enfileirar(int v[], int valor, int *fim) - insere um elemento na fila indicada por v.

int desenfileirar(int v[], int *inicio, int fim, float &valor) - remove um elemento da fila indicada por v.

Supondo que foram realizadas as seguintes operações numa fila circular (implementada em uma estrutura linear
sequencial) de números inteiros de tamanho 5, que inicialmente se encontrava vazia:

enfileirar (minhaFila[], 10, fim);

enfileirar (minhaFila[], 20, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

3 de 4 26/11/2012 12:07
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

enfileirar (minhaFila[], 30, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 40, fim);

enfileirar (minhaFila[], 50, fim);

enfileirar (minhaFila[], 60, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 70, fim);

Qual a posição, dentro da estrutura linear sequencial (vetor - que representa a fila), que se encontra o último
elemento inserido na fila?

7
1
4
6
5

a
10 Questão (Cód.: 28131) Pontos: 0,5 / 0,5

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através
da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em
posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar
os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.

Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.


Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.
Proteção de memória, transferência de dados, estruturas simples.
Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
Acesso, representação, compartilhamento de memória.

4 de 4 26/11/2012 12:07
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0260_AV2_201201069114 » ESTRUTURA DE DADOS

Aluno: 201201069114 - RODRIGO MACHADO DA SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9001/AA

Nota da Prova: 3,0 de 8,0 Nota do Trabalho: Nota de Participação: Data: 09/11/2012

a
1 Questão (Cód.: 58564) Pontos: / 1,5

Como é a lógica do FIFO?

Resposta: >

a
2 Questão (Cód.: 19673) Pontos: 1,0 / 1,0

Uma fila dupla que se trata de uma lista linear na qual os elementos podem ser inseridos ou removidos de qualquer
extremo denomina-se:

lista aberta
hashing
deque
grafo
lista fechada

a
3 Questão (Cód.: 27620) Pontos: 0,0 / 0,5

Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que
DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações:

ENQUEUE(1)

ENQUEUE(2)

DEQUEUE()

ENQUEUE(3)

ENQUEUE(4)

DEQUEUE()

DEQUEUE()

ENQUEUE(5)

Ao final da sequencia, a soma dos elementos de que (Q) será?

0
15
5
9
6

1 de 4 16/11/2012 16:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
4 Questão (Cód.: 27775) Pontos: 0,5 / 0,5

Qual a importância de se entender a "ordenação" de dados ?

A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.

a
5 Questão (Cód.: 56270) Pontos: / 1,5

Considere uma lista simplesmente encadeada não circular de inteiros e o tipo


struct no {
int dado;
struct no *link;
};
Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante.
Protótipo : no *inverter(no *ini); //ini aponta para o início da lista

Resposta: >

a
6 Questão (Cód.: 28112) Pontos: 0,5 / 0,5

Sistemas operacionais utilizam filas para gerenciar, tarefas, processos e recursos. Qual é a ordenação dos
elementos armazenados aleatoriamente em uma lista do tipo LIFO?

Posições aleatórias
Primeiro que entra é o primeiro a sair
Ordem crescente
Ordem decrescente
Ordem de entrada

a
7 Questão (Cód.: 28126) Pontos: 0,0 / 0,5

As funções em programação permitem que se possa realizar a modularização do código diminuindo assim sua
complexidade. Analise a função abaixo e assinale alternativa que descreve corretamente o tipo de função:
int funcao (int x){

2 de 4 16/11/2012 16:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

if(x == 0)
return 0;
else
funcao(x-1);
}

Passagem por referência


Sequencial
Condicional de seleção
Igual a zero
Recursiva

a
8 Questão (Cód.: 27753) Pontos: 0,0 / 1,0

Podemos dizer que estrutura de dados é:

É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.

a
9 Questão (Cód.: 28131) Pontos: 0,5 / 0,5

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através
da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em
posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar
os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.

Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.


Acesso, representação, compartilhamento de memória.
Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.
Proteção de memória, transferência de dados, estruturas simples.
Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.

a
10 Questão (Cód.: 27963) Pontos: 0,5 / 0,5

O resultado de um concurso foi armazenado por um programador em um vetor, onde cada elemento (descrito pela
struct Candidato) possui a informação da matrícula e nota de cada candidato, conforme descrito a seguir.
Deseja-se que o vetor com os resultados fique ordenado em ordem decrescente pela nota. O programador pretende
usar o algoritmo de busca descrito a seguir, porém precisa de ajuda no trecho contendo ********.
Indique a opção que contém a solução que completa as linhas 1, 3 e 7 do algoritmo.

...
struct Candidato {
char mat[10];
float nota;
};
...

1.void ordenaSelecao (******** v[], int n) {


2. int i, j, maior;
3. ******** aux;

3 de 4 16/11/2012 16:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

4. for (j = 0; j < n-1; j++) {


5. maior = j;
6. for (i = j+1; i < n; i++)
7. if (********)
8. maior = i;
9. aux = v[j];
10. v[j] = v[maior];
11. v[maior] = aux;
12. }
13.}

1. int 3. int 7. v[i] < v[maior]


1. struct Candidato 3. struct Candidato 7. v[i].nota < v[maior].nota
1. float 3. float 7. v[i] < v[maior]
1. struct Candidato 3. struct Candidato 7. v[i].nota > v[maior].nota
1. int 3. int 7. v[i] > v[maior]

4 de 4 16/11/2012 16:55
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Avaliação: CCT0260_AV3_201201069114 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV3

Aluno: 201201069114 - RODRIGO MACHADO DA SILVA

Professor: ALEXANDRE SOARES ALVES Turma: 9001/AA

Nota da Prova: 4,0 de 10,0 Nota do Trabalho: Nota de Participação: Data: 03/12/2012

a
1 Questão (Cód.: 27759) Pontos: 0,0 / 1,0

Podemos dizer que um container é:

A saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.

a
2 Questão (Cód.: 95225) Pontos: 1,0 / 1,0

A estrutura de dados linear que obedece o seguinte critério: o último elemento inserido será o primeiro elemento a
ser retirado (LIFO) é:

pilha.
árvore AVL.
lista circular.
árvore binária.
fila.

a
3 Questão (Cód.: 27933) Pontos: 1,0 / 1,0

É correto afirmar sobre o funcionamento da busca sequencial.

Os elementos são pesquisados aleatoriamente. Pior caso: o elemento está no último índice do meu vetor.
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no último índice do meu
vetor.
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no primeiro índice do
meu vetor.
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no meio do meu
vetor.
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no último índice do
meu vetor.

1 de 4 03/12/2012 21:10
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

a
4 Questão (Cód.: 27592) Pontos: 0,0 / 1,0

O que acontece quando tentamos retirar um elemento de uma pilha que já está vazia?

Overflow.
Underflow.
Ordenação.
Remoção.
Inclusão.

a
5 Questão (Cód.: 28000) Pontos: 0,0 / 1,0

Qual o valor de a após a execução do trecho abaixo?

int a = 10;

int *x;

x = &a;

*x = 55;

55
existe um erro no trecho de código
65
10
0

a
6 Questão (Cód.: 19729) Pontos: 0,0 / 1,0

Em relação às estruturas de dados, é correto afirmar:

LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, duplamente
encadeada.
Um grafo com um único vértice e sem arestas é conhecido como dígrafo.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, sem disciplina
de acesso, onde o primeiro elemento a entrar é o último a sair.
Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os princípios da
estrutura FILO.
Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é uma
característica presente nas listas duplamente encadeadas.

a
7 Questão (Cód.: 30948) Pontos: 0,0 / 1,0

No programa abaixo, diga em que área de memória serão alocados os elementos de dados y e r, respectivamente.

#include
using namespace std;
int x, y;
float media( float a, float b )
{ float tmp;
tmp = (a + b ) / 2.0;
return ( tmp );
}
int main()
{

2 de 4 03/12/2012 21:10
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

float r;
cout<<"Informe 2 valores: ";
cin>>x>> y;
r = media( x, y );
cout<<"\nMedia = "<< r<<"\n";
system ("pause");
}

( ) área de registro / área de dados globais


( ) área de pilha / área de registro
( ) área de dados globais / área de pilha
( ) área de dados globais / área de registro
( ) área de registro / área de pilha

a
8 Questão (Cód.: 19681) Pontos: 0,0 / 1,0

Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I
atende os não idosos. O sistema II atende os idosos. Nessa situação:

tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados.


tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO.
tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO.

a
9 Questão (Cód.: 19679) Pontos: 1,0 / 1,0

Sobre estrutura de dados, considere: I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos,
uma vez que eles são colocados e retirados por um único lado e são ordenados pelo princípio LIFO (last in first out).
Assim, sempre que um elemento é adicionado ou retirado seu topo é alterado. II. Pilha é o tipo de estrutura usada,
por exemplo, na avaliação de expressões numéricas, na recursividade e pelos compiladores, na passagem de
parâmetros para as funções. III. Registro é uma estrutura básica que permite guardar coleções de dados de
diferentes tipos, sendo normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos
de diferentes tipos. IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se
conforme os elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente. V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus
elementos são ordenados pelo princípio LIFO (last in first out). Está correto o que se afirma APENAS em:

I, II e III.
II, IV e V.
II, III, IV e V.
I, III e V.
I, III, IV e V.

a
10 Questão (Cód.: 28131) Pontos: 1,0 / 1,0

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através
da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em
posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar
os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.

Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.


Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
Proteção de memória, transferência de dados, estruturas simples.
Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.

3 de 4 03/12/2012 21:10
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_pro...

Acesso, representação, compartilhamento de memória.

4 de 4 03/12/2012 21:10
Avaliação: CCT0174_AV1_201107032962

Tipo de Avaliação: AV1

Aluno: 201107032962 - DANIEL DIAS DOS SANTOS

Professor: RAFAEL DIAS RIBEIRO Turma: 9005/AJ

Nota da Prova: 2,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 18/09/2012

1.) UNIDADE 2 Pontos: 0,5 / 0,5

As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um espaço
na memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a
declaração desta forma estamos declarando uma variável do tipo:

Global
Local
Real
Constante
Inteiro

2.) UNIDADE 3 Pontos: 0,0 / 0,5

As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:

Matriz
Função
Registro
Variável
Vetor

3.) UNIDADE 3: Pontos: 0,0 / 0,5

Considere:

I - Os algoritmos de busca binária e de busca seqüencial executam processamento repetitivo.

II - Os algoritmos de busca binária e de busca seqüencial utilizam a técnica de recursão.

III - A busca seqüencial executa cada fase de repetição na forma de uma subtarefa da fase anterior.

IV - A busca binária trabalha com uma forma circular de repetição. Está correto o que consta em:

(E) I e IV, apenas.


(B) II, apenas.
(A) I, apenas.
(C) I e II, apenas.
(D) I, II, III e IV.
4.) UNIDADE 3: Pontos: 0,0 / 0,5

O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?

remoção
ordenação
underflow
overflow
inclusão

5.) UNIDADE 2 : FUNÇÕES Pontos: 0,0 / 1,0

Dado o seguinte código, escrito em C++, qual a saída do programa?

#include

using namespace std;

void func1 (float x) {

cout << "X: "<< x << endl;

x = 3.5;

cout << "X: "<< x << endl;

int main () {

float y=1.5;

cout << y << endl;

func1(y);

cout << y << endl;

return 0;

1.5 1.5
1.5 1.5 0
1.5 1.5 0
1.5 1.5 3.5 1.5
1.5 1.5 3.5 1.5 0

6.) UNIDADE 2 Pontos: 0,0 / 1,0

Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções
precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome
e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os
parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado.
Quando se envia o endereço estamos ativando a função por meio de:
Envio de inteiro.
Passagem por valor.
Registro.
Envio de valor.
Ponteiros.

7.) ESTRUTURA DE DADOS Pontos: 1,0 / 1,0

Sobre estrutura de dados, identifique o que está correto afirmar.

I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e
retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um
elemento é adicionado ou retirado seu topo é alterado.

II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e
pelos compiladores, na passagem de parâmetros para as funções.

III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos.

IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o
elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente.
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo
princípio LIFO (last in first out).

I, III, IV e V.
I, III e V.
II, III, IV e V.
I, II e III.
II, IV e V.

8.) UNIDADE 3 Pontos: 0,0 / 1,0

Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação
posterior de itens de conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque
corretamente a alternativa que apresenta o código do método de seleção.

int ordena(float v[], float valor, int n) {


int ini = 0, fim = n-1, meio;
while (ini >= fim){
meio = ini/2;
if (v[meio] == valor)
return meio;
if (valor < v[meio])
fim = meio -1;
else
ini = meio+1;
}
int ordena(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;
}
void ordena (int v[], int n){
int i, j, aux;
for (j = 1; j < n; j++)
for (i=j; i > 0 && v[i-1]> v[i]; i--){
aux = v[i-1];
v[i-1] = v[i];
v[i] = aux;
}
}
int ordena(float v[], float valor, int n){
for (int i = 0; i < n; i++)
if (v[i] == valor)
return i;
return -1;
}
void ordena(int v[], int n){
int i, j, menor, aux;
for (j = 0; j < n-1; j++) {
for (i = j+1; i < n; i++) {
if (v[i] < v[j]) {
aux = v[j];
v[j] = v[i];
v[i] = aux;
}
}
}
}

9.) UNIDADE 3 Pontos: 1,0 / 1,0

Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer
acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam
ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio
do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso
contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior
do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O
algoritmo que utiliza esta metodologia é:

Seleção
Pesquisa binária
Bolha
Inserção
Pesquisa sequencial

10.) UNIDADE 3 Pontos: 0,0 / 1,0

As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de forma a
facilitar a consulta de determinado elemento. Existem vários tipos de algoritmos para realizar a ordenação dos
elementos, onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre
os elementos. O trecho de código abaixo descreve o algoritmo chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca
mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo
Bolha
MergeSort
QuickSort
Seleção
Inserção
BDQ Prova Página 1 de 5

Avaliação: CCT0174_AV2_201107032962 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: 201107032962 - DANIEL DIAS DOS SANTOS

Professor: ALEXANDRE SOARES ALVES Turma: 9001/AA

Nota da Prova: 4,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 17/11/2012

a
1 Questão (Cód.: 95280) Pontos: 1,0 / 1,0

Assinale a opção certa.

Quando não se escreve o protótipo de uma função ...

É preciso definir a função antes do programa principal.


A definição da função deverá ser escrita, obrigatoriamente, após o programa principal.
A chamada da função não poderá ser feita em qualquer hipótese.
A chamada da função poderá ser feita em qualquer hipótese.
O programa não funcionará de forma alguma.

2a Questão (Cód.: 56256) Pontos: 0,5 / 1,5

Os agentes Leo e Lia receberam sequências de números de seus contatos. Para


saberem qual o próximo passo da missão, precisam descobrir que números se repetem
nas sequências recebidas por cada um.
Faça uma função que receba dois vetores v e w de inteiros como parâmetros e gere um vetor
resultante da interseção entre v e w.

Protótipo da função :

bool intersecao(int v[ ], int w[ ], int z [ ], int nv , int nw , int &n);

onde nv: quantidade de elementos em v

nw : quantidade de elementos em w

n : quantidade de elementos no vetor z

Note :
• Inicialmente n vale zero.
• Deverá ser retornado true (sucesso na interseção) ou false (fracasso na interseção).

Resposta: bool intersecao(int v[], int w[],int z[],int nv, int nw, int &n) { n = 0; if ( nv == tam) { cout<<"\nerro"; }

http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2166730&ti... 21/11/2012
BDQ Prova Página 2 de 5

a Pontos: 0,0 / 1,5


3 Questão (Cód.: 56270)

Considere uma lista simplesmente encadeada não circular de inteiros e o tipo

struct no {

int dado;

struct no *link;

};

Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante.

Protótipo : no *inverter(no *ini); //ini aponta para o início da lista

Resposta: desculpe nao sei como fazer essa.

a
4 Questão (Cód.: 95248) Pontos: 0,5 / 0,5

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

Autômato.
Deque.
Shift-and.
Boyer-Moore.
Árvore.

a
5 Questão (Cód.: 27775) Pontos: 0,5 / 0,5

Qual a importância de se entender a "ordenação" de dados ?

A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se
conhecimento para manter outros problemas.

6a Questão (Cód.: 28130) Pontos: 1,0 / 1,0

As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a
ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define um
tipo de dado estruturado.

Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado.
São tipos de dados indivisíveis.

http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2166730&ti... 21/11/2012
BDQ Prova Página 3 de 5

Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus
elementos.
Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao
longo da execução de um programa.
Também são denominados tipos primitivos, não é possível decompor em partes menores.

a
7 Questão (Cód.: 77785) Pontos: 0,5 / 0,5

É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado (chave)
com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com
sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca
continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a
busca continua na metade anterior do vetor.

A descrição apresentada trata-se do método denominado busca ......

por contagem.
por comparação.
binária.
linear.
randômica.

8a Questão (Cód.: 27994) Pontos: 0,0 / 0,5

Imagine a seguinte estrutura em C/C++, para descrever um produto:


struct Produto {
int codigo;

char descricao[40];
float preco;
};

Considere a função que atribui o preço ao produto


void atribui (struct Produto *pProd) {
/* atribuição do preço */

...
}
A forma correta para atribuir 2.99 ao campo preco dentro de função atribui é:

pProd -> preco=2.99;


*pProd.preco=2.99;
pProd.preco=2.99;
*pProd -> preco=2.99;
(*pProd) -> preco=2.99;

http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2166730&ti... 21/11/2012
BDQ Prova Página 4 de 5

a
9 Questão (Cód.: 27988) Pontos: 0,0 / 0,5

Considerando a estrutura de fila circular vista em sala, que define as seguintes operações com uma fila:

int enfileirar(int v[], int valor, int *fim) - insere um elemento na fila indicada por v.

int desenfileirar(int v[], int *inicio, int fim, float &valor) - remove um elemento da fila indicada por v.

Supondo que foram realizadas as seguintes operações numa fila circular (implementada em uma estrutura linear
sequencial) de números inteiros de tamanho 5, que inicialmente se encontrava vazia:

enfileirar (minhaFila[], 10, fim);

enfileirar (minhaFila[], 20, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 30, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 40, fim);

enfileirar (minhaFila[], 50, fim);

enfileirar (minhaFila[], 60, fim);

desenfileirar (minhaFila[], inicio, fim, valor);

enfileirar (minhaFila[], 70, fim);

Qual a posição, dentro da estrutura linear sequencial (vetor - que representa a fila), que se encontra o último
elemento inserido na fila?

6
5
4
1
7

a
10 Questão (Cód.: 27963) Pontos: 0,0 / 0,5

O resultado de um concurso foi armazenado por um programador em um vetor, onde cada elemento (descrito pela
struct Candidato) possui a informação da matrícula e nota de cada candidato, conforme descrito a seguir.
Deseja-se que o vetor com os resultados fique ordenado em ordem decrescente pela nota. O programador pretende
usar o algoritmo de busca descrito a seguir, porém precisa de ajuda no trecho contendo ********.
Indique a opção que contém a solução que completa as linhas 1, 3 e 7 do algoritmo.

...
struct Candidato {
char mat[10];
float nota;
};
...

1.void ordenaSelecao (******** v[], int n) {


2. int i, j, maior;
3. ******** aux;
4. for (j = 0; j < n-1; j++) {
5. maior = j;
6. for (i = j+1; i < n; i++)
7. if (********)
8. maior = i;
9. aux = v[j];
10. v[j] = v[maior];
11. v[maior] = aux;

http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2166730&ti... 21/11/2012
BDQ Prova Página 5 de 5

12. }
13.}

1. int 3. int 7. v[i] > v[maior]


1. struct Candidato 3. struct Candidato 7. v[i].nota < v[maior].nota
1. int 3. int 7. v[i] < v[maior]
1. struct Candidato 3. struct Candidato 7. v[i].nota > v[maior].nota
1. float 3. float 7. v[i] < v[maior]

http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2166730&ti... 21/11/2012
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova...

Avaliação: CCT0174_AV2_201107093228 » ESTRUTURA DE DADOS


Tipo de Avaliação: AV2

Aluno:
Professor: ALEXANDRE SOARES ALVES Turma: 9001/AA

Nota da Prova: 1,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 21/11/2012

a
1 Questão (Cód.: 28139) Pontos: 0,0 / 1,0

Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor serve
como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama:

Matriz
Ponteiro
Variável
Endereço
Vetor

a Pontos: 0,0 / 1,5


2 Questão (Cód.: 56256)

Os agentes Leo e Lia receberam sequências de números de seus contatos. Para


saberem qual o próximo passo da missão, precisam descobrir que números se repetem
nas sequências recebidas por cada um.
Faça uma função que receba dois vetores v e w de inteiros como parâmetros e gere um vetor z, resultante
da interseção entre v e w.

Protótipo da função :

bool intersecao(int v[ ], int w[ ], int z [ ], int nv , int nw , int &n);

onde nv: quantidade de elementos em v

nw : quantidade de elementos em w

n : quantidade de elementos no vetor z

Note :
Inicialmente n vale zero.
Deverá ser retornado true (sucesso na interseção) ou false (fracasso na interseção).

Resposta: ?

1 de 4 05/12/2012 09:30
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova...

a
3 Questão (Cód.: 56270) Pontos: / 1,5

Considere uma lista simplesmente encadeada não circular de inteiros e o tipo


struct no {
int dado;
struct no *link;
};
Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante.
Protótipo : no *inverter(no *ini); //ini aponta para o início da lista

Resposta: ?

a
4 Questão (Cód.: 28365) Pontos: 0,5 / 0,5

Observe o trecho de código em C/C++ a seguir. O laço for preenche os dados dos candidatos no vetor de
selecionados. (adaptado para C/C++)
1.struct Candidato {
2. char nome[15];
3. double nota;
4. };
5.
6.int main(){
7. struct Candidato selecionados[5];
8. int i;
9. for (i=0; i<5; i++){
10. cout << "Nome: ";
11. cin.get();cin.get(***********,15);
12. cout << "Nota: ";
13. cin >> ***********;
14. }
15. ...
16.}

Observe que o código no interior dos comandos das linhas 11 e 13 foi substituido por ***********.
Para que este programa compile e execute sem erros, os asteriscos nas linhas 11 e 13 devem ser substituídos
respectivamente por:

nome[i]

nota[i]
Candidato[i].nome

Candidato[i].nota
Candidato.nome[i]

Candidato.nota[i]
selecionados[i].nome

selecionados[i].nota
selecionados.nome[i]

selecionados.nota[i]

2 de 4 05/12/2012 09:30
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova...

a Pontos: 0,5 / 0,5


5 Questão (Cód.: 28144)

Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de funções
que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e marque
corretamente a alternativa que descreve as funcionalidades desta.

int funcao(float v[], float vl, int n)


{
for (int i = 0; i < n; i++)
if (v[i] == vl)
return i;
return -1;
}

Resulta em erro, se o valor de vl não estiver dentro de v.


Retorna -1 se o valor de vl estiver dentro de v.
Retorna a posição de v se o valor vl foi encontrado.
Retorna -1 se o valor de n foi encontrado.
Retorna o valor de vl se o valor n foi encontrado.

a
6 Questão (Cód.: 28147) Pontos: 0,0 / 0,5

Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam
ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar,
quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros
de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia
o endereço estamos ativando a função por meio de:

Envio de inteiro.
Passagem por valor.
Ponteiros.
Envio de valor.
Registro.

a
7 Questão (Cód.: 28112) Pontos: 0,0 / 0,5

Sistemas operacionais utilizam filas para gerenciar, tarefas, processos e recursos. Qual é a ordenação dos
elementos armazenados aleatoriamente em uma lista do tipo LIFO?

Primeiro que entra é o primeiro a sair


Ordem de entrada
Ordem decrescente
Ordem crescente
Posições aleatórias

a
8 Questão (Cód.: 28131) Pontos: 0,0 / 0,5

3 de 4 05/12/2012 09:30
BDQ Prova http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova...

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através
da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em
posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar
os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.

Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.


Acesso, representação, compartilhamento de memória.
Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.
Proteção de memória, transferência de dados, estruturas simples.
Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.

a
9 Questão (Cód.: 27978) Pontos: 0,0 / 1,0

O método de ordenação que compara pares de chaves de ordenação, trocando os elementos correspondentes caso
estejam fora de ordem é o método:

Heapsort
seleção
QuickSort
bolha
inserção

a
10 Questão (Cód.: 28104) Pontos: 0,5 / 0,5

Para a criação de uma Fila seqüencial basta iniciar as variáveis de início e final, ou seja, apontá-las para as posições
iniciais do vetor. O que alteraria na rotina de inserir se a variável final fosse inicializada com o valor -1 (menos
um):

Antes da inserção deve-se fazer o incremento da variável final


Após a inserção deve-se fazer o decremento da variável final
Após a inserção deve-se fazer o incremento da variável inicio
Após a inserção deve-se fazer o incremento da variável final
Antes da inserção deve-se fazer o decremento da variável final

4 de 4 05/12/2012 09:30
BDQ Prova Página 1 de 4

Avaliação: CCT0174_AV1_201107093228 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1


Aluno: -

Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB


Nota da Prova: 4,5 de 8,0        Nota do Trabalho:        Nota de Participação: 2 Data: 26/04/2013 09:37:57

  1a Questão (Cód.: 27782) Pontos: 0,0 / 0,5

Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada".

É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando
se o dado está no meio ou, antes do meio ou depois do meio.
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando
se o dado está no meio ou, antes do meio ou depois do meio.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.

  2a Questão (Cód.: 30945) Pontos: 1,0 / 1,0

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;

pesquisa sequencial
pesquisa cadeias indexada
pesquisa de cadeias
pesquisa binária

http://bquestoes.estacio.br/prova_resultado_preview_aluno.asp?cod_hist_prova=2869... 10/05/2013
BDQ Prova Página 2 de 4

pesquisa indexada

  3a Questão (Cód.: 28147) Pontos: 0,0 / 1,0

Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam
ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar,
quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros
de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia
o endereço estamos ativando a função por meio de:

Envio de inteiro.
Registro.
Envio de valor.
Ponteiros.
Passagem por valor.

  4a Questão (Cód.: 27631) Pontos: 1,0 / 1,0

Considere uma estrutura de dados, representada pela variável P, com procedimentos de inclusão, exclusão e
consulta do próximo elemento (e) disponível na estrutura, obedecendo às seguintes propriedades:

 Pode-se concluir, então, que P corresponde à seguinte estrutura de dados?

PONTEIRO
STRUCT
LISTA
CONJUNTO
PILHA

  5a Questão (Cód.: 27980) Pontos: 1,0 / 1,0

Suponha uma listagem, contendo número de inscrição e pontuação (ordenada pelo número de inscrição) dos
candidatos para o cargo de Analista de Sistemas de uma grande empresa pública. São 1024 candidatos inscritos e o
sistema implementado para consulta do resultado, permite busca binária ou busca sequencial pelo número de
inscrição. O número máximo de comparações executadas se fosse utilizada a busca binária e se fosse utilizada
busca sequencial, respectivamente, seria de:

9 e 10
512 e 1024
10 e 10
1024 e 512
9e9

  6a Questão (Cód.: 28035) Pontos: 0,0 / 1,0

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus

http://bquestoes.estacio.br/prova_resultado_preview_aluno.asp?cod_hist_prova=2869... 10/05/2013
BDQ Prova Página 3 de 4

elementos o nome e a nota obtida pelo candidato. Deseja-se que este vetor seja ordenado pela nota, em ordem
decrescente. Sendo o vetor pequeno (poucos elementos), o programador responsável por desenvolver este algoritmo,
escolheu um método de ordenação que executa os seguintes passos:

 Selecione candidato com maior nota entre todos e troque-o com o candidato que está na primeira posição do
vetor;
 Selecione o segundo maior e troque-o com o candidato que está na segunda posição;
 Os passos descritos anteriormente são seguidos para a terceira nota, quarta nota e assim por diante até que reste
apenas um candidato.

O algoritmo utilizado pelo programador trata-se do método de ordenação denominado:


Bolha
Seleção
Quicksort
Inserção
Heapsort

  7a Questão (Cód.: 28120) Pontos: 0,0 / 0,5

Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens ordenados. Existem
vários métodos de ordenação, por esse motivo, assinale corretamente a alternativa que mostra o nome do método
que utiliza a estratégia de ordenação por trocas de vizinhos e é considerado o método mais simples.

Hash
Inserção
Binária
Seleção
Bolha

  8a Questão (Cód.: 30946) Pontos: 1,0 / 1,0

O registro de ativação de uma sub-rotina é o conjunto das informações que devem/precisam ser alocadas em
memória. Assinale abaixo a única opção que representa a composição destas informações.

( ) parâmetros passados / endereço inicial / endereço de retorno


( ) endereço de ponteiro / variáveis locais / endereço inicial
( ) variáveis locais / valor de retorno / endereço de ponteiro
( ) endereço de retorno / valor de retorno / endereço de ponteiro
( ) endereço de retorno / variáveis locais / parâmetros passados

  9a Questão (Cód.: 28090) Pontos: 0,0 / 0,5

Qual das alternativas a seguir pode definir uma estrutura de pilha?

Entrada de dados pelo final e saída pelo início.


Entrada de dados pelo início e saída pelo final.
Entrada e saída de dados em qualquer local.
Entrada e saída de dados pelo final.
Entrada e saída de dados pelo início.

http://bquestoes.estacio.br/prova_resultado_preview_aluno.asp?cod_hist_prova=2869... 10/05/2013
BDQ Prova Página 4 de 4

  10 a Questão (Cód.: 28114) Pontos: 0,5 / 0,5

As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:

Função
Vetor
Matriz
Variável
Registro

Período de não visualização da prova: desde 16/04/2013 até 03/05/2013.

http://bquestoes.estacio.br/prova_resultado_preview_aluno.asp?cod_hist_prova=2869... 10/05/2013
BDQ Prova Página 1 de 4

Avaliação: CCT0260_AV2_201202273521 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV2

Aluno: 201202273521 - RENATO SILVA SOARES

Professor: ANITA LUIZA MACIEL LOPES Turma: 9003/AC

Nota da Prova: 3,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 14/06/2013 18:16:19

1a Questão (Cód.: 49148) Pontos: 0,0 / 1,0

Se a e b são variáveis inteiras (int) e p1 e p2 ponteiros para int, quais das seguintes expressões de atribuição está
errada?

a = (*p1 + *p2)/b+1;
p1 = &a;
*p2 = *p1;
*p2 = &b;
b = *p2;

2a Questão (Cód.: 31182) Pontos: 0,0 / 1,0

As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de forma a facilitar a
consulta de determinado elemento. Existem vários tipos de algoritmos para realizar a ordenação dos elementos,
onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. O
trecho de código abaixo descreve o algoritmo chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca
mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo

MergeSort
Bolha
QuickSort
Inserção
Seleção

3a Questão (Cód.: 28113) Pontos: 0,5 / 0,5

As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um espaço na
memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a declaração
desta forma estamos declarando uma variável do tipo:

Local

http://bquestoes.estacio.br/prova_resultado_preview_aluno.asp?cod_hist_prova=3225... 20/06/2013
BDQ Prova Página 2 de 4

Constante
Real
Inteiro
Global

4a Questão (Cód.: 95239) Pontos: 0,5 / 0,5

Quando as inserções e as remoções ocorrem sempre no mesmo lado da lista, trata-se de uma estrutura de dados
denominada.

Lista encadeada.
Fila.
Vetor.
Lista circular.
Pilha.

5a Questão (Cód.: 58564) Pontos: 1,5 / 1,5

Como é a lógica do FIFO?

Resposta: A fila usa a lógica FIFO, que diz que o primeiro elemento a entrar será o primeiro a sair

Gabarito: O primeiro que entra na fila é o primeiro que sai.

6a Questão (Cód.: 27753) Pontos: 0,0 / 0,5

Podemos dizer que estrutura de dados é:

A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.

7a Questão (Cód.: 27996) Pontos: 0,0 / 0,5

O que será impresso pelo trecho de código a seguir?

int main() {

int vet[5] = {80, 70 , 10, 50, 20};

int *ptr;

ptr = vet;

http://bquestoes.estacio.br/prova_resultado_preview_aluno.asp?cod_hist_prova=3225... 20/06/2013
BDQ Prova Página 3 de 4

cout << *(ptr) << " ";

cout << *(ptr + 3);

return 0;

}
70 10
80 50
70 73
80 10
80 83

8a Questão (Cód.: 28112) Pontos: 0,5 / 0,5

Sistemas operacionais utilizam filas para gerenciar, tarefas, processos e recursos. Qual é a ordenação dos
elementos armazenados aleatoriamente em uma lista do tipo LIFO?

Primeiro que entra é o primeiro a sair


Ordem de entrada
Ordem decrescente
Posições aleatórias
Ordem crescente

9a Questão (Cód.: 27793) Pontos: 0,5 / 0,5

Em uma lista linear simplesmente encadeada.

Cada nó possui um só ponteiro que referencia o próximo nó da lista.


O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, formando
um ciclo.
Além do campo relativo ao dado, cada nó possui dois ponteiros,
Cada ponteiro possui um só endereço que referencia o primeiro nó da lista.
O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista.

10a Questão (Cód.: 56256) Pontos: 0,0 / 1,5

Os agentes Leo e Lia receberam sequências de números de seus contatos. Para


saberem qual o próximo passo da missão, precisam descobrir que números se repetem
nas sequências recebidas por cada um.

Faça uma função que receba dois vetores v e w de inteiros como parâmetros e gere um vetor
resultante da interseção entre v e w.

Protótipo da função :

bool intersecao(int v[ ], int w[ ], int z [ ], int nv , int nw , int &n);

onde nv: quantidade de elementos em v

nw : quantidade de elementos em w

http://bquestoes.estacio.br/prova_resultado_preview_aluno.asp?cod_hist_prova=3225... 20/06/2013
BDQ Prova Página 4 de 4

n : quantidade de elementos no vetor z

Note :
 Inicialmente n vale zero.
 Deverá ser retornado true (sucesso na interseção) ou false (fracasso na interseção).

Resposta: não sei

Gabarito:

bool intersecao(int v[], int w[], int inter[], int nv , int nw , int &n) {

bool achou = false;

for (int i = 0; i < nv; i++)

for (int j = 0; j < nw; j++)

if (v[i] == w[j]) {

inter[n] = v[i];

achou = true;

n++;

return achou;

Período de não visualização da prova: desde 03/06/2013 até 18/06/2013.

http://bquestoes.estacio.br/prova_resultado_preview_aluno.asp?cod_hist_prova=3225... 20/06/2013
ESTRUTURA DE DADOS

Simulado: CCT0174_SM_201102071421 V.1 VOLTAR

Aluno(a): NILSON ESTEVÃO MARTINS Matrícula: 201102071421

Desempenho: 7,0 de 8,0 Data: 14/04/2014 21:15:45 (Finalizada)

1a Questão (Ref.: 201102106169) Pontos: 1,0 / 1,0

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

Registro
Pilha
Fila
Loop
Ponteiro

2a Questão (Ref.: 201102106336) Pontos: 1,0 / 1,0

Ordene a coluna direita de acordo com a da esquerda, associando as características de implementação de


cada: (Podem existir mais de uma opção à direita para alguma da esquerda)

Indique a alternativa correta:

a-b-a-c-c-b
c-a-a-b-c-b
a-a-a-b-c-b
b-b-a-c-c-c
a-c-a-b-c-a

3a Questão (Ref.: 201102106327) Pontos: 1,0 / 1,0

Em um container do tipo Pilha:

Utiliza-se a ordenação Last In First Out (LIFO).


Utiliza-se a ordenação First In Fisrt Out (FIFO).
A ordenação utilizada não importa, uma vez que a recuperação dos dados é feita pela posição do mesmo.
É possível acessar os dados armazenados por várias ordenações.
Se permite acesso aos dados armazenados pelo seu conteúdo.
4a Questão (Ref.: 201102098226) Pontos: 1,0 / 1,0

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

Por inferência e por valor.


Por memória e por disco.
Por valor e por referência
Por teste e por reforço.
Por reforço e por referência.

5a Questão (Ref.: 201102106155) Pontos: 1,0 / 1,0

O que acontece quando tentamos retirar um elemento de uma pilha que já está vazia?

Remoção.
Ordenação.
Inclusão.
Overflow.
Underflow.

6a Questão (Ref.: 201102089661) Pontos: 1,0 / 1,0

Marque a opção que representa uma característica CORRETA a respeito da estrutura de dados pilha.

O primeiro item inserido é o primeiro a ser retirado.


Não é possível criar uma pilha utilizando vetores.
Os acessos aos itens ocorrem de forma aleatória.
O último item inserido é o último item a ser retirado.
O último item inserido é o primeiro item a ser retirado.

7a Questão (Ref.: 201102106165) Pontos: 0,0 / 1,0

Considere uma estrutura de dados do tipo vetor. Com respeito a tal estrutura, é correto que seus componentes
são caracteristicamente:

Homogêneos e com acesso indexado-sequencial.


Heterogêneos e com acesso LIFO.
Homogêneos e de acesso aleatório por intermédio de índices.
Heterogêneos e com acesso indexado-sequencial.
Heterogêneos e com acesso FIFO.

8a Questão (Ref.: 201102106174) Pontos: 1,0 / 1,0

Pilha é uma estrutura de dados

Cujo acesso aos seus elementos ocorre de forma aleatória.


Cujo acesso aos seus elementos segue tanto a lógica LIFO quanto a FIFO.
Cujo acesso aos seus elementos segue a lógica LIFO.
Que pode ser implementada somente por meio de listas.
Que pode ser implementada somente por meio de vetores.
9a Questão (Ref.: 201102137125)
Qual a diferença entre pilha e fila?

Sua Resposta: Pilha Utiliza-se a ordenação Last In First Out (LIFO). Fila Utiliza-se a ordenação First In Fisrt Out
(FIFO).

Compare com a sua resposta: Pilha se caracteriza por ser uma estrutura de dados que são inseridos e retirados
numa sequencia semelhante as anilhas de alteres, isto é, usa a lógica LIFO. Já uma fila se caracteriza por ser
um estrutura semelhante a fila de banco, isto é, os dados vão chegando e sendo processados e retirados da
estrutura. Essa lógica é chamada de FIFO.

10a Questão (Ref.: 201102127757)


const int TAMMAX = 100;

struct TipoLista{

int qtde; // descritor que representa a quantidade de elementos na lista

int elemt[TAMMAX];

};

Fundamento no tipo de dado(registro) acima que representa uma implementação de uma lista linear sequencial.
Construa um procedimento para adicionar um dado no final da lista.

A lista e o dado serão passados por parâmetro. Usar o mecanismo de passagem por referência se for
necessário.

Sua Resposta:

Compare com a sua resposta:

void addFinalLista ( TipoLista &lista, int dado ){

if(lista.qtde == TAMMAX){cout << "Lista Cheia."; }

else{ lista.elemt[lista.qtde] = dado;

lista.qtde++;

cout << "Dado adicionado com sucesso.";

}}
aaa aaa 1 4

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

SSS

SSSSSSSSSSSSS SS SS SS S SSSSSSSSSSSS SSSS

:: : :: : AS SSSSSSSSSSSASSSSASSSSS ASS :: SSSSEESS

: : :: SS0SS00S00S : : : : : : : : :: : SS : : SSSES6ESSSSSS66SS66S

a
S Soo0oooo ))) ) )))))) : : : S0E S0E

: : :: : : :: : : : : :: : : : : : )

) : :: : : : : : : : : : : : :: : :: : : : : :)
) : :: : : : : : : : : : : : :: : :: : : : : :)
) : :: :: : : : :: : : : : : : : :: : :::
: :: : : : : : : )
: : :: :: : : : : : : : : :: :: : :: :: : )
) : :: :: : : : :: : : : : : : : : :: : :::
: :: : : : : : : )

a
S Soo0oooo ))) ) )))))) : : : S0S S0S

:: : : :: : : :: : : : : : : : : : : : :: :
: :: : : : : :: :: : : : : : : :: : : : :) : : : : : :: : ::
: :: : ::: : : : : : : : : : :: : : :: : :: : : : :
:: : : : ) : :: :: : : ::: : : : : : : : :: : : :
: : : : : :: : : : : : : : :: : :: : : : :
)

: ::
t :t ::
a :
o : :

a
S Soo0oooo ))) ) )))))) : : : S0S S0E

:: : :: )

t : ::: : :): : : )))

: :: : : : : : : : : : : )
:: : : : : :: : : : : ): : )
:: : : : : :: : : : : ): : )
: : : : : : : :: : )
: : : : : ::: : :: : : : : ): : : : : : )

00000//000 00a 00 00 0 a00a/0aaa 0a 0000 a00a a 00 00 a0 0000a 00 0000aaa 0303/000 1/////3/13


aaa aaa 3 4

a
6 Soo0oooo ))) ) )))))) : : : S0E S0E

: : : : : : : : :: :.:: : ) .. : : : ::: : : : : )

: ::. :: : : : : : : :)
: : :: : : : : : :: : : :: :): )
:: : : : : : :: : : :: :: )
.:: : : : : :: : : : : :: :: )
.:: : : : : .:: : : : :: :: )

a
E Soo0oooo ))) ) )))))) : : : S0S S0S

) : : : ::: : : : : : :: : : : ::: : : : :: . :: : :
: : : :: ::: :: : ::: : : :) : :: : :: : : : : :
: :: : : : : : : ::: :: : : :: )

:: : ): : )) : : : )
{
: : ) : ) )) ) ) )))
: ) ) ) )) )
: : : )
: : : ))
}

. : : : :: : : :: : :: )
. : : : : : : : :: )
. : : ): : : : :: )
. : : ): : :: : :: )
. : : : : : : : :: )

a
S Soo0oooo ))) ) )))))) : : : S0S S0S

) )) ) ) ) )

: : )

: : : :
: : :
: : : :
: : : : :
: : :

00000//000 00a 00 00 0 a00a/0aaa 0a 0000 a00a a 00 00 a0 0000a 00 0000aaa 0303/000 1/////3/13


aaa aaa 3 4

a
6 Soo0oooo ))) ) )))))) : : : S0S S0E

) : :

o : : :: : : :: : : : :: : : : : : : : :: : : : :: )

oo : : :: : : :: : : : :: : : : : : : : : : :: )

ooo : :: : : : : : : : : : : :: : : :: : : : : : : :)

o : :: : : :: : : : : : : :: : :: : : : ) :: : :: : : :: :

) )o :)
):) o oo ooo o )
)a) oo :)
))) o oo :)
) )o o :)

a
0 Soo0oooo ))) ) )))))) : : : S0S S0S

: ::: : : : : :: : : : : :: : : :: : : : : : : : : :: : : : :
: : : : :: : : ) :: : : :: : : :: : : : : : : : : :
: : :: : : :: : : : : :: :: : : : : : : :: : : : :)
:: :: :) : ::: : :: :: :

: :: : ) : )) : ){
: : :: : : : .:: : :
:. : )
: : : : : :: : :
: ) ) ) ) ):. : ))
:. : ) )
:: :
:: :
:: : ) ):. : ) ) )))
:: : ::

: ::
a :
t :t ::
o : :

a
S Soo0oooo ))) ) )))))) : : : S0S S0S

: : : : : :: : : : : : : : :: :: : : : : : : : :: :
: : : : : .: : ::: : : :: : : ) :: : : :: :
.: : ::: ): : : : : : : : .: : ::: : : : : :
: : : : : : : : : : :: : :: : : : :: : : : : :
: : : .: : ::: : : : : : .: : ::: : : :: :
: :) : : :: : : :: : .: : ::: .: : :::
: : : : :: : :: : : : : :: ) ) : : :: : : : : :: : : : : : .: :
::: : : : : : : : :: : : : : :: : : : :) : : : :
: : :: : : : : : .: : ::: : : : : : : :: : :
: : : : : : :) : :: : : : : : :: : : : : : : ::

: : )
: :: )

00000//000 00a 00 00 0 a00a/0aaa 0a 0000 a00a a 00 00 a0 0000a 00 0000aaa 0303/000 1/////3/13


aaa aaa 4 4

:: : :)
:: : : )
:)

a
SS Soo0oooo ))) ) )))))) : : : S0S S0S

:: ::: : : : :: :: : :: : : :: :)

o) : : : ::: : : : : : : :: : ::: : :: : : : : : :: : : :
: :: : : :. : : : : : :. o ) :: : ::: :)) :: : : : : : : :
: : :: : : : : )

oo) : : : ::: : : : : : : :: : : :: : : : :: :
: : : : :: : : : :: : : :: :)

ooo) . ::: : ::: : : : : : :: : : :: : : : : : :: : :


:: : : : : : : : : : : : : :: : : : :: : : :: : : : : : :: :)

o ) :: : : : : .: : : : : : : : :: : : : :: : : :
: : : : : :: :) : :: : ::: : : : : :: : : : :: :: : :: : : : : :
: : : : )
) :: : : : : : :: : : :: : : : : : : : :: : :
: :. o ) :: : ::: :))

o oo ooo)
oo o )
oo ooo o )
o ooo o )
o ooo )

: :. : : : ). )) )))) : )) )) )))))

00000//000 00a 00 00 0 a00a/0aaa 0a 0000 a00a a 00 00 a0 0000a 00 0000aaa 0303/000 1/////3/13


De ta lhe s Fe cha r

Ava lia çã o: CCT0173_A V1_201002141011


Tipo de Ava lia çã o: A V1

Aluno: 201002141011 - WELLINGTON PEREIRA DE OLIVEIRA


Profe ssor: LUIZ ROBERTO MA RTINS BA STOS Turma : 9001/A A
Nota da Prova : 6,5 de 8,0 Nota do Tra ba lho: Nota de Pa rticipaçã o: 2 Da ta : 17/09/2012

1.) GERENCIAMENTO DE NÍVEL DE SERVIÇO Pontos: 0,5 / 0,5

A adoção da ITIL se dá no momento em que:


( Fonte: http://www.sqs.pt/ARTIGO-3-ITIL.pdf )

Os auditores se apóiam em recomendações para avaliar o nível da gestão de TI e aconselhar o


controle interno da organização.
Independente das plataformas de TI adotadas, as empresas são orientadas para fornecer
informações detalhadas sobre os processos baseados em objetivos de negócios.
Há o reconhecimento de que as organizações se tornam cada vez mais dependentes de TI para
satisfazer e atingir as suas metas corporativas, o que leva a uma crescente demanda por alta
qualidade dos serviços de TI.
Os recursos primários associados aos mapas de auditoria fornecem um conjunto de ferramentas de
implementação e um guia com técnicas de gerenciamento.
Há recomendações dos peritos em gestão de TI que ajudam a otimizar os investimentos de TI e
fornecem métricas para avaliação dos resultados.

2.) GERENCIAMENTO DE NÍVEL DE SERVIÇO Pontos: 1,0 / 1,0

Os sistemas e tecnologias de informação e comunicação (TIC) têm nas empresas um papel cada vez mais
importante na prestação de serviços com maior grau de exigência. Atendendo a esta realidade foi
desenvolvida na Inglaterra a ITIL - Information Technology Infrastructure Library, que se baseia nas
especificações do ________________.
PMBOK (Project Management Body Of Knowledge).
ISACF (Information Systems Audit and Control Foundation).
SLM - Service Level Management ou Gestão de Níveis de Serviço.
CobiT (Control Objectives for Information and related Technology) como um guia para a gestão de
TI.
Capability Maturity Model Integration (CMMI).

3.) GERENCIAMENTO DE CAPACIDADE Pontos: 1,0 / 1,0

O processo do SLA (Acordo de Nível de Serviço) pode ir de uma simples administração de redes de comunicações até à gestão
completa dos sistemas e tecnologias de informação e comunicação (TIC) de uma organização.
Como exemplo, podemos citar alguns pontos que têm a ver com um SLA para um Serviço de Help Desk que vai apoiar os usuários de
TI na sua operação diária:
I. Uma situação pode ser reportada por telefone, telegrama ou fax, não havendo a necessidade de implantar um modelo
I. Uma situação pode ser reportada por telefone, telegrama ou fax, não havendo a necessidade de implantar um modelo
padrão de atendimento.
II. As chamadas durante os três primeiros meses de uma nova release são gratuitas, a partir desse período terão um
determinado custo por minuto.
III. O Help Desk está disponível 7 dias / semana e 24 horas por dia. Assegura-se que o tempo de espera de cada chamada
será, em 95% dos casos, inferior a um minuto.

Somente a opção II está correta.


Somente as opções I e III estão corretas.
Somente a opção I está correta.
Somente as opções II e III estão corretas.
Somente as opções I e II estão corretas.

4.) GERENCIAMENTO DE NÍVEL DE SERVIÇO Pontos: 1,0 / 1,0

A SLM - Service Level Management ou Gestão de Níveis de Serviço é essencial para as


empresas na medida em que:
I. Tem a ver com o nível de serviço de tecnologias de informação que é
necessário para suportar o negócio e que deve ser determinado e colocado
sob a forma de um contrato entre o cliente e o prestador de serviços.
II. Deve ser efetuado um acompanhamento informal para verificar se os níveis de serviço
estão sendo cumpridos, sem a necessidade de criação de relatórios gerenciais.
III. É a base para a gestão contínua da qualidade de serviços de tecnologias de
Informação.
IV. O cumprimento desse contrato terá como consequência a satisfação do cliente.
(Fonte: http://www.sqs.pt/ARTIGO-3-ITIL.pdf )

Somente I, III e IV corretas.


Somente I, II e III corretas.
Somente IV correta.
Somente I e IV corretas.
Somente II e III corretas.

5.) GERENCIAMENTO DE CAPACIDADE Pontos: 1,0 / 1,0

Alguns indicadores são usados na medição de resultados dos processos de TI.

Quanto ao processo "Gerenciar desempenho e capacidade", podemos afirmar que os indicadores de


desempenho para "Número de processos finais de negócio que sofreram paradas causadas por
desempenho e capacidade inadequada de TI" é:

Fonte: Fernandes, Agnaldo Aragon. Governança de T I. Brasport, 2010, p.62

Número de processos críticos de negócios não cobertos por um plano formal de disponibilidade de
serviços.
Frequência de pesquisa de satisfação com os clientes.
Percentual de variação entre o orçamento realizado e o planejado.
Número de aditivos contratuais.
Índice de satisfação dos usuários com o suporte de 1º nível.

6.) GERENCIAMENTO DE NÍVEL DE SERVIÇO Pontos: 0,5 / 0,5

__________________________ é uma biblioteca de boas práticas, de domínio público, desenvolvida


__________________________ é uma biblioteca de boas práticas, de domínio público, desenvolvida
pelo governo do Reino Unido. O conjunto de livros busca promover a gestão com foco no cliente e na
qualidade dos serviços de tecnologia da informação (TI).
PMI/PMBOK
ISO9000
ITIL
COBIT
CMMI

7.) GERENCIAMENTO DE NÍVEL DE SERVIÇO Pontos: 0,0 / 1,0

Alguns indicadores são usados na medição de resultados dos processos de TI.

Quanto ao processo "Identificar e alocar recursos", podemos afirmar que os indicadores de


desempenho para "C usto benefício atual de TI" é:

Fonte: Fernandes, Agnaldo Aragon. Governança de T I. Brasport, 2010, p.62

Número de aditivos contratuais.


Percentual de variação entre o orçamento realizado e o planejado.
Frequência de pesquisa de satisfação com os clientes.
Número de dias de treinamento para prevenção de incidentes.

Número de processos críticos de negócios não cobertos por um plano formal de disponibilidade de
serviços.

8.) GERENCIAMENTO DE CAPACIDADE Pontos: 1,0 / 1,0

Analise as sentenças abaixo sobre as Responsabilidades do Gerente de Nível de Serviço e, em seguida, assinale
a alternativa correta. Um Acordo de Nível de Serviço (SLA, do inglês Service Level Agreement) é a parte de
contato de serviços entre duas ou mais entidades no qual o nível da prestação de serviço é definido
formalmente. Na prática, o termo é usado no contexto de tempo de entregas de um serviço ou de um
desempenho específico. Responsabilidades do Gerente de Nível de Serviço são:
I. Realizar revisões de técnicas com a equipe de desenvolvimento.
II. Negociar, documentar e divulgar os Acordos de Nível de Serviço e Acordos de Nível Operacional.
III. Identificar, entender e documentar os Requisitos de Nível de Serviço atuais e futuros.
IV. Medir, registrar e analisar a satisfação dos clientes com os serviços entregues.
Apenas as sentenças II, III e IV estão corretas.
Apenas as sentenças I, III e IV estão corretas.
Apenas as sentenças I e III estão corretas.
Apenas as sentenças I, II e III estão corretas.
Apenas as sentenças I, II e IV estão corretas.

9.) GERENCIAMENTO DE NÍVEL DE SERVIÇO Pontos: 0,5 / 0,5

Dentre os vários processos que constituem a ITIL, podemos definir a Gestão de Nível de Serviço como o processo de planejar,
coordenar, acordar, monitorizar e reportar os SLA (Acordos de Nível de Serviço), que deve:

I. executar projetos usando ferramentas de modelagem.

II. assegurar a revisão contínua dos resultados dos serviços.

III. Deve garantir que o custo necessário e justificável da qualidade de serviço se mantém e é progressivamente melhorado.

Somente as opções II e III estão corretas.


Somente III correta.
Somente I e III corretos.
Somente II correta.
Somente II correta.
Somente as opções I e II estão corretas.

10.) GERENCIAMENTO DE NÍVEL DE SERVIÇO Pontos: 0,0 / 0,5

Em um ambiente de desenvolvimento de sistemas de informação, os acordos de níveis de serviço (SLA)


geralmente são estabelecidos para:

I. Serviços de desenvolvimento, implantação e manutenção de sistemas.

II. Serviços de Segurança da informação.

III. Serviços de suporte ao usuário.

IV. Serviços gerais.

Somente II e IV corretas.
Somente I, II e III corretas.
Somente I e III corretas.
Somente I, II e IV corretas.
Somente II, III e IV corretas.
Avaliação: CCT0260_AV1_201201857163 » ESTRUTURA DE DADOS
Tipo de Avaliação: AV1

Professor: ANITA LUIZA MACIEL LOPES Turma: 9001/AA


Data: 15/12/2012

Pontos: 0,5
1a Questão (Cód.: 95280)
/ 0,5
Assinale a opção certa.

Quando não se escreve o protótipo de uma função ...

O programa não funcionará de forma alguma.


A chamada da função poderá ser feita em qualquer hipótese.
A definição da função deverá ser escrita, obrigatoriamente, após o programa principal.
A chamada da função não poderá ser feita em qualquer hipótese.
É preciso definir a função antes do programa principal.

Pontos: 0,5
2a Questão (Cód.: 27591)
/ 0,5
O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo
= fim)?

remoção
ordenação
inclusão
overflow
underflow

Pontos: 1,0
3a Questão (Cód.: 31184)
/ 1,0
Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de
ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a
alternativa correta que cita o algoritmo cuja descrição é: "considera cada elemento uma vez
inserindo-o em seu lugar correto entre os elementos que já estão em ordem". E o seu passo a passo
pode ser descrito como: "o elemento é inserido entre os ordenados movendo-se os elementos
maiores que ele uma posição para a direita e posteriormente inserindo-o na posição vaga".

QuickSort
Inserção
Seleção
Bolha
MergeSort

Pontos: 1,0
4a Questão (Cód.: 28107)
/ 1,0
Tanto a operação TOP (acessa topo), quanto à operação POP (remover), permite acessar o último
elemento armazenado em uma Pilha. Quanto à diferença entre ambas as operações em relação ao
estado da Pilha é correto afirmar:

A operação TOP remove um elemento e altera o estado da Pilha


Nenhuma das operações altera o estado da Pilha
Ambas alteram o estado da Pilha
Somente a operação TOP altera o estado da Pilha
Somente a operação POP altera o estado da Pilha

Pontos: 1,0
5a Questão (Cód.: 27631)
/ 1,0
Considere uma estrutura de dados, representada pela variável P, com procedimentos de inclusão,
exclusão e consulta do próximo elemento (e) disponível na estrutura, obedecendo às seguintes
propriedades:

Pode-se concluir, então, que P corresponde à seguinte estrutura de dados?

PILHA
CONJUNTO
STRUCT
LISTA
PONTEIRO

Pontos: 0,0
6a Questão (Cód.: 28128)
/ 1,0
Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a
recuperação posterior de itens de conjuntos ordenados. Existem vários métodos de ordenação, por
este motivo, marque corretamente a alternativa que apresenta o código do método de seleção.

void ordena (int v[], int n){


int i, j, aux;
for (j = 1; j < n; j++)
for (i=j; i > 0 && v[i-1]> v[i]; i--){
aux = v[i-1];
v[i-1] = v[i];
v[i] = aux;
}
}
int ordena(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;
}
int ordena(float v[], float valor, int n) {
int ini = 0, fim = n-1, meio;
while (ini >= fim){
meio = ini/2;
if (v[meio] == valor)
return meio;
if (valor < v[meio])
fim = meio -1;
else
ini = meio+1;
}
void ordena(int v[], int n){
int i, j, menor, aux;
for (j = 0; j < n-1; j++) {
for (i = j+1; i < n; i++) {
if (v[i] < v[j]) {
aux = v[j];
v[j] = v[i];
v[i] = aux;
}
}
}
}
int ordena(float v[], float valor, int n){
for (int i = 0; i < n; i++)
if (v[i] == valor)
return i;
return -1;
}

Pontos: 1,0
7a Questão (Cód.: 19815)
/ 1,0
Observe o algorítmo a seguir, onde ocorre a passagem de parâmetro por valor e por referência,
respectivamente, de ITALIA para FIAT e de FRANCA para HONDA.

Ao final do processamento, as variáveis ITALIA e FRANCA terão, respectivamente, os seguintes valores:

85 e FALSO
97 e FALSO
85 e VERDADEIRO
97 e VERDADEIRO
25 e FALSO

Pontos: 0,5
8a Questão (Cód.: 28114)
/ 0,5
As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais
eficiente e organizado. A estrutura de dados considerada mais simples e tem como característica
apresentar apenas uma dimensão é:

Vetor
Variável
Registro
Matriz
Função

Pontos: 0,0
9a Questão (Cód.: 27582)
/ 0,5
Considere:

I - Os algoritmos de busca binária e de busca seqüencial executam processamento repetitivo.

II - Os algoritmos de busca binária e de busca seqüencial utilizam a técnica de recursão.

III - A busca seqüencial executa cada fase de repetição na forma de uma subtarefa da fase anterior.

IV - A busca binária trabalha com uma forma circular de repetição. Está correto o que consta em:

(E) I e IV, apenas.


(A) I, apenas.
(C) I e II, apenas.
(B) II, apenas.
(D) I, II, III e IV.

Pontos: 1,0
10a Questão (Cód.: 31182)
/ 1,0
As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de
forma a facilitar a consulta de determinado elemento. Existem vários tipos de algoritmos para
realizar a ordenação dos elementos, onde um algoritmo de ordenação deve rearranjar o vetor de
forma a estabelecer uma ordem entre os elementos. O trecho de código abaixo descreve o algoritmo
chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca
mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo

MergeSort
Bolha
Seleção
QuickSort
Inserção
Avaliação: CCT0174_AV1_201002006538 » ESTRUTURA DE DADOS

Tipo de Avaliação: AV1

Aluno: 201002006538 - ANDRE DA SILVA BITENCOURT


OSWALDO BORGES PERES
Professor: Turma: 9003/AH
RAFAEL DIAS RIBEIRO
Nota da Prova: 5,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 27/04/2013 08:10:17

1a Questão (Cód.: 27971) Pontos: 0,5 / 0,5

Com relação as listas lineares sequenciais:

I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array.

II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice.

III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.

Apenas as afirmações II e III estão corretas.


Apenas as afirmações I e II estão corretas.
Apenas as afirmações I e III estão corretas.
Apenas as afirmações II está corretas.
Apenas a afirmação I está correta.

2a Questão (Cód.: 30945) Pontos: 0,0 / 1,0

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;

}
pesquisa de cadeias
pesquisa indexada
pesquisa sequencial
pesquisa cadeias indexada
pesquisa binária

3a Questão (Cód.: 27782) Pontos: 0,5 / 0,5

Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada".

Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e
verificando se o dado está no meio ou, antes do meio ou depois do meio.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.

4a Questão (Cód.: 27773) Pontos: 0,0 / 1,0

Ordene a coluna direita de acordo com a da esquerda, associando as características de implementação de


cada: (Podem existir mais de uma opção à direita para alguma da esquerda)

Indique a alternativa correta:

c-a-a-b-c-b
a-a-a-b-c-b
a-c-a-b-c-a
b-b-a-c-c-c
a-b-a-c-c-b

5a Questão (Cód.: 31180) Pontos: 1,0 / 1,0

Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer
acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam
ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio
do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso
contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior
do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O
algoritmo que utiliza esta metodologia é:

Bolha
Seleção
Pesquisa sequencial
Pesquisa binária
Inserção
6a Questão (Cód.: 28144) Pontos: 1,0 / 1,0

Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de
funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e
marque corretamente a alternativa que descreve as funcionalidades desta.

int funcao(float v[], float vl, int n)


{
for (int i = 0; i < n; i++)
if (v[i] == vl)
return i;
return -1;
}

Retorna o valor de vl se o valor n foi encontrado.


Resulta em erro, se o valor de vl não estiver dentro de v.
Retorna -1 se o valor de n foi encontrado.
Retorna -1 se o valor de vl estiver dentro de v.
Retorna a posição de v se o valor vl foi encontrado.

7a Questão (Cód.: 19663) Pontos: 0,5 / 0,5

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

Por teste e por reforço.


Por valor e por referência
Por memória e por disco.
Por reforço e por referência.
Por inferência e por valor.

8a Questão (Cód.: 28135) Pontos: 0,0 / 1,0

Analisando o trecho do algoritmo abaixo,

pode-se afirmar que se trata de uma operação de:

Remoção de um elemento de uma estrutura LIFO


Inserção de um elemento em uma estrutura LIFO
Remoção de um elemento de uma estrutura FIFO
Inserção de um elemento em uma estrutura FIFO
Exibição de um elemento em uma estrutura LIFO
9a Questão (Cód.: 19664) Pontos: 0,5 / 0,5

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

pilha
loop
array
fila
ponteiro

10a Questão (Cód.: 28128) Pontos: 1,0 / 1,0

Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação
posterior de itens de conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque
corretamente a alternativa que apresenta o código do método de seleção.

void ordena(int v[], int n){


int i, j, menor, aux;
for (j = 0; j < n-1; j++) {
for (i = j+1; i < n; i++) {
if (v[i] < v[j]) {
aux = v[j];
v[j] = v[i];
v[i] = aux;
}
}
}
}
void ordena (int v[], int n){
int i, j, aux;
for (j = 1; j < n; j++)
for (i=j; i > 0 && v[i-1]> v[i]; i--){
aux = v[i-1];
v[i-1] = v[i];
v[i] = aux;
}
}
int ordena(float v[], float valor, int n) {
int ini = 0, fim = n-1, meio;
while (ini >= fim){
meio = ini/2;
if (v[meio] == valor)
return meio;
if (valor < v[meio])
fim = meio -1;
else
ini = meio+1;
}
int ordena(float v[], float valor, int n){
for (int i = 0; i < n; i++)
if (v[i] == valor)
return i;
return -1;
}
int ordena(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;
}
Pontos: 0,0
1a Questão (Cód.: 49148)
/ 1,0
Se a e b são variáveis inteiras (int) e p1 e p2 ponteiros para int, quais das seguintes expressões de
atribuição está errada?

b = *p2;
*p2 = *p1;
*p2 = &b;
p1 = &a;
a = (*p1 + *p2)/b+1;

Pontos: 0,0
2a Questão (Cód.: 31182)
/ 1,0
As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de
forma a facilitar a consulta de determinado elemento. Existem vários tipos de algoritmos para
realizar a ordenação dos elementos, onde um algoritmo de ordenação deve rearranjar o vetor de
forma a estabelecer uma ordem entre os elementos. O trecho de código abaixo descreve o algoritmo
chamado:

algoritmo ordena (int a[], int n){


Para i da primeira posição até a penúltima faca
mínimo = i
para j da posição seguinte a i até a ultima posição faça
se (a[j] < a[mínimo])
mínimo =j;
fim para
fim para
troca(a[mínimo],a[i]);
fim algoritmo

QuickSort
Seleção
MergeSort
Inserção
Bolha

Pontos: 1,5
3a Questão (Cód.: 58564)
/ 1,5
Como é a lógica do FIFO?

Resposta

Gabarito: O primeiro que entra na fila é o primeiro que sai.


Pontos: 0,0
4a Questão (Cód.: 27620)
/ 0,5
Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X
à Q e que DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte
sequencia de operações:

ENQUEUE(1)

ENQUEUE(2)

DEQUEUE()

ENQUEUE(3)

ENQUEUE(4)

DEQUEUE()

DEQUEUE()

ENQUEUE(5)

Ao final da sequencia, a soma dos elementos de que (Q) será?

6
5
15
0
9

Pontos: 0,0
5a Questão (Cód.: 27966)
/ 0,5
Qual o valor da variável a ao final da execução do trecho de programa a seguir?

int main() {

int a, b, *p;

a=4;

b = 2;

p = &a;

a++;

*p = a + b;

(*p)++;

(*p) += a;
cout << "\n a = " << a << endl;

return(0);

16
8
5
4
7

Pontos: 0,0
6a Questão (Cód.: 28140)
/ 0,5
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______.

Declaração de vetor
Declaração de matriz
Alocação estática de memória
Declaração de função
Alocação dinâmica de memória

Pontos: 0,5
7a Questão (Cód.: 19660)
/ 0,5
Diferentes tipos de estrutura de dados são adequadas 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:

É um modo de deleção de dados em um computador.


São os nomes dados as variáveis na montagem de uma rotina.
É um modo particular de armazenamento e organização de dados em um computador de modo
que possam ser usados de modo eficiente.
É um modo de utilização de dados nos programas de computador.
É um modo de distribuição e organização de dados em uma rede de computador de modo que
possam ser usados de modo eficiente.

Pontos: 0,5
8a Questão (Cód.: 19664)
/ 0,5
A técnica LIFO (last in first out), utilizada em programação estruturada, é fundamentada no conceito
de:

fila
ponteiro
array
pilha
loop

Pontos: 0,0
9a Questão (Cód.: 56256)
/ 1,5
Os agentes Leo e Lia receberam sequências de números de seus contatos. Para
saberem qual o próximo passo da missão, precisam descobrir que números se repetem
nas sequências recebidas por cada um.

Faça uma função que receba dois vetores v e w de inteiros como parâmetros e gere um vetor z,
resultante da interseção entre v e w.

Protótipo da função :

bool intersecao(int v[ ], int w[ ], int z [ ], int nv , int nw , int &n);

onde nv: quantidade de elementos em v

nw : quantidade de elementos em w

n : quantidade de elementos no vetor z

Note :
Inicialmente n vale zero.
Deverá ser retornado true (sucesso na interseção) ou false (fracasso na interseção).

Resposta:

Gabarito:

bool intersecao(int v[], int w[], int inter[], int nv , int nw , int &n) {

bool achou = false;

for (int i = 0; i < nv; i++)

for (int j = 0; j < nw; j++)

if (v[i] == w[j]) {

inter[n] = v[i];

achou = true;

n++;

return achou;

}
Pontos: 0,5
10a Questão (Cód.: 19663)
/ 0,5
Assinale a alternativa que apresenta duas formas de passagem de parâmetros para uma rotina ou função:

Por reforço e por referência.


Por inferência e por valor.
Por valor e por referência
Por teste e por reforço.
Por memória e por disco.

Período de não visualização da prova: desde 03/06/2013 até 18/06/2013.


Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas
de dados Lineares e Não Lineares com suas respectivas coleções de dados.

A correta associação entre os elementos das duas tabelas é:

a1, b1, c2, d1


a1, b2, c1, d1.
a2, b2, c1, d2.
a2, b1, c2, d1.
a1, b1, c2, d2.

Gabarito Comentado

2a Questão (Ref.: 201609726488) Fórum de Dúvidas (1) Saiba (1)

A forma correta para imprimir o valor do último elemento de um vetor v com n posições é:

cout << v[n];


cout << v[n+1];
cout << v[ultimo];
cout << v[n-1];
cin >> v[-1];

3a Questão (Ref.: 201609762420) Fórum de Dúvidas (1) Saiba (1)

As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados ou
informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de manipulação
de dados associados a estas estruturas.
Verifique as seguintes sentenças:
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
Marque a alternativa CORRETA:

As alternativas I e II estão corretas


Todas as alternativas estão corretas.
As alternativas III e IV estão corretas.
As alternativas II e IV estão corretas.
As alternativas I e III estão corretas.

4a Questão (Ref.: 201609148523) Fórum de Dúvidas (1 de 1) Saiba (1 de 1)

Podemos dizer que estrutura de dados é:

O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.

Gabarito Comentado

5a Questão (Ref.: 201609148530) Fórum de Dúvidas (1) Saiba (1)

Estão entre algumas das possíveis formas de se estruturar dados:

Grafos, lista ordenada, vetores.


Grafos, lista ordenada, algoritmos.
Grafos, algoritmos, fila.
Lista encadeada, vetores, algoritmos.
Algoritmos, lista ordenada, vetores.

Gabarito Comentado

6a Questão (Ref.: 201609739791) Fórum de Dúvidas (1) Saiba (1)

Os irmãos Silva irão viajar por vários países da Europa e por isso, traçaram no mapa o percurso que farão, de cidade
a cidade. Qual a estrutura de dados mais adequada para modelar este problema ?

Fila
Árvore
Pilha
Lista
Grafo

7a Questão (Ref.: 201609762448) Fórum de Dúvidas (1) Saiba (1)

As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que
possibilita a otimização do uso destes dados. Porém, as estruturas guardam características especiais na
manipulação destes dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada
aplicação. Portanto marque a opção que representa a melhor estrutura, quando se tem como requisitos
principais o acesso aleatório aos dados e alocação destes de forma contínua na memória.

Pilha Encadeada
Lista Sequencial
Pilha Sequencial
Lista Encadeada
Fila Sequencial

8a Questão (Ref.: 201609148900) Fórum de Dúvidas (1 de 1) Saiba (1 de 1)

As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a
ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define
um tipo de dado estruturado.

Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado.
Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus
elementos.
Também são denominados tipos primitivos, não é possível decompor em partes menores.
Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao
longo da execução de um programa.
São tipos de dados indivisíveis.

As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um espaço
na memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a
declaração desta forma estamos declarando uma variável do tipo:

Local
Global
Real
Constante
Inteiro
Gabarito Comentado

2a Questão (Ref.: 201609388698) Fórum de Dúvidas (1) Saiba (1)

O programa executa perfeitamente independente da ordem das funções já que


existem os seus protótipos.
O programa não executa corretamente pois as funções devem ser descritas antes
da função main(), para que o compilador consiga reconhecê-las.
O programa não executa corretamente, pois o protótipo da função media( ) não
apresenta a identificação dos parâmetros, mas apenas os tipos dos mesmos.
O programa não executa corretamente, pois os protótipos estão fora da ordem em
que as funções são descritas.
O programa executa perfeitamente, mas não mostra o valor da media já que esta
função não foi chamada na função main( ).

Gabarito Comentado

3a Questão (Ref.: 201609148914) Fórum de Dúvidas (1) Saiba (1)

Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de
funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e
marque corretamente a alternativa que descreve as funcionalidades desta.

int funcao(float v[], float vl, int n)


{
for (int i = 0; i < n; i++)
if (v[i] == vl)
return i;
return -1;
}

Resulta em erro, se o valor de vl não estiver dentro de v.


Retorna a posição de v se o valor vl foi encontrado.
Retorna -1 se o valor de n foi encontrado.
Retorna o valor de vl se o valor n foi encontrado.
Retorna -1 se o valor de vl estiver dentro de v.

Gabarito Comentado

4a Questão (Ref.: 201609762438) Fórum de Dúvidas (1) Saiba (1)

Blocos únicos de códigos que realizam diversas tarefas distintas são de difícil manutenção. Portanto, utiliza-se a
técnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas.
Esta técnica tem como principal elemento:

As funções
Os Vetores
As Filas
Os Grafos
As Estruturas de Dados

5a Questão (Ref.: 201609148917) Fórum de Dúvidas (1 de 1) Saiba (1 de 1)

Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções
precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome
e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os
parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado.
Quando se envia o endereço estamos ativando a função por meio de:

Envio de valor.
Registro.
Envio de inteiro.
Passagem por valor.
Ponteiros.

Gabarito Comentado

6a Questão (Ref.: 201609712708) Fórum de Dúvidas (1 de 1) Saiba (1 de 1)

Na passagem por ____________________ , o endereço da variável da função chamadora é passado para a


função chamada e, dessa forma, o valor poderá ser alterado, ou não.

número
valor
caracter
void
referência

7a Questão (Ref.: 201609737191) Fórum de Dúvidas (1) Saiba (1)

Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção. Portanto, utiliza-se
a tecnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas.
Esta técnica, também chamada de modularização, tem como principal elemento:

As Estruturas de Dados
Os Grafos
As funções
Os Vetores
As Filas

8a Questão (Ref.: 201609731310) Fórum de Dúvidas (1 de 1) Saiba (1 de 1)

Uma função possui um valor de retorno inteiro, recebe por valor um inteiro como primeiro parâmetro e por
referência um inteiro como segundo parâmetro. Qual das respostas abaixo poderia representar o protótipo
dessa função:

void func (int &a, int &b);


int func (&int, int);
int func (int a, int &b);
void func (int a, int &b);
int func (int &a, int b);

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

Vetor
Loop
Fila
Pilha
Registro

Gabarito Comentado

2a Questão (Ref.: 201609788232) Fórum de Dúvidas (0) Saiba (0)

Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente,
agrupados sob uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de
uma estrutura como:

struct aluno {
string nome;
float nota;
};

Suponha ainda que exista um vetor desta estrutura, definido como:


aluno vet [ 100];

Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento
deste vetor.

vet[10]=aluno.5.7;
aluno.vet[10].nota=5.7;
vet[10].nota=5.7;
aluno.vet[10]=5.7;
vet[10].aluno.nota=5.7 ;

3a Questão (Ref.: 201609820482) Fórum de Dúvidas (0) Saiba (0)

Marque a opção correta, considerando

struct Livro {
int codigo;
float preco;
} liv;
Livro.codigo = 12345;
liv.preco = 30.70;
liv->preco = 30.70;
Livro.liv.codigo = 12345;
Livro->liv.codigo = 12345;

4a Questão (Ref.: 201609148885) Fórum de Dúvidas (0) Saiba (0)

A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura
chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de
uma estrutura do tipo Struct?

Nome da estrutura vírgula tipo do campo


Nome da estrutura ponto tipo do campo
Nome da estrutura seta nome do campo
Nome da estrutura seta tipo do campo
Nome da estrutura ponto nome do campo

Gabarito Comentado

5a Questão (Ref.: 201609353593) Fórum de Dúvidas (0) Saiba (0)

Com relação à struct, é correto afirmar que :

Cada elemento da struct é denominado membro ou campo, sendo que a struct pode
armazenar elementos de tipos diferentes ou não.

Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do
mesmo tipo.

A struct é sempre definida dentro da main.

Cada elemento da struct é chamado campo e cada campo deve ser, obrigatoriamente,
de um tipo de dados distinto de outro campo.

Cada elemento da struct é chamado componente.

Gabarito Comentado
6a Questão (Ref.: 201609718754) Fórum de Dúvidas (0) Saiba (0)

Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras
estruturas. Seja a definição de uma estrutura como: struct aluno { string nome; float media; }; Suponha ainda
que exista um vetor desta estrutura, definido como: aluno vet [ 10]; Marque a alternativa em que é atribuída de
forma correta a media 6.0 para o quarto elemento deste vetor.

vet[3].aluno=6.0;
aluno[3].media=6.0;
aluno[3].10=6.0;
aluno[10]=6.0;
vet[3].media=6.0;

7a Questão (Ref.: 201609762443) Fórum de Dúvidas (0) Saiba (0)

Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma
estrutura como:

struct aluno {
string nome;
float nota;
};

Suponha ainda que exista um vetor desta estrutura, definido como:

aluno vet [100];

Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste
vetor.

vet[10]=aluno.5.7;
aluno.vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
aluno.vet[10]=5.7;
vet[10].nota=5.7;

Seja a seguinte função de ordenação:

void ordena( int n, int v[])


{
int i, j, x;
for (j = 1; j < n; ++j) {
x = v[j];
for (i = j-1; i >= 0 && v[i] > x; --i)
v[i+1] = v[i];
v[i+1] = x;
}
}

Pode-se dizer que é uma função de ordenação:


Que utiliza o método inserção e realiza uma ordenação decrescente nos elementos do vetor v.
Que utiliza o método bolha e realiza uma ordenação crescente nos elementos do vetor v.
Que utiliza o método seleção e realiza uma ordenação decrescente nos elementos do vetor v.
Que utiliza o método inserção e realiza uma ordenação crescente nos elementos do vetor v.
Que utiliza o método seleção e realiza uma ordenação crescente nos elementos do vetor v.

2a Questão (Ref.: 201609734011) Fórum de Dúvidas (1 de 1) Saiba (0)

Em relação à classificação do método de ordenação, assinale abaixo aquele que, durante o processo de
ordenação, só usa a memória principal:

Ordenação Eficiente
Ordenação Simples
Ordenação Simples Externa
Ordenação Interna
Ordenação Externa

Gabarito Comentado Gabarito Comentado Gabarito Comentado

3a Questão (Ref.: 201609151950) Fórum de Dúvidas (1) Saiba (0)

Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer
acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam
ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio
do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso
contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior
do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O
algoritmo que utiliza esta metodologia é:

Pesquisa binária
Pesquisa sequencial
Bolha
Inserção
Seleção

Gabarito Comentado

4a Questão (Ref.: 201609737182) Fórum de Dúvidas (1 de 1) Saiba (0)

Sabendo-se que o método de ordenção bolha ou bubble sort realiza a troca de elementos adjacentes até que
todos os elementos de um vetor esteja ordenado. Então, se submetermos a sequencia de inteiros armazenada
em um vetor inicialmente na seguinte ordem : 4, 2, 5, 1.

Pode-se dizer que quando o maior elemento do vetor alcançar sua posição final, a ordenação apresentada no
vetor é:

2,1,4,5
1,4,2,5
2,4,1,5
4,1,2,5
1,2,4,5

Gabarito Comentado

5a Questão (Ref.: 201609148387) Fórum de Dúvidas (1 de 1) Saiba (0)

O seguinte trecho de programa abaixo representa qual tipo de estrutura de ordenação?

void ordenar(float v[], int n) // n é o no. de elementos em v

int i , // índice

aux, // auxiliar para troca

trocou = true,

fim = n - 1;

while (trocou)

trocou = false; // sinaliza que é falso que trocou

for (i = 0; i < fim; i++)

if (v[i] > v[i+1])

aux = v[i];

v[i] = v[i+1];

v[i+1] = aux;

// sinaliza que é verdadeiro que trocou


trocou = true;

} // fim if

} // fim for

fim--; // decrementa o fim

} // fim while

} // fim da função

Shellsort
Heapsort
Quicksort
Mergesort
Bublesort

Gabarito Comentado

6a Questão (Ref.: 201609148550) Fórum de Dúvidas (1 de 1) Saiba (0)

Marque a afirmativa correta para a "inserção incremental".

Os pivôs são escolhidos aleatoriamente.


A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.
É um tipo de ordenação por intercalação
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
É um tipo de sequenciação por intercalação.

Gabarito Comentado

7a Questão (Ref.: 201609148893) Fórum de Dúvidas (1 de 1) Saiba (0)

O processo de rearranjar um conjunto de dados em uma ordem crescente ou decrescente é chamado de


ordenação. Existem várias técnicas de ordenação, entretanto a técnica que procura o menor valor entre todos
os elementos do vetor e troca-o pelo primeiro elemento; para os n - 1 elementos restantes, determinação do
elemento de menor valor e troca pelo segundo elemento e assim sucessivamente, é chamado de:

Seleção
Binária
Inserção
Bolha
Hash

Gabarito Comentado
8a Questão (Ref.: 201609151954) Fórum de Dúvidas (1 de 1) Saiba (0)

Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação
deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta
que cita o algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre
os elementos que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido
entre os ordenados movendo-se os elementos maiores que ele uma posição para a direita e posteriormente
inserindo-o na posição vaga".

Inserção
Seleção
Bolha
QuickSort
MergeSort

__________________________ é uma lista linear em que a alocação de memória pode ser estática, e que a
forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando se tem em
mente um tamanho pré-definido, ou seja, quando se sabe até onde a lista pode crescer.

Lista Não Linear


Lista Linear Sequencial
Lista Linear Não Sequencial
Lista Linear de Alocação de Memória
Lista Linear Não Alocada

2a Questão (Ref.: 201609148884) Fórum de Dúvidas (0) Saiba (0)

As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:

Variável
Registro
Vetor
Matriz
Função

Gabarito Comentado

3a Questão (Ref.: 201609140451) Fórum de Dúvidas (0) Saiba (0)

Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I
atende os não idosos. O sistema II atende os idosos. Nessa situação:

o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO.


tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados.
tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados.
tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO.

Gabarito Comentado

4a Questão (Ref.: 201609148905) Fórum de Dúvidas (0) Saiba (0)

Analisando o trecho do algoritmo abaixo,

pode-se afirmar que se trata de uma operação de:

Remoção de um elemento de uma estrutura LIFO


Inserção de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura FIFO
Exibição de um elemento em uma estrutura LIFO
Remoção de um elemento de uma estrutura FIFO

Gabarito Comentado

5a Questão (Ref.: 201609796427) Fórum de Dúvidas (0) Saiba (0)

Considere uma lista com n livros, em que cada livro é modelado pela struct :

struct Livro {
string titulo, editora, autor;
float preco;
};

A função X abaixo
void X (Livro v[ ], int &n, Livro L)
{
v[n] = L;
n++;
cout << "Operação realizada com sucesso.";
}

implementa a operação de :

Busca
Inserção
Substituição
Ordenação por inserção
Inicialização

Gabarito Comentado

6a Questão (Ref.: 201609351158) Fórum de Dúvidas (0) Saiba (0)

As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que
possibilita a otimização do uso destes dados. Porém, as estruturas guardam características especiais na
manipulação destes dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada
aplicação. Portanto marque a opção que representa a melhor estrutura, quando se tem como requisitos
principais o acesso aleatório aos dados e alocação destes de forma contínua na memória.

Fila Sequencial
Pilha Sequencial
Pilha Encadeada
Lista Encadeada
Lista Sequencial

Gabarito Comentado

7a Questão (Ref.: 201609148361) Fórum de Dúvidas (0) Saiba (0)

O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?

overflow
underflow
inclusão
remoção
ordenação
Gabarito Comentado

8a Questão (Ref.: 201609148741) Fórum de Dúvidas (0) Saiba (0)

Com relação as listas lineares sequenciais:

I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array.

II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice.

III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.

Apenas as afirmações II e III estão corretas.


Apenas a afirmação I está correta.
Apenas as afirmações II está corretas.
Apenas as afirmações I e III estão corretas.
Apenas as afirmações I e II estão corretas.

Gabarito Comentado

Na pequena pizzaria de Dom Leopoldo os pedidos são anotados em uma planilha e assim que montam um lote
com 5 pizzas, as entregas começam. As pizzas são organizadas no veículo de entrega respeitando a ordem da
entrega, ou seja, a 1a. pizza a ser entregue fica na frente de todas e assim, sucessivamente. Dessa forma, a
última pizza a ser entregue ficará no final do veículo, após todas as outras pizzas. Qual a estrutura de dados é
mais adequada para modelar a organização das pizzas no veículo de entrega ?

lista
grafo
árvore
pilha
fila

Gabarito Comentado

2a Questão (Ref.: 201609216006) Fórum de Dúvidas (0) Saiba (0)

A estrutura de dados do tipo pilha (stack) é um tipo abstrato de dado baseada no princípio:

Da indiferença.
First In First Out (FIFO).
Last In First Out (LIFO).
De dividir para conquistar.
Da localidade de referência.
Gabarito Comentado

3a Questão (Ref.: 201609216009) Fórum de Dúvidas (0) Saiba (0)

Quando as inserções e as remoções ocorrem sempre no mesmo lado da lista, trata-se de uma estrutura de
dados denominada.

Lista encadeada.
Vetor.
Lista circular.
Fila.
Pilha.

Gabarito Comentado

4a Questão (Ref.: 201609351160) Fórum de Dúvidas (0) Saiba (0)

As pilhas sequenciais são estruturas que guardam a ordem reversa dos dados nelas armazenados, e isto em
muitas ocasiões é muito vantajoso. A operação usada para inserir um elemento X numa pilha é conhecida
na literatura como PUSH (X). Para remover um elemento de uma pilha a operação é o POP( ). Assim estas
duas funções devem implentar o algoritmo LIFO (Last In - First Out ) ou o último a entrar é o primeiro a
sair. Sendo assim se aplicarmos as seguintes operações em uma PILHA vazia:

PUSH(10),PUSH(5),POP(),PUSH(7),POP(),PUSH(2),POP(),POP( ).

Quais valores restarão na pilha?

Apenas o 2
Nenhum, a pilha estará vazia.
10 e 2
Apenas o 10
7e2

Gabarito Comentado

5a Questão (Ref.: 201609370481) Fórum de Dúvidas (0) Saiba (0)

Um programador recebeu a tarefa de construir um programa que receba uma cadeia de caracteres e verifique
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.

Pilha Sequencial
Fila Sequencial
Árvores
Grafos
Lista Sequencial

Gabarito Comentado

6a Questão (Ref.: 201609216010) Fórum de Dúvidas (0) Saiba (0)

Na estrutura de dados tipo pilha, há duas operações básicas para empilhamento e desempilhamento. Essas
operações são conhecidas como:

PUSH e PULL;
HEAP e POP;
Base e Topo;
PUSH e POP.
PULL e POP;

Gabarito Comentado

7a Questão (Ref.: 201609688099) Fórum de Dúvidas (0) Saiba (0)

Observe a função que manipula uma pilha e assuma que TAM é uma constante definida com valor 5. Saiba
que o nome da função já explícita a finalidade dela.

Considere a chamada da função conforme linha abaixo, sabendo-se que vet é um vetor de tamanho 5 e que
não tem nenhum valor ainda:

Analise as afirmativas abaixo que sugerem correções, ou não, na definição na função e assinale a opção
que contem as afirmativas corretas.
I Faltou & antes da variável vetor e irá acusar erro.
II A variável topo está sem tipo.
III O teste está correto porque o índice do primeiro elemento do vetor em C++ é 1, obrigatoriamente.
IV Na linha comentada deveria estar presente um comando de atribuição que decrementaria a variável topo.
V A linha vetor[topo]=valor; está correta.

I , III e V estão corretas


II e V estão corretas
I e II estão corretas
I, II e IV estão corretas
I e III estão corretas

Gabarito Comentado

8a Questão (Ref.: 201609140437) Fórum de Dúvidas (0) Saiba (0)

Seja S uma pilha inicialmente vazia. Primeiramente, o elemento A é inserido em S. Em seguida, o elemento B, e
assim por diante, até a inclusão final do elemento E. Ao término dessas operações, qual elemento estará no
topo de S?

C.
B.
D.
A.
E.

Usa-se um vetor para se implementar uma fila sequencial, entretanto se nesta estrutura ocorrer diversas
operações de remoção e inserção podemos afirmar que:

A estrutra sofrerá do fenômeno chamado esgotamento de memória e logo não poderá mais ser
utilizada. A solução é o uso da fila circular.
Um vetor não pode ser usado na implementação de uma fila sequencial apenas em pilhas sequenciais.
A estrutra sofrerá do fenômeno esgotamento de memória, mas se os dados estiverem ordenados isto
não afetará a estrutura.
Um vetor é uma estrutura base correta para esta implementação, já que está imune a fenômenos como
esgotamento de memória.
A estrutura fila não sofre esgotamento de memória, isto ocorre com as pilhas já que implementam o
algoritmo LIFO.

2a Questão (Ref.: 201609771276) Fórum de Dúvidas (0) Saiba (0)

Assumindo que estamos com uma estrutura de dados do tipo FIFO, as operações abaixo vão resultar em que
elementos na mesma: ENFILEIRAR(4), ENFILEIRAR(5), ENFILEIRAR(6), DESENFILEIRAR(), DESENFILEIRAR(),
ENFILEIRAR(5), ENFILEIRAR(7), DESENFILEIRAR()

57
75
467
45
456

3a Questão (Ref.: 201609351162) Fórum de Dúvidas (0) Saiba (0)

As filas sequenciais são estruturas de dados utilizadas em diversas aplicações, tais como fila de
processo, fila de impressão, sistemas de senha etc. Entretanto, nas aplicações onde há muita
movimentação de dados, inserções e remoções de dados na fila, surgem espaços ociosos que podem
levar ao fenômeno chamado de esgotamento de memória. Para sanar este problema pode-se substituir
a fila sequencial por:

lista sequencial
fila circular
lista circular
pilha circular
pilha sequencial

Gabarito Comentado

4a Questão (Ref.: 201609148398) Fórum de Dúvidas (0) Saiba (0)

Um banco adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I atende
todas pessoas que não possuem atendimento prioritário. O sistema II atende somente pessoas com
atendimento prioritário. Nessa situação,

Tanto o sistema I, quanto o II, adota o esquema lista duplamente encadeada de organização de
dados.
Tanto o sistema I, quanto o II, adota o esquema FIFO de organização de dados.
Tanto o sistema I, quanto o II, adota o esquema LIFO de organização de dados.
O sistema I adota o esquema LIFO de organização de dados e o II o esquema FIFO.
O sistema I adota o esquema FIFO de organização de dados e o II, o esquema LIFO.

5a Questão (Ref.: 201609148886) Fórum de Dúvidas (0) Saiba (0)

As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores
podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa
forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover
os elementos a sua frente, é chamada de:

Matriz
Struct
Pilha
Fila
Bolha

Gabarito Comentado

6a Questão (Ref.: 201609739885) Fórum de Dúvidas (0) Saiba (0)

Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma
firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente desenfileira o código
de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo.

struct Fila { in t v[100], inicio, fim; } ;

Fila F;

F. inicio = 0;

F.fim = -1;

void desenfileirar(Fila &F) {

if (F.fim == -1 && F.inicio == 0)

cout << "Não há agentes para retirar. " << endl;

else {

cout << "Removido o agente " << F.v[F.inicio];

F.inicio++;

void desenfileirar(Fila &F) {

if (F.inicio > F.fim)

cout << "Não há agentes para retirar. " << endl;


else {

cout << "Removido o agente " << F.v[F.inicio];

F.inicio++;

void desenfileirar(Fila F) {

cout << "Removido o agente " << F.v[F.inicio];

F.inicio--;

void desenfileirar(Fila &F) {

if (F.inicio > F.fim)

cout << "Não há agentes para retirar. " << endl;

else {

cout << "Removido o agente " << F.v[F.inicio];

void desenfileirar(Fila F) {

if (F.inicio > F.fim)

cout << "Não há agentes para retirar. " << endl;

else {

cout << "Removido o agente " << F.v[F.inicio];

F.inicio++;

}
Gabarito Comentado

7a Questão (Ref.: 201609361005) Fórum de Dúvidas (0) Saiba (0)

Um aluno do EAD estava estudando para a prova de Estrutura quando viu o trecho
do programa abaixo em uma apostila.

Como não estava com seu micro, começou a analisar a função entra(...), ficando
atento a alguns membros da struct.

Quando finalizou, virou a página da apostila e viu a resposta. Então, ficou muito
feliz por ter identificado a estrutura

Assinale a alternativa onde está presente a resposta correta.


Fila
Fila Circular
Lista simplesmente encadeada
Lista Linear
Pilha

Gabarito Comentado

8a Questão (Ref.: 201609737186) Fórum de Dúvidas (0) Saiba (0)

Ao inserirmos em uma estrutura de dados do tipo fila sequencial os seguintes elementos: A, B, C, D,


exatamente nesta ordem. E em seguida realizarmos duas operações consecutivas de remoção na fila e
imediatamente inserirmos dois novos elementos o X e o W. Podedmos afirmar que se realizarmos uma nova
operação de remoção, o elemento que será removido desta fila sera o:

D
C
X
W
A
Prezado (a) Aluno(a),

Você fará agora seu EXERCÍCIO DE FIXAÇÃO! Lembre-se que este exercício é
opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de
questões de múltipla escolha (3).

Após a finalização do exercício, você terá acesso ao gabarito. Aproveite para se


familiarizar com este modelo de questões que será usado na sua AV e AVS.

1. Qual das inicializações de ponteiros apresentadas abaixo está correta?

int *p = new int[];

int *p = new *int;

int *p = new int;

int *p = new int*;

int *p = create int;

2. Dr. Pei Tam possui uma lista não ordenada de pacientes de seu consultório em
que registra apenas o nome endereço e o telefone de cada paciente. Como
não há limites para o crescimento de sua lista, como se pode implementar a
inserção de um novo paciente na lista, sabendo que cada paciente é do tipo
Paciente e a lista é do tipo List assim definidos :

struct Paciente {

long int matricula;

string nome, endereco e tel;

};

struct List {

Paciente p;

struct List *link;

};

List * inserePac(List *i) {

List *novo = new List;

Paciente pat;

novo->p = pat;

novo->link = i;

return novo;

List * inserePac(List *i, Paciente pt)

List *novo = new List;

novo->p = pt;

novo->link =i;

return novo;

List * inserePac(List *i, Paciente pt){

List *novo ;

novo->p = pt;

novo->link = i;
return novo;
}
List * inserePac(List *i, Paciente pac)

List *novo = new List;

novo.p = pac;

novo.link = i;

return novo;

List insereCliente(List *i, Paciente pac)

List novo[];

novo[0].p = pac;

novo[0].link = i;

return novo;

Gabarito Comentado

3. Montei uma biblioteca popular que aceita doações sem limites. Marque a opção que
especifica o tipo de lista e o tipo de alocação de memória mais adequados para este
problema.

lista sequencial e alocação dinâmica de memória

fila dinâmica e alocação dinâmica de memória

fila encadeada e alocação dinâmica de memória

lista encadeada e alocação dinâmica de memória

pilha dinâmica e alocação dinâmica de memória

Gabarito Comentado

4. Assumindo que um valor do tipo inteiro ocupa 4 bytes na memória, e se baseando nas
linhas de código abaixo, marque a alternativa correta:
int *p;
p = (int *)malloc(20*sizeof(int));

Atribuição ao ponteiro ¿p¿ de um endereço estático de memória

A operação é inválida

Alocação dinâmica de 80 bytes na memória

Alocação dinâmica de espaço de memória suficiente para armazenar 20 x 4 valores


inteiros
Alocação dinâmica 20 bytes na memória

5. Podemos dizer que uma lista encadeada tem as seguintes características:

i) conhecida como lista ligada.

ii) seus nós são responsáveis para manter a sequência da lista.

iii) o último nó deve apontar para NULL.

Assinale a alternativa que informa as afirmativas corretas.

Somente a afirmativa iii esta correta.

Somente as afirmativas i e ii estão corretas.

Somente a afirmativa i esta correta.

Todas as afirmativas estão incorretas.

Todas as afirmativas estão corretas.

Gabarito Comentado

6. Marque a afirmativa que represente uma separação.

Intercalar a ordem dos dados da lista do final para o início, atualizando a lista.

Alterar a ordem dos dados da lista do final para o início, atualizando a lista.
Juntar duas listas, colocando uma lista no final de outra, obtendo, ao final, uma só
lista resultante.
Consiste em dividir a lista em duas outras listas. A quantidade de nós que cada lista
terá, depende da necessidade.
Organizar os dados da lista em ordem crescente ou decrescente.

Gabarito Comentado

7. Em uma lista linear simplesmente encadeada.


Além do campo relativo ao dado, cada nó possui dois ponteiros,

O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro"
nó da lista, formando um ciclo.
Cada ponteiro possui um só endereço que referencia o primeiro nó da lista.

Cada nó possui um só ponteiro que referencia o próximo nó da lista.

O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó
da lista.

Gabarito Comentado

8. Considere

int *ptr, *qtr, *r;

int a = 10, b = 20;

Após executar cada instrução conforme a ordem dada a seguir :

ptr = &a;

qtr = &b;

*ptr = *ptr + *qtr;

++(*qtr);

r = qtr;

qtr = ptr;

assinale a opção que mostra, correta e respectivamente, os


valores de *ptr, *qtr , *r , a e b .

30 20 0 30 21

30 30 21 30 21

30 21 21 10 20

30 20 20 10 20
30 30 21 10 20
1. Assinale a opção correta. Sobre pilha dinâmica podemos afirmar que
:

é recomendada para qualquer tipo de aplicação em que insere-se


no final e retira-se do início.

usa o critério FIFO, visto que é dinâmica.


usa o critério LIFO e é implementada usando-se listas
encadeadas.
insere-se em qualquer posição, antes ou após qualquer nó, visto
que é dinâmica.

só pode ter seus dados impressos no sentido do último nó para o


primeiro nó.

Gabarito Comentado

2. Estava um aluno estudando Lista Simplesmente Encadeada quando


encontrou em um site a definição da struct nodo e de uma função
cujo nome você deverá escolher para substituir XXX nas opções
abaixo depois que analisar a função, assumindo que teste foi
realizado, permitindo que a operação fosse realizada.

struct nodo
{
int info;
struct nodo *prox;
};

nodo* XXX(nodo *ptr, int valor)


{
nodo *temp = new nodo;
...
temp->info = valor;
temp->prox = ptr;
return temp;
}

InsereNoFim

InsereNoFrente

BuscaNaLista
ListaNo
RemoveNo

Gabarito Comentado
3. Sobre uma estrutura de dados do tipo LIFO, observe as seguintes afirmações:
(1) É uma pilha.
(2) Pode ser uma fila com prioridades
(3) É uma estrutura onde o primeiro elemento a entrar é o último a sair.

Sobre estas afirmações marque a opção correta:

Apenas as afirmações (1) e (3) são verdadeiras

Todas as afirmações são verdadeiras

Apenas a afirmação (3) é verdadeira

Apenas a afirmação (1) é verdadeira

Todas as afirmações são falsas

4. Para converter de decimal para binário usamos a estrutura de dados pilha.


Assinale a opção que, corretamente, indica as ações corretas para empilhar o
resto da divisão gerado no processo de conversão, considerando uma lista
simplesmente encadeada. Considere o tipo definido abaixo :

struct no {
int dado;
struct no *link;
};

Basta alocar memória com new, armazenar o resto da divisão do número


por 2 no campo dado do novo nó e aterrar o link do novo nó.
É preciso armazenar o resto da divisão do número por 2 no campo dado do
primeiro nó da lista e retornar o ponteiro para este nó.
Não é necessário alocar memória com new. Basta criar uma struct do tipo
no, armazenar o resto da divisão número por 2 no campo dado e aterrar o
campo link.
Basta alocar memória com new e armazenar o resto da divisão do número
por 2 no campo dado do novo nó .
É preciso alocar memória com new, armazenar o resto da divisão do número
por 2 no campo dado do novo nó, apontar o link do novo nó para o início da
lista e enfim, retornar o ponteiro para o novo nó.

Gabarito Comentado

5. Tínhamos declarado um ponteiro de nome ptr e precisávamos construir uma


estrutura de repetição que pudesse repetir enquanto o ponteiro não fosse nulo.
Observe os trechos abaixo e assinale qual a afirmativa correta.

I if (ptr !=NULL)
II if( !ptr )
III if(ptr)
IV while (ptr !=NULL)
V while (ptr)

IV e V estão corretas.

I e IV estão corretas
III está correta
III e V estão corretas
I e II estão corretas.

Gabarito Comentado

6. Assinale a característica que NÃO está relacionada às estruturas de dados


encadeadas:

Cada elemento guarda pelo menos um ponteiro para outro elemento da


estrutura.
A memória ocupada por seus elementos é, em geral, liberada com o uso de
delete.
A memória para armazenar seus elementos é, em geral, alocada com o uso
de new.
Em geral, marca-se o último elemento com um ponteiro de valor NULL.
Consomem memória de maneira permanente, só sendo liberadas ao fim do
programa.

7. Sabendo que uma fila encadeada possui seus nós definidos pela :

struct no {
int x;
no *prox;
};

Marque a alternativa que representa corretamente a criação ou alocação do nó na


sintaxe do C++ para utilização na fila.

p *no=new no;

no p -> new no;

no *p -> new no;

no *p=new no;

p *no -> new no;

Em uma lista duplamente encadeada, seus nodos são compostos por


campos cujos tipos podem ser de diferentes naturezas, entretanto dois
de seus campos devem ser ponteiros para o mesmo tipo do nodo, são
estes os ponteiros ant e prox, que apontam respectivamente para o nodo
anterior e para o próximo nodo. Esta característica permite que a
estrutura seja percorrida em ambos os sentidos. Assim analisando as
operações a seguir:
p->ant->prox=p->prox;
p->prox->ant=p->ant;

Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se


afirmar que:

As operações possibilitam o percurso do ponteiro p da esquerda para direita.

As operações possibilitam o percurso do ponteiro p da direita para esquerda.

As operações possibilitam a busca de um nodo apontado pelo ponteiro p.

As operações removem o nodo apontado pelo ponteiro p.

As operações inserem novo nodo, após o nodo apontado pelo ponteiro p.

2. Em uma lista linear duplamente encadeada.

Além do campo relativo ao dado, cada nó possui dois ponteiros.

Cada ponteiro possui um só endereço que referencia o primeiro nó da lista.


O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o
"primeiro" nó da lista, formando um ciclo.
Cada nó possui um só ponteiro que referencia o próximo nó da lista.
O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o
"primeiro" nó da lista.

Gabarito Comentado

3. Uma estrutura de dados em lista duplamente encadeada permite na cadeia


movimentos para

cima e para baixo ou para frente e para trás.

frente e para trás, apenas.

frente, apenas.

trás, apenas.

cima e para baixo, apenas.

Gabarito Comentado

4. Considere uma lista duplamente encadeada não circular em que

struct nodupla {
int dado;
struct nodupla *dlink; // aponta p/ o nó à
direita
struct nodupla *elink; // aponta p/ o nó à
esquerda
};

sendo nodupla *p; //ponteiro para o início da lista

A opção que corretamente mostra as instruções para inserir


um valor no início da lista apontada por p é :

nodupla *novo;

novo = new nodupla;


novo->dado = valor;
novo->dlink = p;
novo->elink = NULL;
p->elink = novo;
p = novo;

nodupla *novo;

novo = new nodupla;


novo->dado = valor;
novo->dlink = p;
if (p != NULL)
p->elink = novo;
p = novo;

nodupla *novo;

novo = new nodupla;


novo.dado = valor;
novo.dlink = p;
novo.elink = NULL;
if (p != NULL)
p.elink = novo;
p = novo;

n nodupla *novo;

novo = new nodupla;


novo->dado = valor;
novo->elink = NULL;
if (p != NULL)
p->elink = novo;
p = novo;

nodupla *novo;

novo = new nodupla;


novo->dado = valor;
novo->dlink = p;
novo->elink = NULL;
if (p != NULL)
p->elink = novo;
p = novo;

Gabarito Comentado

5. Uma estrutura de dados em lista duplamente encadeada permite na cadeia


movimentos para:

trás, apenas.

frente e para trás, apenas.

frente, apenas.

cima e para baixo, apenas.

cima e para baixo ou para frente e para trás.

Gabarito Comentado

6. Em relação às estruturas de dados, é correto afirmar:

Nos sistemas operacionais, a execução dos processos concorrentes ocorre


segundo os princípios da estrutura FILO.
Guardar endereço de memória em "nós", normalmente identificados por
previous ou next, é uma característica presente nas listas duplamente
encadeadas.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que
uma lista linear, sem disciplina de acesso, onde o primeiro elemento a
entrar é o último a sair.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que
uma lista linear, duplamente encadeada.

Um grafo com um único vértice e sem arestas é conhecido como dígrafo.


Gabarito Comentado

7. Suponha uma listagem mantida com informações sobre um


equipamento a ser adquirido por uma empresa. A listagem possui as
informações sobre de 10 fornecedores, descritas a seguir:

próximo: um ponteiro para o próximo fornecedor da listagem;

nome: nome, identificando o fornecedor;


valor: preço do equipamento no fornecedor;
anterior: um ponteiro para o fornecedor anterior da listagem.

Sendo o fornecedor "Z" o quinto elemento desta listagem e "X" e "Y"


dois outros fornecedores que não pertencem à listagem, com seus
respectivos ponteiros "pZ", "pX" e "pY", considere o trecho de
código abaixo.

pY->proximo = pX;

pX->anterior = pY;

pX->proximo = pZ->proximo;

pZ->proximo->anterior = pX;

pZ->proximo = pY;

pY->anterior = pZ;

Este trecho de código é usado para inserir na listagem os


fornecedores:

Y, antes do Z, e X, antes do Y.

Y, antes do Z, e X, logo após o Z.

X, antes do Z, e Y, logo após o Z.

X, logo após o Z, e Y, logo após o X.

Y, logo após o Z, e X, logo após o Y.

Gabarito Comentado

8. Com relação à lista duplamente encadeada, é correto afirmar que :


A lista precisa ter sempre um ponteiro apontando para o
1º. nó
Não pode haver remoções no meio da lista.

Não pode ser vazia.

A lista pode ser percorrida com igual facilidade para a


direita ou para a esquerda, pois existem dois ponteiros.

Consome menos memória do que uma lista


simplesmente encadeada, se tivermos uma mesma
aplicação.

Gabarito Comentado

Você também pode gostar