Buscar

estrutura de dados AV 2014.1

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

Prévia do material em texto

Avaliação: » ESTRUTURA DE DADOS 
Tipo de Avaliação: AV 
Aluno: 
Professor: ALEXANDRE SOARES ALVES Turma 
Nota da Prova: 3,0 Nota de Partic.: 1 Data: 09/06/2014 08:52:34 
 
 
 1a Questão (Ref.: 201301395820) Pontos: Sem Correç. / 1,5 
 Faça uma função em C++ para criar uma lista duplamente encadeada com 
um nó e armazenar neste nó o valor 100. Note que deverá ser retornado o 
ponteiro para o nó criado. Considere 
 struct nodupla { 
 int dado; 
 struct *dlink, *elink; 
 }; 
 
e o seguinte protótipo : nodupla *cria(); 
 
 
Resposta: 
 
 
Gabarito: 
nodupla *cria() 
{ 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = 100; 
 novo->elink = novo->dlink = NULL; 
 return novo; 
 
} 
 
 
 
 
 2a Questão (Ref.: 201301189056) Pontos: 0,0 / 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. 
 
É 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 fazer uma busca em um vetor desordenado, dividindo o espaço de 
busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do 
meio. 
 
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o 
total de elementos. 
 
 
 
 3a Questão (Ref.: 201301397582) Pontos: 0,0 / 1,5 
No dia 20 de fevereiro de 2002(20022002), vivenciou-se um 
momento que só acontecerá novamente em 21 de dezembro de 
2112(21122112). 
 
Acredito que muitas pessoas não tinham familiaridade com o 
termo capicua que, segundo o dicionário do Aurélio, se aplica a 
um grupo de algarismos que lidos da esquerda para direita, ou da 
direita para esquerda, representam o mesmo número. 
 
Construa uma função que receba um número inteiro longo e 
retorne o número escrito de trás para frente. Exemplo: recebe 123 
e retorna 321. 
 
 
 
Resposta: 
 
 
Gabarito: 
long long int espelha(long long int num ) //pode ser long long 
{ 
 long long int espelhado=0; //pode ser long long 
 while (num > 0) 
 { 
 espelhado = 10 * espelhado + num % 10; 
 num = num / 10; 
 } 
 return espelhado; 
} 
 
 
 
 4a Questão (Ref.: 201301394081) Pontos: 0,5 / 0,5 
 
 Navegadores para internet armazenam os últimos endereços visitados em 
uma estrutura de dados. Cada vez que um novo site é visitado, o endereço 
do site é adicionado na estrutura de endereços. Quando se aciona o retorno 
("back"), o navegador permite que o usuário retorne no último site visitado 
e retira o endereço do site da estrutura de dados. 
Assinale a estrutura de dados mais adequada para este problema. 
 
 
grafo 
 
fila 
 
lista 
 
árvore 
 
pilha 
 
 
 
 5a Questão (Ref.: 201301391647) 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, 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 compila normalmente e apresenta como resultado o valor 7.0 
 
O código não compila, pois há necessidade de se declarar float media(float, float) 
como protótipo da função float media(float x, float y)antes da função principal. 
 
O código não compila, pois a função float media(float x, float y) retorna um valor 
que seria ser armazenado em uma variável do tipo float e só então poderia ser 
usado o comando cout para exibir o resultado. 
 
O código 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". 
 
 
 
 6a Questão (Ref.: 201301394114) Pontos: 0,0 / 0,5 
 
 
 por seleção. 
 por inserção. 
 
 
 uma mistura dos métodos de ordenação por seleção e por inserção. 
 bubblesort. 
 uma mistura dos métodos de ordenação por inserção e bubblesort. 
 
 
 
 7a Questão (Ref.: 201301391657) Pontos: 0,5 / 0,5 
As estruturas de dados são utilizadas para manter dados ou informações organizados na 
memória, o que possibilita a otimização do uso destes dados. Porém, as estruturas 
guardam características especiais na manipulação destes dados, assim deve-se escolher a 
estrutura certa ou mais adequada para uma determinada aplicação. Portanto marque a 
opção que representa a melhor estrutura, quando se tem como requisitos principais o 
acesso aleatório aos dados e alocação destes de forma contínua na memória. 
 
 
Lista Sequencial 
 
Lista Encadeada 
 
Fila Sequencial 
 
Pilha Encadeada 
 
Pilha Sequencial 
 
 
 
 8a Questão (Ref.: 201301397604) Pontos: 0,5 / 0,5 
Sabemos que podemos representar uma expressão de três 
formas, sendo que uma delas é chamada de notação polonesa 
reversa ( pós-fixa). 
Suponha que um professor de Estrutura de Dados desejasse 
compor a nota do bimestre com uma prova e um trabalho oral, 
usando pesos diferenciados para as notas. Sendo assim, usaria a 
média ponderada como a expressão abaixo. 
 
A única calculadora que encontrou disponível foi uma com 
representação pós fixa. 
Assinale a alternativa que apresenta a sequência que deveria ser 
digitada pelo professor para conseguir calcular a média de um 
aluno. 
 
 
 nota1 peso1 nota2 peso2 peso1 peso2 * * + + / 
 / + * nota1 peso1 * nota2 peso2 + peso1 peso2 
 nota1 peso1 * nota2 peso2 * + peso1 peso2 + / 
 nota1 peso1 * nota2 peso2 * peso1 peso2 + + / 
 / * nota1 peso1 + * nota2 peso2 + peso1 peso2 
 
 
 
 9a Questão (Ref.: 201301391666) 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 salario para 5000.00. 
 
 
pont.empregado.salario=5000.00 
 
pont->empregado->salario=5000.00; 
 
salario=5000.00; 
 
pont.salario=5000.00; 
 
pont.empregado->salario=5000.00; 
 
 
 
 10a Questão (Ref.: 201301192447) 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. 
 
 
t=p->dir; 
p->esq = p->dir; 
p->dir = t; 
 
t=p->dir; 
p->dir = p->esq; 
p->esq = t; 
 
t=p; 
p->esq = p->dir; 
p->dir = p->esq; 
 
p->dir=t; 
p->esq = p->dir; 
p->dir = t; 
 
p->esq = p->dir; 
t = p->esq;p->dir = t;

Continue navegando

Outros materiais