Buscar

AVS ESTRUTURA 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 4 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

Prévia do material em texto

Avaliação»AVS ESTRUTURA DE DADOS
	Tipo de Avaliação: AVS 
	Aluno: 
	Professor:
	
	Turma: 
	Nota da Prova: 8,0        Nota de Partic.: 2        Data 
	
	 1a Questão (Ref.: 201405347535)
	sem. N/A: Discursiva - Estrutra de Dados
	Pontos: 1,5  / 1,5 
	Escreva em linguagem C++ uma função de nome achaMaior( ), que receba como parâmetros um vetor de inteiros e um  outro parâmetro do tipo inteiro que represente o tamanho deste vetor. A função deve também, buscar e retornar  o maior elemento do vetor.
		
	
Resposta: intachar maior (int v[],int T)} int maior=V[0]; for(int i=1;i <t;i++){ if(maior <v[i]maior=v[i];} return maior;}
	
Gabarito: 
int achaMaior(int v[ ], int t)
{
      int maior=v[0];
      for( int i=1; i < t; i++)
     {
           if( maior < v[i] ) maior=v[i];
      }
      return maior;
}
	
	
	 2a Questão (Ref.: 201405173393)
	10a sem.: Lista Simplesmente Encadeada
	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)//e um ponteiro pra inicioda lista {a*,b*,c*;a= ini; b= null;while (a!=null){c=b;b=a;a=a->link=c;}ini=b;return (ini);/8fim da funcao*/
	
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 */ 
	
	
	 3a Questão (Ref.: 201405384263)
	sem. N/A: Apresentando as estruturas de dados
	Pontos: 0,5  / 0,5 
	Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de diretórios (pastas) e sub-diretórios. Qual a estrutura mais adequada para representar este problema ?
		
	
	lista
	
	fila
	
	pilha
	
	grafo
	
	árvore
	
	
	 4a Questão (Ref.: 201405145271)
	2a sem.: Unidade 2
	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 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 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.
	
	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.
	
	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".
	
	
	 5a Questão (Ref.: 201405144910)
	3a sem.: UNIDADE 3: ORDENAÇÃO
	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. 
	
	É 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. 
	
	
	 6a Questão (Ref.: 201405212367)
	4a sem.: ESTRUTURA DE DADOS
	Pontos: 0,5  / 0,5 
	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, III, IV e V.
	
	II, IV e V.
	
	I, III, IV e V.
	
	I, II e III.
	
	
	 7a Questão (Ref.: 201405212373)
	5a sem.: ORDENAÇÃO
	Pontos: 0,5  / 0,5 
	São métodos ou algoritmos conhecidos de ordenação de dados por troca:
		
	
	quicksort e hashing.
	
	hashing e bubble sort.
	
	bubble sort e quicksort.
	
	ordenação shell e hashing.
	
	busca por ordenação e ordenação shell.
	
	
	 8a Questão (Ref.: 201405383110)
	sem. N/A: Pilha sequencial
	Pontos: 0,5  / 0,5 
	Um jogo de memória fornece sequências de números e o jogador deve dizer qual a sequência inversa para cada nova sequência fornecida pelo jogo. Qual a estrutura de dados mais adequada para modelar esse jogo ?
		
	
	lista
	
	fila
	
	grafo
	
	pilha
	
	árvore
	
	
	 9a Questão (Ref.: 201405385113)
	sem. N/A: Aula 8 - Q4
	Pontos: 1,0  / 1,0 
	As variáveis são na verdade trecho de memórias que armazenam dados de diversas naturezas, portanto sempre que declara-se uma variável, na linguagem C++, é necessário informar o tipo de dado que esta irá armazenar. Um tipo especial de variáveis são os ponteiros, isto é, variáveis que armazenam apenas os endereços de outras variáveis. Assim os ponteiros são usados para que se possa acessar de forma indireta uma outra variável. Sabendo-se disto e supondo que o endereço na memória da variável "a" é 100 e o endereço da memória da variável ponteiro é 200, analise o trecho de código abaixo e marque a alternativa que representa a saída do programa:
 
		
	
	100 100 200
	
	9 9 200
	
	9 100 200
	
	100 9 200
	
	200 9 100
	
	
	 10a Questão (Ref.: 201405148309)
	10a sem.: Unidade 4
	Pontos: 1,0  / 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;
 }
}
		
	
	Colocar o valor NULL em todos os ponteiros
	
	Posicionar o ponteiro no final da lista
	
	Posicionar o ponteiro no início da lista
	
	Posicionar o ponteiro onde houver o valor NULL
	
	Posicionar o ponteiro no meio da lista

Outros materiais