Baixe o app para aproveitar ainda mais
Prévia do material em texto
24/05/2015 BDQ Prova data:text/html;charset=utf8,%3Ctable%20align%3D%22center%22%20width%3D%2295%25%22%20cellpadding%3D%220%22%20cellspacing%3D%22… 1/5 ESTRUTURA DE DADOS Simulado: CCT0260_SM_ V.1 Fechar Aluno(a): Matrícula: Desempenho: 1,0 de 8,0 Data: 24/05/2015 13:45:50 (Finalizada) 1a Questão (Ref.: 201407589970) Listas encadeadas são estruturas cujos nodos são alocados dinamicamente, isto é em tempo de execução, na medida em que se necessite de mais espaço. Sendo um nodo representado por: struct elemento{ string nome; int idade; elemento *prox; }; Escreva em linguagem C++ uma função de nome criaNodo( ), que crie um novo nodo para ser inserido no final da lista, e forneça um ponteiro com o endereço do nodo criado. Sua Resposta: . Compare com a sua resposta: elemento * criaNodo ( ) { elemento *p=new elemento; p>prox=null; return p; } 2a Questão (Ref.: 201407408616) 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. Sua Resposta: . Compare com a sua resposta: struct ClienteBanco{ string nome; string cpf; int rg; int numConta; double saldo; }; ClienteBanco cliente; cin >> cliente.nome; cin >> cliente.cpf; 24/05/2015 BDQ Prova data:text/html;charset=utf8,%3Ctable%20align%3D%22center%22%20width%3D%2295%25%22%20cellpadding%3D%220%22%20cellspacing%3D%22… 2/5 cin >> cliente.rg; cin >> cliente.saldo; 3a Questão (Ref.: 201407957535) Pontos: 0,0 / 1,0 A linguagem C++ oferece quatro meios de criação de tipos de dados: matrizes, estruturas ou structs, uniões e classes. As estruturas, que passaremos a chamar simplesmente de structs, são tipos de variáveis que agrupam dados geralmente desiguais, enquanto matrizes são variáveis que agrupam dados similares. Devido a esta característica as structs são utilizadas para modelar nodos (nós) de estruturas dinâmicas. Portanto podemos afirmar que: As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de compilação e terem seus tamanhos alterados de acordo com a demanda. As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tanto em tempo de execução quanto em tempo de compilação, mas não podem ter seus tamanhos alterados de acordo com a demanda. As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de compilação e entretanto seus tamanhos só são alterados na codificação de acordo com a demanda. As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de execução e terem seus tamanhos alterados de acordo com a demanda. As estruturas dinâmicas são assim chamadas, pois não podem fazer alocação de memória em tempo de execução, mas mesmo assim conseguem ter seus tamanhos alterados de acordo com a demanda. 4a Questão (Ref.: 201407627549) Pontos: 0,0 / 1,0 As variáveis são na verdade trecho de memórias que armazenam dados de diversas naturezas, portanto sempre que declarase 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. Sabendose 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: 200 9 100 100 100 200 100 9 200 9 9 200 9 100 200 24/05/2015 BDQ Prova data:text/html;charset=utf8,%3Ctable%20align%3D%22center%22%20width%3D%2295%25%22%20cellpadding%3D%220%22%20cellspacing%3D%22… 3/5 5a Questão (Ref.: 201407599625) Pontos: 0,0 / 1,0 Observe o trecho de um código abaixo struct no { int dado; struct no *proximo; }; int main() { no *lista=new no; no *pt= new no; lista>dado=1989; lista>proximo=NULL; ... //Nesse ponto, assuma que cinco nós foram alocados em uma lista simplesmente encadeada e valores atribuídos aos membros dado na sequência: 1989 2014 2011 1962 2002 e, que através do comando abaixo, o ponteiro pt passou a apontar para um nó da lista. pt>proximo=lista>proximo>proximo; Assinale a alternativa que apresenta o comando equivalente a: cout << " \nValor do ?o no: " << pt>proximo>proximo>dado; cout << " \nValor do ?o no: " << lista>proximo>proximo>proximo> proximo >dado; cout << " \nValor do ?o no: " << lista>proximo>proximo>dado; cout << " \nValor do ?o no: " << lista>proximo>proximo>proximo>dado; cout << " \nValor do ?o no: " << lista>dado; cout << " \nValor do ?o no: " << lista>proximo>dado; Gabarito Comentado. 6a Questão (Ref.: 201407929070) Pontos: 0,0 / 1,0 Uma lista linear implementada através de encadeamento deve apresentar obrigatoriamente: i) um ponteiro para o primeiro nó da lista; ii) encadeamento entre os nós, através de algum campo de ligação; iii) não deve haver uma indicação de final da lista; iv) um ponteiro para o final da lista. Levando em consideração as afirmações apresentadas, qual das alternativas é a correta? as afirmações ii e iv estão corretas. as afirmações i e ii estão corretas. somente a afirmação i esta correta. as afirmações i, ii e iii estão corretas. somente a afirmação iv esta correta. 24/05/2015 BDQ Prova data:text/html;charset=utf8,%3Ctable%20align%3D%22center%22%20width%3D%2295%25%22%20cellpadding%3D%220%22%20cellspacing%3D%22… 4/5 7a Questão (Ref.: 201408001239) Pontos: 0,0 / 1,0 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(). Podese dizer que o interior da pilha apresentase: Apenas com o dado D Vazio Com os dados A e D Apenas com o dado A Com os dados A e B 8a Questão (Ref.: 201407926126) Pontos: 0,0 / 1,0 Sabese que Push() coloca um elemento na pilha, Pop() remove um elemento da pilha e Top() exibe o elemento que se encontra no topo. Assinale a opção que indica o número que aparecerá após a execução das funções abaixo. Sequencia: Push() / Push()/ Pop()/ Push()/Pop()/ Top() Números que deverão ser empilhados nessa ordem: 8/ 15/ 23/ 13 / 18 15 18 8 13 23 Gabarito Comentado. 9a Questão (Ref.: 201407926954) Pontos: 0,0 / 1,0 Abaixo temos algumas afirmativas sobre o uso da estrutura pilha de forma estática e sequencial. Leia com muita atenção e assinale a opção correta. I Não existe movimentação na pilha quando inserimos ou removemos um elemento. Apenas o valor da variável que controla o topo é alterado. II Não podemos usar estruturas homogêneas, ou heterogêneas e uma variável para controlar o topo na alocação sequencial. III Um dos fatores que limita o crescimento da pilha é a quantidade de memória alocada quando usamos matrizes. IV Quando formos empilhar um elemento, é preciso verificar se a pilha não está cheia. Isso evita underflow. V Quando formos desempilhar um elemento, é preciso verificar se a pilha não está vazia. Isso evita overflow. II, IV e V estão corretas I, IV e V estão corretas I e III estão corretas I, IV e V estão corretas Somente a I está corretaGabarito Comentado. 24/05/2015 BDQ Prova data:text/html;charset=utf8,%3Ctable%20align%3D%22center%22%20width%3D%2295%25%22%20cellpadding%3D%220%22%20cellspacing%3D%22… 5/5 10a Questão (Ref.: 201407926797) Pontos: 1,0 / 1,0 Analise as afirmativas sobre uma pilha estática e assinale a opção correta. I Ordenar é uma operação que não se faz com pilha. II Inserir dados é uma operação que se faz com a pilha. III Remover dados em qualquer posição é uma operação que se faz com a pilha. IV Verificar se a Pilha está cheia é necessário quando se deseja inserir nela. V Inicializar uma pilha significa zerar todas as variáveis do vetor. I, II e IV estão corretas. I, II e V estão corretas. II e III estão corretas. I e IV estão corretas. I e II estão corretas. Gabarito Comentado.
Compartilhar