Buscar

ESTRUTURA_DE_DADOS_AV1

Prévia do material em texto

Avaliação: CCT0260_AV_201410094723 » ESTRUTURA DE DADOS
	Tipo de Avaliação: AV
	Aluno: 
	Professor:
	GELLARS MARIA DA SILVEIRA TAVARES
	Turma: 9001/AA
	Nota da Prova: 5,0        Nota de Partic.: 1        Data: 01/09/2015 21:18:38
	
	 1a Questão (Ref.: 201410153252)
	Pontos: 1,0  / 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: <#iostream> using namespace std; int main(){ char nome; int cpf; int rg; int numcont; int dataab; int saldo; cout << "Digite seu nome: "; cin >> nome; cout << "digite seu CPF: "; cin >> cpf; cout << "Digite seu RG: "; cin >> rg; cout << "Digite seu numero de conta: " cin >> numcont; cout << "Digite sua data de abertura da conta: " cin >> dataab; cout << "Digite seu saldo: " cin >> saldo cout << "Nome: " >> nome; cout << "CPF: " >> cpf; cout << "RG: " >> rg; cout << "Numero da conta: " >> numcont; cout << "Data de abertura de conta: " >> dataab cout << "Saldo : " >> saldo; return 0; }
	
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;
	
	
	 2a Questão (Ref.: 201410153389)
	Pontos: 0,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: const int TAMMAX = 100; struct TipoLista{ int qtde; // descritor que representa a quantidade de elementos na lista int elemt[TAMMAX]; };
	
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): Faltou a função.
	
	
	 3a Questão (Ref.: 201410745845)
	Pontos: 0,5  / 0,5
	As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados ou informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de manipulação de dados associados a estas estruturas. 
Verifique as seguintes sentenças:
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
Marque a alternativa CORRETA:
		
	 
	As alternativas I e II estão corretas
	
	As alternativas I e III estão corretas.
	
	Todas as alternativas estão corretas.
	
	As alternativas III e IV estão corretas.
	
	As alternativas II e IV estão corretas.
	
	
	 4a Questão (Ref.: 201410132339)
	Pontos: 0,0  / 0,5
	Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e marque corretamente a alternativa que descreve as funcionalidades desta.
int funcao(float v[], float vl, int n)
{
   for (int i = 0; i < n; i++)
     if (v[i] == vl)
       return i;
   return -1;
}
		
	
	Retorna o valor de vl se o valor n foi encontrado.
	
	Retorna -1 se o valor de vl estiver dentro de v.
	 
	Retorna a posição de v se o valor vl foi encontrado.
	 
	Resulta em erro, se o valor de vl não estiver dentro de v.
	
	Retorna -1 se o valor de n foi encontrado.
	
	
	 5a Questão (Ref.: 201410803907)
	Pontos: 0,0  / 0,5
	Marque a opção correta, considerando 
struct Livro { 
int codigo; 
float preco; 
} liv; 
		
	 
	Livro.codigo = 12345;
	
	liv->preco = 30.70;
	 
	liv.preco = 30.70;
	
	Livro.liv.codigo = 12345;
	
	Livro->liv.codigo = 12345;
	
	
	 6a Questão (Ref.: 201410745870)
	Pontos: 0,0  / 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.
		
	
	6 e 4
	 
	6 e 1
	 
	6 e 2
	
	5 e 5
	
	7 e 1
	
	
	 7a Questão (Ref.: 201410131786)
	Pontos: 0,5  / 0,5
	O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?
		
	
	ordenação
	
	underflow
	
	inclusão
	 
	overflow
	
	remoção
	
	
	 8a Questão (Ref.: 201410745875)
	Pontos: 0,5  / 0,5
	Considere dados sendo manipulados em uma pilha sequencial em que as operações possíveis são: inserção - push(novo valor) ou remoção - pop().
Se realizarmos a seguinte sequencia de operações:
push(A),push(B),push(C),pop(),pop(),push(D),pop(),pop().
Pode-se dizer que o interior da pilha apresenta-se:
		
	
	Com os dados A e B
	
	Apenas com o dado D
	
	Apenas com o dado A
	
	Com os dados A e D
	 
	Vazio
	
	
	 9a Questão (Ref.: 201410670888)
	Pontos: 1,0  / 1,0
	Numa Lista Encadeada, podemos afirmar que:
I) Todos os nós são alocados de uma única vez.
II) Os nós não são alocados contiguamente na memória obrigatoriamente.
III) Os elementos de uma lista encadeada são ligados por dois ponteiros.
IV) Para que possamos percorrer toda a lista, precisamos armazenar o endereço do próximo elemento para possibilitar o encadeamento.
		
	
	I, III e IV estão corretas
	
	Só a II está correta
	 
	II e IV estão corretas
	
	I, II, III e IV estão corretas
	
	I , II e III estão corretas
	
	
	 10a Questão (Ref.: 201410803914)
	Pontos: 1,0  / 1,0
	Para converter de decimal para binário usamos a estrutura de dados pilha. Assinale a opção que, corretamente, indica as ações corretas para empilhar o resto da divisão gerado no processo de conversão, considerando uma lista simplesmente encadeada. Considere o tipo definido abaixo : 
struct no { 
int dado; 
struct no *link; 
}; 
		
	
	Basta alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do novo nó e aterrar o link do novo nó.
	
	Basta alocar memória com new e armazenar o resto da divisão do número por 2 no campo dado do novo nó .
	
	É preciso armazenar o resto da divisão do número por 2 no campo dado do primeiro nó da lista e retornar o ponteiro para este nó.
	
	Não é necessário alocar memória com new. Basta criar uma struct do tipo no, armazenar o resto da divisão número por 2 no campo dado e aterrar o campo link.
	 
	É preciso alocarmemória com new, armazenar o resto da divisão do número por 2 no campo dado do novo nó, apontar o link do novo nó para o início da lista e enfim, retornar o ponteiro para o novo nó.

Continue navegando

Outros materiais