Вы находитесь на странице: 1из 207

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

1a 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

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 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.

Вам также может понравиться