Buscar

AV Estrutura Dados EAD 2014

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

1a Questão (Ref.: 201401618127)
	Pontos: 0,5  / 0,5
	 
		
	
	O programa executa perfeitamente, mas não mostra o valor da media já que esta função não foi chamada na função main( ).
	 
	O programa executa perfeitamente independente da ordem das funções já que existem os seus protótipos.
	
	O programa não executa corretamente, pois o protótipo da função media( ) não apresenta a identificação dos parâmetros, mas apenas os tipos dos mesmos.
	
	O programa não executa corretamente, pois os protótipos estão fora da ordem em que as funções são descritas.
	
	O programa não executa corretamente pois as funções devem ser descritas antes da função main(), para que o compilador consiga reconhecê-las.
	
	
	 2a Questão (Ref.: 201401378179)
	Pontos: 0,5  / 0,5
	Suponha uma listagem, contendo número de inscrição e pontuação (ordenada pelo número de inscrição) dos candidatos para o cargo de Analista de Sistemas de uma grande empresa pública. São 1024 candidatos inscritos e o sistema implementado para consulta do resultado, permite busca binária ou busca sequencial pelo número de inscrição. O número máximo de comparações executadas se fosse utilizada a busca binária e se fosse utilizada busca sequencial, respectivamente, seria de:
		
	
	9 e 9
	
	9 e 10
	
	10 e 10
	
	1024 e 512
	 
	512 e 1024
	
	
	 3a Questão (Ref.: 201401618174)
	Pontos: 0,0  / 0,5
	Pilhas são estruturas de dados que se utilizam do algoritmo LIFO, last in first out, ou melhor, o último a entrar é o primeiro a sair. Desta forma pode-se abstrair que existe apenas um local para a saída e a entrada de dados, ou seja o topo da pilha.
Supondo que uma pilha seja implementada por um vetor de inteiros de tamanho 10 e que exista uma variável global chamada topo para indexar esta posição de entrada e saída de dados e ainda quando esta variável assume o valor -1 indica que a pilha está vazia. Marque a opção que melhor ilustra a função de exclusão de um dado do vetor pilha, supondo ainda que o vetor tenha sido declarado inicialmente de forma global.
		
	
	void pop(){ if(pilha != -1) pilha[topo];}
	 
	void pop(){ if(topo != -1) pilha[topo-1];}
	
	void pop(){ if(pilha != -1) pilha[topo-1];}
	
	void pop(){ if(topo != -1) topo++;}
	 
	void pop(){ if(topo != -1) topo--;}
	
	
	 4a Questão (Ref.: 201401378334)
	Pontos: 0,0  / 0,5
	Analisando o trecho do algoritmo abaixo,
pode-se afirmar que se trata de uma operação de:
		
	 
	Inserção de um elemento em uma estrutura LIFO
	
	Remoção de um elemento de uma estrutura 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
	
	
	 5a Questão (Ref.: 201401583235)
	Pontos: 1,0  / 1,0
	
		
	
	void enfileirar(Fila F, int valor) {
     if (F.fim == n)
       cout << "Fila cheia\n";
     else    {
          F.fim++;
          F.v[F.fim] = valor;
      }
}
	
	void enfileirar(Fila F, int valor) {
     if (F.fim == n - 1)
       cout << "Fila cheia\n";
     else    {
          F.fim++;
          F.v[F.fim] = valor;
      }
}
	 
	void enfileirar(Fila &F, int valor) {
     if (F.fim == n - 1)
       cout << "Fila cheia\n";
     else    {
          F.fim++;
          F.v[F.fim] = valor;
      }
}
	
	void enfileirar(Fila &F, int valor) {
     if (fim == n - 1)
       cout << "Fila cheia\n";
     else    {
          fim++;
          v[fim] = valor;
      }
}
	
	void enfileirar(Fila &F, int valor) {
     if (F.fim == n - 1)
       cout << "Fila cheia\n";
     else   
          F.v[F.fim] = valor;
  }
	
	
	 6a Questão (Ref.: 201401377979)
	Pontos: 0,5  / 0,5
	Marque a afirmativa correta para a "inserção incremental".
		
	
	A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.
	
	É um tipo de ordenação por intercalação
	
	Os pivôs são escolhidos aleatoriamente.
	 
	Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
	
	É um tipo de sequenciação por intercalação.
	
	
	 7a Questão (Ref.: 201401378318)
	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 nó seguinte.
	 
	Em uma lista simplesmente encadeada cada nó aponta para um único nó enquanto a lista duplamente encadeada aponta para mais de um nó.
	
	Em uma lista duplamente encadeada cada nó aponta para nó seguinte e para o primeiro nó da fila.
	
	Em uma lista duplamente encadeada, cada nó aponta para um nó enquanto a lista simplesmente encadeada aponta para mais de um nó.
	
	Em uma lista simplesmente encadeada cada nó aponta para nó seguinte e para o nó anterior.
	
	
	 8a Questão (Ref.: 201401381147)
	Pontos: 0,0  / 0,5
	No programa abaixo, diga em que área de memória serão alocados os elementos de dados y e r, respectivamente.
#include 
using namespace std; 
int x, y; 
float media( float a, float b ) 
{ float tmp; 
tmp = (a + b ) / 2.0; 
return ( tmp ); 
} 
int main() 
{ 
float r; 
cout<<"Informe 2 valores: "; 
cin>>x>> y; 
r = media( x, y ); 
cout<<"\nMedia = "<< r<<"\n"; 
system ("pause"); 
}
		
	 
	( ) área de dados globais / área de pilha
	
	( ) área de registro / área de dados globais
	
	( ) área de registro / área de pilha
	 
	( ) área de dados globais / área de registro
	
	( ) área de pilha / área de registro
	
	
	 9a Questão (Ref.: 201401399393)
	Pontos: 0,0  / 1,5
	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.
		
	
Resposta: int inserir(&lista[], int tam, int v){ if(lista.qtde == tam-1){ cout << 'Tamanho maximo atingido'; return 0; } else { lista.qtde ++; lista.v[lista.qtde] = v; return 1; } }
	
Gabarito:
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.";
} }
	
Fundamentação do(a) Professor(a): Cabeçalho da função está errado // não existe tam // Não existe membro v // NADA posso apoveitar
	
	
	 10a Questão (Ref.: 201401399256)
	Pontos: 0,5  / 1,5
	Defina um tipo de dado (registro) capaz de armazenar as seguintes informações sobre um determinado cliente de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo.
Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente feita pelo usuário.
		
	
Resposta: Definição do registro: struct registro{ char nome[40]; // nome list d char long long CPG; // guardar como inteiro longo int RG; // inteiro int nConta; // conta guardada como inteiro, sem ponto ou '-' char dtAbertura[9] // data guardada como list de char 01/01/01 float saldo; } -------------- Leitura: cout << 'Nome: ' << dado.nome << ', CPF: ' << dado.CPF << ', RG: ' << dado.RG << ', Num. da Conta: ' << dado.nConta << ', Dt. de Abertura: ' << dado.dtAbertura << ' com SALDO: ' << dado.saldo;
	
Gabarito:
struct ClienteBanco{
    string nome;
    string cpf;
    int rg;
    int numConta;
    doublesaldo;
};
ClienteBanco cliente;
cin >> cliente.nome;
cin >> cliente.cpf;
cin >> cliente.rg;
cin >> cliente.saldo;
	
Fundamentação do(a) Professor(a): A struct está correta.O trecho entrada, não

Outros materiais