Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão (Cód.: 27759) 1a sem.: UNIDADE 1: INTRODUÇÃO Pontos: 0,0 / 1,0 Podemos dizer que um container é: 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. 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. O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo. 2a Questão (Cód.: 27602) 2a sem.: UNIDADE 2: Pontos: 1,0 / 1,0 Considere uma estrutura de dados do tipo vetor. Com respeito a tal estrutura, é correto que seus componentes são caracteristicamente: Homogêneos e de acesso aleatório por intermédio de índices. Heterogêneos e com acesso FIFO. Heterogêneos e com acesso LIFO. Homogêneos e com acesso indexado-sequencial. Heterogêneos e com acesso indexado-sequencial. 3a Questão (Cód.: 19686) 14a sem.: Lista Duplamente Encadeada Pontos: 0,0 / 1,0 Uma lista simplesmente encadeada pode ser transformada em uma lista duplamente encadeada em tempo O(1) PORQUE, para transformar uma lista simplesmente encadeada em duplamente encadeada basta fazer uma cópia invertida de cada ponteiro (o destino do novo ponteiro passa a ser a origem do ponteiro original e vice-versa) e existe um número constante e limitado de cópias a fazer. Analisando as afirmações acima, conclui-se que: as duas afirmações são verdadeiras e a segunda não justifica a primeira. a primeira afirmação é verdadeira e a segunda é falsa. as duas afirmações são falsas. a primeira afirmação é falsa e a segunda é verdadeira. as duas afirmações são verdadeiras e a segunda justifica a primeira. 4a Questão (Cód.: 28131) 10a sem.: Unidade 1 Pontos: 0,0 / 1,0 O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens. Proteção de memória, transferência de dados, estruturas simples. Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes. Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos. Acesso, representação, compartilhamento de memória. Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos. 5a Questão (Cód.: 27566) 3a sem.: UNIDADE 3: Pontos: 0,0 / 1,0 Em uma pesquisa sequencial a lista deve estar? desordenada somente da metade da lista até o final. ordenada somente o primeiro da lista. ordenada somente do início até a metade da lista. ordenada ou desordenada. sempre desordenada. 6a Questão (Cód.: 19678) 11a sem.: Lista Duplamente Encadeada Pontos: 0,0 / 1,0 Uma lista ligada é uma estrutura que corresponde a uma sequência lógica de entradas ou nós. Cada nó armazena a localização do próximo elemento na sequência, ou seja, de seu nó sucessor. Nessa estrutura, o armazenamento de uma lista requer uma área contígua de memória para permitir a otimização no processamento de criação e remoção de nós da lista. enquanto a entrada que determina o topo da lista é mantida em um nó descritor dessa lista, a entrada que marca o fim da lista é mantida fora do descritor. para estabelecer a ligação entre um nó já pertencente a uma lista e um novo nó, basta fazer com que o novo nó referencie no, campo next, o nó que anteriormente era referenciado pelo nó original, desde que esse campo não tenha o valor nulo. a existência de um ponteiro apontando para o 1º elemento e outro para o fim da lista permite que a inserção ou deleção de dados de um nó que esteja no meio da lista seja rapidamente executada. o armazenamento de uma lista não requer uma área contígua de memória. Como listas são estruturas dinâmicas, normalmente são definidos procedimentos que permitem criar e remover nós na memória. 7a Questão (Cód.: 28092) 7a sem.: Listas Pontos: 0,0 / 1,0 Considerando que uma fila seqüencial utiliza dois apontadores para indicar suas posições de final e início da estrutura, supondo que a fila foi criada com os apontadores apontando para a posição zero do vetor, qual das alternativas a seguir pode caracterizar uma fila vazia? Quando o apontador de início apontar para zero. Quando o apontador de final apontar para zero. Quando o apontador de final menos um (final-1) for igual ao inicio. Quando os apontadores de final e início apontarem para zero. Quando o apontador de posição final for igual ao início. 8a Questão (Cód.: 19664) 5a sem.: UNIDADE 5: LISTAS LINEARES ENCADEADAS: PILHA (REPRESENTAÇÃO, OPERAÇÕES BÁSICAS E APLICAÇÃO). Pontos: 1,0 / 1,0 A técnica LIFO (last in first out), utilizada em programação estruturada, é fundamentada no conceito de: loop array ponteiro pilha fila 9a Questão (Ref.: 201311252482) Pontos: 0,0 / 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 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: Todas as alternativas estão corretas. As alternativas I e II estão corretas As alternativas I e III estão corretas. As alternativas II e IV estão corretas. As alternativas III e IV estão corretas. 10a Questão (Ref.: 201311041795) Pontos: 0,0 / 0,5 Analise as seguintes afirmações: I. Na Passagem por Referência, o parâmetro que vai ser passado na chamada da função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a variável correspondente. II. Uma recursão consiste em uma função chamar ela mesma com argumentos sempre do mesmo valor. III. Considerando-se o escopo das variáveis, é correto afirmar que uma variável é dita global quando a sua passagem no momento da chamada de uma função se dá tanto por valor quanto por referência. Uma variável é dita local quando esta passagem se dá apenas por valor. Indique a opção que contenha todas as afirmações verdadeiras. somente a alternativa I. I e II. I e III. II e III. somente a alternativa e II. 11a Questão (Ref.: 201311252492) Pontos: 0,5 / 0,5 Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como: struct aluno { string nome; float nota; }; Suponha ainda que exista um vetor desta estrutura, definido como: alunovet [ 100]; Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo elemento deste vetor. vet[10].nota=5.7; aluno.vet[10].nota=5.7; aluno.vet[10]=5.7; vet[10].aluno.nota=5.7 ; vet[10]=aluno.5.7; 12a Questão (Ref.: 201311252499) Pontos: 0,0 / 0,5 As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que possibilita a otimização do uso destes dados. Porém, as estruturas guardam características especiais na manipulação destes dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada aplicação. Portanto marque a opção que representa a melhor estrutura, quando se tem como requisitos principais o acesso aleatório aos dados e alocação destes de forma contínua na memória. Lista Sequencial Fila Sequencial Pilha Encadeada Lista Encadeada Pilha Sequencial 13a Questão (Ref.: 201311050200) Pontos: 1,0 / 1,0 Qual das alternativas a seguir pode definir uma estrutura de fila? Entrada e saída de dados pelo início. Entrada de dados pelo final e saída pelo início. Entrada de dados pelo início e saída pelo final. Entrada e saída de dados pelo final. Entrada e saída de dados em qualquer local. 14a Questão (Ref.: 201311050242) Pontos: 1,0 / 1,0 O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens. Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos. Proteção de memória, transferência de dados, estruturas simples. Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes. Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos. Acesso, representação, compartilhamento de memória. 15a Questão (Ref.: 201110088390) Em que aplicação se pode utilizar a "ordenação"? Busca, Par mais próximo, Unicidade de elementos, Distribuição de frequência, Seleção e Casco conexo. Busca, Par mais próximo, Unicidade de elementos, Distribuição de frequência, Seleção e Casco convexo. Busca, Par mais endógeno, Unicidade de elementos, Distribuição de frequência, Seleção e Casco convexo. Busca, Par mais próximo, Unicidade de elementos, Distribuição de ausência, Seleção e Casco convexo. Busca, Par mais próximo, Unicidade de elementos, Distribuição de ausência, Seleção e Casco conexo. 16a Questão (Ref.: 201110290997) 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. 7 e 1 6 e 4 5 e 5 6 e 1 6 e 2 17a Questão (Ref.: 201110088735) O processo de rearranjar um conjunto de dados em uma ordem crescente ou decrescente é chamado de ordenação. Existem várias técnicas de ordenação, entretanto a técnica que procura o menor valor entre todos os elementos do vetor e troca-o pelo primeiro elemento; para os n - 1 elementos restantes, determinação do elemento de menor valor e troca pelo segundo elemento e assim sucessivamente, é chamado de: Binária Bolha Seleção Hash Inserção 18a Questão (Cód.: 27971) 2a sem.: Unidade 3 : Pontos: 0,5 / 0,5 Com relação as listas lineares sequenciais: I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array. II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice. III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes. Apenas as afirmações II e III estão corretas. Apenas as afirmações I e II estão corretas. Apenas as afirmações I e III estão corretas. Apenas as afirmações II está corretas. Apenas a afirmação I está correta. 19a Questão (Cód.: 31180) 3a sem.: UNIDADE 3 Pontos: 1,0 / 1,0 Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O algoritmo que utiliza esta metodologia é: Bolha Seleção Pesquisa sequencial Pesquisa binária Inserção 20a Questão (Cód.: 19663) 2a sem.: Unidade 2 : Funções e Unidade 3 : Listas Lineares Sequenciais Pontos: 0,5 / 0,5 Assinale a alternativa que apresenta duas formas de passagem de parâmetros para uma rotina ou função: Por teste e por reforço. Por valor e por referência Por memória e por disco. Por reforço e por referência. Por inferência e por valor. 21a Questão (Ref.: 201407444802) Pontos: 0,1 / 0,1 A implementação da pilha de chamadas e retorno de funções é um tópico muito importante. Além disso, estratégias para o gerenciamento de outra área de memória chamada de heap são importantes para a comprensão de objetos dinâmicos como ________________. Com base na afirmativa marque a opção correta para completá-la: VETORES MATRIZES ESTRUTURAS REPETIÇÕES CONDICIONAIS 22a Questão (Ref.: 201408124306) Pontos: 0,1 / 0,1 Sobre as estruturas de dados existentes podemos afirmar que: A estrutura do tipo LIFO sempre realiza a remoção do elemento mais antigo inserido. Na estrutura das Pilhas a manipulação dos dados sempre se dá no topo. Encadeamento estático e dinâmico apresentam o mesmo funcionamento de alocação na estrutura do tipo PILHA. Na estrutura do tipo FIFO, as informações são inseridas no início e removidas do final. Na estrutura do tipo LIFO, as informações são inseridas no início e removidas do final. 1a Questão (Ref.: 201408118238) Pontos: 0,0 / 0,1 Considere int *ptr, *qtr, *r; int a = 10, b = 20; Após executar cada instrução conforme a ordem dada a seguir : ptr = &a; qtr = &b; *ptr = *ptr + *qtr; ++(*qtr); r = qtr; qtr = ptr; assinale a opção que mostra, correta e respectivamente, os valores de *ptr, *qtr , *r , a e b . 30 20 0 30 21 30 30 21 30 21 30 21 21 10 20 30 20 20 10 20 30 30 21 10 2023a Questão (Ref.: 201408023209) Pontos: 0,0 / 0,1 O vetor {5,4,6,3,1,2} quando ordenado através do Bubble Sort, possui quantas comparações e quantas trocas? 10 comparações e 8 Trocas 10 comparações e 3 Trocas 10 comparações e 10 Trocas 10 comparações e 4 Trocas 10 comparações e 9 Trocas 24a Questão (Ref.: 201408084550) Pontos: 0,1 / 0,1 Estava um aluno estudando Lista Simplesmente Encadeada quando encontrou em um site a definição da struct nodo e de uma função cujo nome você deverá escolher para substituir XXX nas opções abaixo depois que analisar a função, assumindo que teste foi realizado, permitindo que a operação fosse realizada. struct nodo { int info; struct nodo *prox; }; nodo* XXX(nodo *ptr, int valor) { nodo *temp = new nodo; ... temp->info = valor; temp->prox = ptr; return temp; } InsereNoFrente InsereNoFim BuscaNaLista ListaNo RemoveNo 25a Questão (Ref.: 201407942584) O _____________________ é um método simples de ordenação, pois é mais eficiente para pequenos conjuntos de dados, usam muitas comparações, possui códigos pequenos e códigos de fácil entendimento. Quick Sort(Ordenação por troca/partição) Heap Sort(Ordenação por seleção em árvores) Selection Sort (Ordenação por seleção) Void Sort (Ordenação Vazia) Shell Sort (Ordenação por inserção, vários segmentos) 26a Questão (Ref.: 201408101828) 0,1 Uma estrutura de dados pode ser Estática ou Dinâmica. No primeiro caso os limites são: Determinados pelo usuário Determinados pelo problema em que serão utilizados Indeterminados Determinados pelos ponteiros Determinados pela memória 27a Questão (Ref.: 201407957288) Pontos: 0,1 / 0,1 Diga, para o trecho do programa abaixo, qual a opção que representa a saída em tela. (Considere que o programa será compilado sem erros, e irá executar também sem problemas). void troca (int x, int y){ int tmp; tmp = y; y = x; x = tmp; } int main() { int a = 13, b = 10; troca( a, b ); cout<<"Valores: "<< a<<"\t"<< b< system("pause"); } Valores: 10 13 Valores: 10 10 Valores: 31 01 Valores: 13 13 Valores: 13 10 28a Questão (Ref.: 201407381586) Pontos: 0,1 / 0,1 O registro de ativação de uma sub-rotina é o conjunto das informações que devem/precisam ser alocadas em memória. Assinale abaixo a única opção que representa a composição destas informações. ( ) variáveis locais / valor de retorno / endereço de ponteiro ( ) endereço de retorno / valor de retorno / endereço de ponteiro ( ) parâmetros passados / endereço inicial / endereço de retorno ( ) endereço de ponteiro / variáveis locais / endereço inicial ( ) endereço de retorno / variáveis locais / parâmetros passados 29a Questão (Ref.: 201407955803) Pontos: 0,0 / 0,1 1) O que será impresso pela função Eureka ? Assinale a opção correta. void Eureka() { for (int i = 1; i <= 10; i++) if (i % 2 == 0) cout << i << " "; else if (i % 7 == 0) return; } 2 4 6 8 Nada é impresso, pois a função não compila. A função não deveria usar return, pois não está de acordo com o uso de void. 2 4 6 Nada é impresso, pois a função não compila. Para a função compilar, deveria ter int no lugar de void, já que há return na função. 2 4 6 8 10 30a Questão (Ref.: 201407948617) Pontos: 0,0 / 0,1 As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que possibilita a otimização do uso destes dados. Porém, as estruturas guardam características especiais na manipulação destes dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada aplicação. Portanto marque a opção que representa a melhor estrutura, quando se tem como requisitos principais a ordem reversa dos de armazenamento de dados e alocação destes de forma contínua na memória. Lista Sequencial Lista Encadeada Pilha Encadeada Fila Sequencial Pilha Sequencial 31a Questão (Ref.: 201407956358) Pontos: 0,0 / 0,1 A forma correta para imprimir o valor do último elemento de um vetor v com n posições é: cout << v[n+1]; cout << v[ultimo]; cout << v[n]; cout << v[n-1]; cin >> v[-1]; 32a Questão (Ref.: 201407378628) Pontos: 0,1 / 0,1 Considerando a estrutura de fila circular vista em sala, que define as seguintes operações com uma fila: int enfileirar(int v[], int valor, int *fim) - insere um elemento na fila indicada por v. int desenfileirar(int v[], int *inicio, int fim, float &valor) - remove um elemento da fila indicada por v. Supondo que foram realizadas as seguintes operações numa fila circular (implementada em uma estrutura linear sequencial) de números inteiros de tamanho 5, que inicialmente se encontrava vazia: enfileirar (minhaFila[], 10, fim); enfileirar (minhaFila[], 20, fim); desenfileirar (minhaFila[], inicio, fim, valor); enfileirar (minhaFila[], 30, fim); desenfileirar (minhaFila[], inicio, fim, valor); enfileirar (minhaFila[], 40, fim); enfileirar (minhaFila[], 50, fim); enfileirar (minhaFila[], 60, fim); desenfileirar (minhaFila[], inicio, fim, valor); enfileirar (minhaFila[], 70, fim); Qual a posição, dentro da estrutura linear sequencial (vetor - que representa a fila), que se encontra o último elemento inserido na fila? 4 5 7 6 1 33a Questão (Cód.: 27760) Estão entre algumas das possíveis formas de se estruturar dados: Grafos, lista ordenada, vetores. Grafos, algoritmos, fila. Algoritmos, lista ordenada, vetores. Lista encadeada, vetores, algoritmos. Grafos, lista ordenada, algoritmos. 34a Questão (Cód.: 27591) O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)? overflow underflow ordenação inclusão remoção 35a Questão (Cód.: 28139) Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama: Variável Endereço Matriz Vetor Ponteiro 36a Questão (Cód.: 28011) Suponha que uma pilha, P1, esta descrita através de uma lista encadeada como apresentado na figura a seguir: Imagine uma segunda pilha, P2, inicialmente vazia. Suponha ainda que, a pilha P2 fosse preenchida com os elementos removidos de P1. Qual seria a saída apresentada na tela, caso o conteúdo da pilha P2 fosse sendo removido e, cada elemento retirado de P2, fosse apresentado na tela? Suponha agora que ao invés da pilha P2, uma fila F1 (inicialmente vazia) fosse usada. Assim, fila F1 fosse preenchida com os elementos removidos da pilha P1. Qual seria a saída apresentada na tela, caso o conteúdo da fila F1 fosse sendo removido e, cada elemento retirado de F1, fosse apresentado na tela? A resposta para cada uma das perguntas respectivamente seria. MARROCOS/SOCORRAM. SOCORRAM/SOCORRAM. SOCORRAM/MARROCOS. Nada seria apresentado, pois a pilha P2, assim como a fila F1 estão vazias. MARROCOS/MARROCOS. 37a Questão (Cód.: 31186)Em algumas situações, principalmente na utilização de listas, há a necessidade de posicionar o ponteiro em determinado local da lista. Dessa forma, analisando o trecho de código abaixo, que mostra uma função, assinale a alternativa correta que descreve o objetivo desta. Sabe-se que o sinal de asterisco (*) sinaliza um ponteiro. void funcao (Nodo **P){ if ( *P != NULL ){ while ( (*P) -> Anterior != NULL ) *P= (*P) -> Anterior; } } Posicionar o ponteiro no meio da lista Posicionar o ponteiro onde houver o valor NULL Posicionar o ponteiro no início da lista Colocar o valor NULL em todos os ponteiros Posicionar o ponteiro no final da lista 38a Questão (Cód.: 19731) Considerando as definições de estruturas de dados e a declaração tipo nó :: reg (dado: inteiro; próximo: ref nó), na qual reg é um registro contendo os campos: dado, que guarda valores inteiros, e próximo, que guarda endereço de outro nó, assinale a opção correta: O algoritmo para inclusão de elementos em uma pilha é usado sem nenhuma alteração para incluir elementos em uma lista. Uma lista duplamente encadeada é uma lista em que o seu último elemento referencia o primeiro. O uso de recursividade é totalmente inadequado na implementação de operações para manipular elementos de uma estrutura de dados do tipo vetor. As listas, pilhas, filas e árvores são estruturas de dados que têm como principal característica a sequencialidade dos seus elementos. O tipo nó é inadequado para implementar estruturas de dados do tipo pilha. 39a Questão (Cód.: 28135) 5a sem.: Listas Pontos: 0,0 / 1,0 Analisando o trecho do algoritmo abaixo, pode-se afirmar que se trata de uma operação de: Remoção de um elemento de uma estrutura LIFO Inserção de um elemento em uma estrutura LIFO Remoção de um elemento de uma estrutura FIFO Inserção de um elemento em uma estrutura FIFO Exibição de um elemento em uma estrutura LIFO 40a Questão (Cód.: 28140) Geralmente em algumas situações é necessário fazer a desalocação do espaço utilizado na memória. Porém, isso depende de como a reserva de uma quantidade de espaço de memória é feita, pois em alguns casos, o próprio compilador faz a desalocação. Quando o compilador não faz esta desalocação a memória foi reservada utilizando______. Declaração de vetor Declaração de matriz Alocação estática de memória Declaração de função Alocação dinâmica de memória
Compartilhar