Buscar

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

Fechar
	Avaliação: CCT0174_AV_201101229446 » ESTRUTURA DE DADOS
	Tipo de Avaliação: AV
	Aluno: 201101229446 - ELISABETH DOS REIS BRAZ
	Professor:
	SERGIO DE OLIVEIRA SANTOS
	Turma: 9001/AA
	Nota da Prova: 8,0        Nota de Partic.: 2        Data: 11/06/2014 11:22:15
	
	 1a Questão (Ref.: 201101301584)
	Pontos: 1,5  / 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: 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."; } }
	
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.";
} }
	
	
	 2a Questão (Ref.: 201101301447)
	Pontos: 1,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: struct BancoCliente { string nome[30], char cpf, char rg, int n_conta, int dt_abert, float saldo, } BancoCliente cliente; cin >> cliente.nome; cin >> cliente.cpf; cin >> cliente.rg; cin >> cliente.n_conta; cin >> cliente.dt_abert; cin >> cliente.saldo; 
	
Gabarito:
struct ClienteBanco{
    string nome;
    string cpf;
    int rg;
    int numConta;
    double saldo;
};
ClienteBanco cliente;
cin >> cliente.nome;
cin >> cliente.cpf;
cin >> cliente.rg;
cin >> cliente.saldo;
	
	
	 3a Questão (Ref.: 201101283338)
	Pontos: 0,5  / 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 registro / área de pilha
	
	( ) á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 dados globais
	
	
	 4a Questão (Ref.: 201101482775)
	Pontos: 0,5  / 0,5
	Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa sequencial e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em vetores independente destes estarem ordenados, entretanto a busca binária só se aplica em vetores ordenados.
Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos elementos do vetor até achar o que procuram ou definirem que o elemento não se encontra no vetor. Sendo assim marque a alternativa que expressa o número de testes realizados pela busca sequencial e o número de testes realizados pela busca binária, respectivamente, até encontrarem o 70.
		
	
	5 e 5
	
	6 e 4
	 
	6 e 2
	
	6 e 1
	
	7 e 1
	
	
	 5a Questão (Ref.: 201101279982)
	Pontos: 0,5  / 0,5
	O que acontece quando tentamos retirar um elemento de uma pilha que já está vazia?
		
	
	Inclusão.
	
	Remoção.
	
	Overflow.
	 
	Underflow.
	
	Ordenação.
	
	
	 6a Questão (Ref.: 201101485284)
	Pontos: 0,5  / 0,5
	   Considere uma pilha sequencial P com capacidade para n elementos.
   Sabendo que P é do tipo Pilha definido a seguir, marque a opção que corretamente implementa a operação de empilhamento, considerando que o topo da pilha recebeu -1 na inicialização.
 
struct Pilha {
                   int v[n], topo;
                 };
 
		
	
	void empilhar(Pilha P, int valor) {
       if (P.topo == n)
          cout << "Pilha cheia.";
      else      {
          P.topo++;
          P.v[P.topo] = valor;
       }
}
	
	void empilhar(Pilha P, int valor) {
       if (P.topo == n - 1)
          cout << "Pilha cheia.";
      else      {
          P.topo++;
          P.v[P.topo] = valor;
       }
}
	
	void empilhar(Pilha &P, int valor) {
       if (P.topo == n - 1)
          cout << "Pilha cheia.";
      else
             P.v[P.topo] = valor;
}
 
	
	void empilhar(Pilha &P, int valor) {
       if (topo == n - 1)
          cout  <<  "Pilha cheia.";
      else       {
           topo++;
           v[topo] = valor;
       }
}
	 
	void empilhar(Pilha &P, int valor) {
       if (P.topo == n - 1)
          cout << "Pilha cheia.";
      else      {
          P.topo++;
          P.v[P.topo] = valor;
       }
}
	
	
	 7a Questão (Ref.: 201101280537)
	Pontos: 1,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.
	 
	Ponteiros.
	
	Passagem por valor.
	
	Envio de valor.
	
	
	 8a Questão (Ref.: 201101272119)
	Pontos: 1,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.
	
	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, sem disciplina de acesso, onde o primeiro elemento a entrar é o último a sair.
	 
	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.
	
	
	 9a Questão (Ref.: 201101272050)
	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 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.
	
	É um modo de utilização de dados nos programas de computador.
	
	São os nomes dados as variáveis na montagem de uma rotina.
	
	
	 10a Questão (Ref.: 201101485213)
	Pontos: 0,5  / 0,5
	Com relação à struct,  é correto afirmar que :
		
	 
	Cada elemento da struct é denominado membro ou campo, sendo que a struct pode armazenar elementos de tipos diferentesou não.
	
	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.
	
	A struct é sempre definida dentro da main.
	
	Cada elemento da struct  é chamado componente.

Continue navegando

Outros materiais