Buscar

Estruturas de Dados

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

Prévia do material em texto

Avaliação: CCT0260_AV_201301014354 » ESTRUTURA DE DADOS 
Tipo de Avaliação: AV 
Aluno: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
Professor: SERGIO DE OLIVEIRA SANTOS Turma: xxxxxxxxxxxxx 
Nota da Prova: 2,0 Nota de Partic.: 1 Data: 00/00/2014 
 
 
 1a Questão (Ref.: 201301072044) Pontos: 0,0 / 1,5 
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: intercalar() { } 
 
 
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'; 
} 
 
 
 
 2a Questão (Ref.: 201301246200) Pontos: 0,0 / 1,5 
Listas encadeadas são estruturas cujos nodos são alocados dinamicamente, isto é em tempo de execução, 
na medida em que se necessite de mais espaço. Sendo um nodo representado por: 
struct elemento{ 
 string nome; 
 int idade; 
 elemento *prox; 
}; 
 
Escreva em linguagem C++ uma função de nome criaNodo( ), que crie um novo nodo para ser inserido no 
final da lista, e forneça um ponteiro com o endereço do nodo criado. 
 
 
 
Resposta: 
 
 
Gabarito: 
elemento * criaNodo ( ) 
{ 
 elemento *p=new elemento; 
 p->prox=null; 
 return p; 
} 
 
 
 
 
 3a Questão (Ref.: 201301043542) 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 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. 
 
 
 
 4a Questão (Ref.: 201301246167) Pontos: 0,5 / 0,5 
Funções são instrumentos de modularização de programas, que tem como finalidade tornar o código mais 
legível, isto é mais fácil de entender, evita replicação de instruções e permite o reuso das funções em outros 
programas. Então considere o seguinte código: 
#include< iostream > 
using namespace std; 
 
int main( ) 
{ 
 float a=10.0; 
 float b=4.0; 
 cout < < media(a,b); 
 return 0; 
} 
float media(float x, float y) { return (x+y)/2;} 
 
Marque a alternativa CORRETA: 
 
 
 
O código compila normalmente e apresenta como resultado o valor 7.0 
 
O código não compila, pois os parâmetros usados na chamada da função deveriam ser "x" e "y"; 
porém a chamada se deu com identificadores "a" e "b". 
 
O código não compila, pois a função float media(float x, float y) retorna um valor que seria ser 
armazenado em uma variável do tipo float e só então poderia ser usado o comando cout para exibir o 
resultado. 
 
O código compila normalmente, pois como a descrição da função float media(float x, float y)está 
posicionada após a função int main ( ), não há necessidade do uso de protótipos. 
 O código não compila, pois há necessidade de se declarar float media(float, float) como protótipo da 
função float media(float x, float y)antes da função principal. 
 
 
 
 5a Questão (Ref.: 201301043769) Pontos: 0,0 / 0,5 
Suponha uma listagem, contendo número de inscrição e pontuação (ordenada pelo número de inscrição) 
dos candidatos para o cargo de Analista de Sistemas de uma grande empresa pública. São 1024 candidatos 
inscritos e o sistema implementado para consulta do resultado, permite busca binária ou busca sequencial 
pelo número de inscrição. O número máximo de comparações executadas se fosse utilizada a busca binária 
e se fosse utilizada busca sequencial, respectivamente, seria de: 
 
 
 
10 e 10 
 512 e 1024 
 
9 e 9 
 
9 e 10 
 1024 e 512 
 
 
 
 6a Questão (Ref.: 201301046973) Pontos: 0,5 / 0,5 
Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de 
ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a 
alternativa correta que cita o algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em 
seu lugar correto entre os elementos que já estão em ordem". E o seu passo a passo pode ser descrito 
como: "o elemento é inserido entre os ordenados movendo-se os elementos maiores que ele uma posição 
para a direita e posteriormente inserindo-o na posição vaga". 
 
 
 
Seleção 
 
Bolha 
 Inserção 
 
QuickSort 
 
MergeSort 
 
 
 
 7a Questão (Ref.: 201301252124) Pontos: 0,0 / 0,5 
Sabemos que podemos representar uma expressão de três formas, sendo que uma delas é chamada 
de notação polonesa reversa ( pós-fixa). 
Suponha que um professor de Estrutura de Dados desejasse compor a nota do bimestre com uma prova e 
um trabalho oral, usando pesos diferenciados para as notas. Sendo assim, usaria a média ponderada como a 
expressão abaixo. 
 
A única calculadora que encontrou disponível foi uma com representação pós fixa. 
Assinale a alternativa que apresenta a sequência que deveria ser digitada pelo professor para conseguir 
calcular a média de um aluno. 
 
 
 
 
/ + * nota1 peso1 * nota2 peso2 + peso1 peso2 
 
/ * nota1 peso1 + * nota2 peso2 + peso1 peso2 
 nota1 peso1 * nota2 peso2 * peso1 peso2 + + / 
 
nota1 peso1 nota2 peso2 peso1 peso2 * * + + / 
 nota1 peso1 * nota2 peso2 * + peso1 peso2 + / 
 
 
 
 8a Questão (Ref.: 201301246186) Pontos: 0,0 / 1,0 
Seja uma lista encadeada cujos nodos são formados pelo seguinte tipo de dado: 
struct empregado{ 
 long int matricula; 
 float salario; 
 empregado *proximo; 
}; 
 
Suponha que o ponteiro pont tenha o endereço de um nodo da lista, o qual se deseja atribuir um novo valor 
para o campo salario. Marque a alternativa que corretamente altera o valor do campo salariopara 5000.00. 
 
 
pont->empregado->salario=5000.00; 
 
pont.salario=5000.00; 
 
pont.empregado->salario=5000.00; 
 salario=5000.00; 
 pont.empregado.salario=5000.00 
 
 
 
 9a Questão (Ref.: 201301111029) 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: 
 
 
 
PUSH e PULL; 
 
Base e Topo; 
 
HEAP e POP; 
 
PULL e POP; 
 PUSH e POP. 
 
 
 
 10a Questão (Ref.: 201301248854) Pontos: 0,0 / 1,0 
Assinale a opção correta. Sobre pilha dinâmica podemos afirmar que : 
 
 
 
é recomendada para qualquer tipo de aplicação em que insere-se no final e retira-se do início. 
 
usa o critério FIFO, visto que é dinâmica. 
 só pode ter seus dados impressos no sentido do último nó para o primeiro nó. 
 
insere-se em qualquer posição, antes ou após qualquer nó, visto que é dinâmica. 
 usa o critério LIFO e é implementada usando-se listas encadeadas.

Outros materiais