Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação: CCT0260_AV_201301014354 » ESTRUTURA DE DADOS Tipo de Avaliação: AV Aluno: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Professor: SERGIO DE OLIVEIRA SANTOS Turma: xxxxxxxxxxxxx Nota da Prova: 2,0 Nota de Partic.: 1 Data: 00/00/2014 1a Questão (Ref.: 201301072044) Pontos: 0,0 / 1,5 Os agentes Peter e Paul receberam mensagens de seus contatos. Para saberem qual o próximo passo da missão, precisam intercalar as duas mensagens recebidas, que sabe-se, são do mesmo tamanho. Faça uma função que receba dois vetores v e w como parâmetros, cada um com n elementos, e gere um vetor z, resultante da intercalação entre v e w. Exemplo para visualização : Mensagem 1 : ECPM Mensagem 2 : SAE! Mensagem resultante : ESCAPEM! Resposta: intercalar() { } Gabarito: void intercalar(char v[ ], char w[ ], char z[ ], int n) { int i; for ( i = 0; i < n; i++) { z[i*2] = v[i]; z[i*2 + 1] = w[i]; } z[2*n] = '\0'; } 2a Questão (Ref.: 201301246200) Pontos: 0,0 / 1,5 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. Resposta: Gabarito: elemento * criaNodo ( ) { elemento *p=new elemento; p->prox=null; return p; } 3a Questão (Ref.: 201301043542) Pontos: 0,5 / 0,5 Podemos dizer que estrutura de dados é: É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do problema. O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo. A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do problema. O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações. Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente determinada. 4a Questão (Ref.: 201301246167) Pontos: 0,5 / 0,5 Funções são instrumentos de modularização de programas, que tem como finalidade tornar o código mais legível, isto é mais fácil de entender, evita replicação de instruções e permite o reuso das funções em outros programas. Então considere o seguinte código: #include< iostream > using namespace std; int main( ) { float a=10.0; float b=4.0; cout < < media(a,b); return 0; } float media(float x, float y) { return (x+y)/2;} Marque a alternativa CORRETA: O código compila normalmente e apresenta como resultado o valor 7.0 O código não compila, pois os parâmetros usados na chamada da função deveriam ser "x" e "y"; porém a chamada se deu com identificadores "a" e "b". O código não compila, pois a função float media(float x, float y) retorna um valor que seria ser armazenado em uma variável do tipo float e só então poderia ser usado o comando cout para exibir o resultado. O código compila normalmente, pois como a descrição da função float media(float x, float y)está posicionada após a função int main ( ), não há necessidade do uso de protótipos. O código não compila, pois há necessidade de se declarar float media(float, float) como protótipo da função float media(float x, float y)antes da função principal. 5a Questão (Ref.: 201301043769) Pontos: 0,0 / 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: 10 e 10 512 e 1024 9 e 9 9 e 10 1024 e 512 6a Questão (Ref.: 201301046973) Pontos: 0,5 / 0,5 Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta que cita o algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre os elementos que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido entre os ordenados movendo-se os elementos maiores que ele uma posição para a direita e posteriormente inserindo-o na posição vaga". Seleção Bolha Inserção QuickSort MergeSort 7a Questão (Ref.: 201301252124) Pontos: 0,0 / 0,5 Sabemos que podemos representar uma expressão de três formas, sendo que uma delas é chamada de notação polonesa reversa ( pós-fixa). Suponha que um professor de Estrutura de Dados desejasse compor a nota do bimestre com uma prova e um trabalho oral, usando pesos diferenciados para as notas. Sendo assim, usaria a média ponderada como a expressão abaixo. A única calculadora que encontrou disponível foi uma com representação pós fixa. Assinale a alternativa que apresenta a sequência que deveria ser digitada pelo professor para conseguir calcular a média de um aluno. / + * nota1 peso1 * nota2 peso2 + peso1 peso2 / * nota1 peso1 + * nota2 peso2 + peso1 peso2 nota1 peso1 * nota2 peso2 * peso1 peso2 + + / nota1 peso1 nota2 peso2 peso1 peso2 * * + + / nota1 peso1 * nota2 peso2 * + peso1 peso2 + / 8a Questão (Ref.: 201301246186) Pontos: 0,0 / 1,0 Seja uma lista encadeada cujos nodos são formados pelo seguinte tipo de dado: struct empregado{ long int matricula; float salario; empregado *proximo; }; Suponha que o ponteiro pont tenha o endereço de um nodo da lista, o qual se deseja atribuir um novo valor para o campo salario. Marque a alternativa que corretamente altera o valor do campo salariopara 5000.00. pont->empregado->salario=5000.00; pont.salario=5000.00; pont.empregado->salario=5000.00; salario=5000.00; pont.empregado.salario=5000.00 9a Questão (Ref.: 201301111029) Pontos: 0,5 / 0,5 Na estrutura de dados tipo pilha, há duas operações básicas para empilhamento e desempilhamento. Essas operações são conhecidas como: PUSH e PULL; Base e Topo; HEAP e POP; PULL e POP; PUSH e POP. 10a Questão (Ref.: 201301248854) Pontos: 0,0 / 1,0 Assinale a opção correta. Sobre pilha dinâmica podemos afirmar que : é recomendada para qualquer tipo de aplicação em que insere-se no final e retira-se do início. usa o critério FIFO, visto que é dinâmica. só pode ter seus dados impressos no sentido do último nó para o primeiro nó. insere-se em qualquer posição, antes ou após qualquer nó, visto que é dinâmica. usa o critério LIFO e é implementada usando-se listas encadeadas.
Compartilhar