Baixe o app para aproveitar ainda mais
Prévia do material em texto
Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9003/AB Nota da Prova: 6,4 Nota de Partic.: 1,5 Data: 10/11/2014 21:07:22 1a Questão (Ref.: 201301813479) Pontos: 0,5 / 0,5 Analise o seguinte trecho de algoritmo de ordenação de dados, cujos elementos estão dispostos em um vetor de nome v com n elementos. ... { int i, j, aux; for (j = 1; j < n; j++) for (i=j; i > 0 && v[i-1]> v[i]; i--) { aux = v[i-1]; v[i-1] = v[i]; v[i] = aux; } } ... Assinale o método ao qual o trecho de algoritmo pertence. Bolha Seleção Heapsort Quicksort Inserção 2a Questão (Ref.: 201302018243) Pontos: 0,5 / 0,5 Auxiliar = 100 Numero1 = 900 Numero2 = 20 Auxiliar = 100 Numero1 = 1000 Numero2 = 20 Auxiliar = 111 Numero1 = 1000 Numero2 = 80 Auxiliar = 100 Numero1 = 900 Numero2 = 80 Auxiliar = 101 Numero1 = 900 Numero2 = 20 3a Questão (Ref.: 201301813565) Pontos: 1,0 / 1,0 A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de uma estrutura do tipo Struct? Nome da estrutura ponto tipo do campo Nome da estrutura vírgula tipo do campo Nome da estrutura ponto nome do campo Nome da estrutura seta tipo do campo Nome da estrutura seta nome do campo 4a Questão (Ref.: 201301813385) Pontos: 0,5 / 0,5 Sobre o funcionamento da busca binária, é incorreto afirmar que dividindo seu vetor em duas metades. Se o item for maior que o item que está na metade do vetor procure na segunda metade, ou seja, a da direita. Se o item for igual ao item que está na metade do vetor, o item foi encontrado. Se o item for igual ao item que está na metade do vetor, o item não foi encontrado. Se o item for menor ao item que está na primeira posição do vetor, o item não foi encontrado. Se o item for menor que o item que está na metade do vetor, procure na primeira metade, ou seja, a da esquerda. 5a Questão (Ref.: 201302023198) Pontos: 0,5 / 0,5 No ENEM 2012, 5790989 estudantes confirmaram inscrição. Evidentemente, muitos faltaram às provas e o número exato não era sabido quando foi pedido ao desenvolvedor que definisse uma função para que pudesse listar toda inscrição, e respectiva nota de redação tabulada, que tivesse alcançado uma pontuação maior ou igual à nota procurada e, ao final, o total de estudantes que atingiram essa meta. Como só interessava a nota de redação, o desenvolvedor definiu a struct abaixo e começou a definir a função queFaz(...) para que pudesse atender ao que foi pedido, usando a estrutura de dados Lista Sequencial. Entretanto, ele não conseguiu finalizar. Poderia você ajudá-lo? Assinale a alternativa correta onde está presente o trecho que completa a função. 6a Questão (Ref.: 201302052577) Pontos: 1,0 / 1,0 Dr. Pei Tam possui uma lista não ordenada de pacientes de seu consultório em que registra apenas o nome endereço e o telefone de cada paciente. Como não há limites para o crescimento de sua lista, como se pode implementar a inserção de um novo paciente na lista, sabendo que cada paciente é do tipo Paciente e a lista é do tipo List assim definidos : struct Paciente { long int matricula; string nome, endereco e tel; }; struct List { Paciente p; struct List *link; }; List * inserePac(List *i, Paciente pt) { List *novo = new List; novo->p = pt; novo->link =i; return novo; } List * inserePac(List *i) { List *novo = new List; Paciente pat; novo->p = pat; novo->link = i; return novo; } List insereCliente(List *i, Paciente pac) { List novo[]; novo[0].p = pac; novo[0].link = i; return novo; } List * inserePac(List *i, Paciente pt){ List *novo ; novo->p = pt; novo->link = i; return novo; } List * inserePac(List *i, Paciente pac) { List *novo = new List; novo.p = pac; novo.link = i; return novo; } 7a Questão (Ref.: 201302053413) 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(),pop(). Pode-se dizer que interior da pilha apresenta-se: Com os dados A e D Apenas com o dado A Com os dados A e B Apenas com o dado D Vazio 8a Questão (Ref.: 201302028614) Pontos: 1,4 / 1,5 Considere uma lista não ordenada de códigos espiões usados por Sherlock Silva. Ajude-o a encontrar um determinado código c, realizando uma busca de acordo com o seguinte protótipo: int pesquisar(int v[ ], int c, int n); Note : v é o vetor de códigos, c é o código a ser procurado e n é a quantidade de códigos existentes em v. Resposta: int pesquisar(int v[],int c,int n){ for (int i=0; i<n;i++) if (v[i]==c) return; //"achou" return -1; //"não achou" Gabarito: Fundamentação do(a) Professor(a): Faltou o return i;Faltou fechar a função. 9a Questão (Ref.: 201302020001) Pontos: 0,0 / 1,5 Faça uma função em C++ para criar uma lista duplamente encadeada com um nó e armazenar neste nó o valor 100. Note que deverá ser retornado o ponteiro para o nó criado. Considere struct nodupla { int dado; struct *dlink, *elink; }; e o seguinte protótipo : nodupla *cria(); Resposta: void mostra (nodupla*p) { wilhe (p!= NULL) { cout<<p->dado<<""p=p->dlink;}} Gabarito: nodupla *cria() { nodupla *novo; novo = new nodupla; novo->dado = 100; novo->elink = novo->dlink = NULL; return novo; } Fundamentação do(a) Professor(a): Era para criar nó e não para imprimir os dados da lista. 10a Questão (Ref.: 201301813203) 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. Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente determinada. O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações. A entrada, 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.
Compartilhar