Prévia do material em texto
1a Questão (Ref.: 201203163038) Pontos: 0,0 / 0,1 Sobre as estruturas de dados existentes podemos afirmar que: 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. Encadeamento estático e dinâmico apresentam o mesmo funcionamento de alocação na estrutura do tipo PILHA. Na estrutura das Pilhas a manipulação dos dados sempre se dá no topo. A estrutura do tipo LIFO sempre realiza a remoção do elemento mais antigo inserido. 2a Questão (Ref.: 201202409056) Pontos: 0,1 / 0,1 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. I e III. somente a alternativa e II. somente a alternativa I. I e II. II e III. Gabarito Comentado. 3a Questão (Ref.: 201202400595) Pontos: 0,1 / 0,1 As coleções de dados podem ser classificadas em estruturas lineares e estruturas não lineares. Nesse contexto, é correto afirmar que tendo uma estrutura não linear, um array dinâmico é criado usando técnicas de alocação e gestão dinâmica de memória. Pode ser redimensionado e é alocado durante o tempo de compilação. na tabela de Hash a chave é transformada num índice inteiro que é usado para acessar os dados. A chave pode ser um string, desde que haja uma função que transforme essa chave num inteiro. É uma estrutura linear. a lista é uma estrutura linear cuja implementação pode ser feita por meio de lista ligada em que as estruturas são estáticas ou através de um array para permitir que as estruturas sejam ligadas dinamicamente. na pilha, uma estrutura não linear, os elementos são colocados e retirados por um único lado da lista, ou seja, pelo topo, que é alterado sempre que um elemento é adicionado ou retirado da pilha. É um tipo de estrutura que tem a ordenação do tipo LILO. a fila de prioridade é uma versão especial da fila, uma estrutura não linear. Quando se retira um elemento desta estrutura é selecionado aquele que tem maior prioridade, tendo portanto a ordenação do tipo FIFO. 4a Questão (Ref.: 201202417350) Pontos: 0,1 / 0,1 O método de ordenação que compara pares de chaves de ordenação, trocando os elementos correspondentes caso estejam fora de ordem é o método: Heapsort inserção bolha QuickSort seleção 5a Questão (Ref.: 201203140563) Pontos: 0,0 / 0,1 Vetores e matrizes são classificados como estruturas ___________ pois podem ser controladas por meio de _________ criados previamente e conhecidos pelo desenvolvedor. As lacunas correspondem respectivamente a: Dinâmicas e índices Estáticas e ponteiros Estáticas e índices Complexas e ponteiros Dinâmicas e ponteiros 1a Questão (Ref.: 201202981320) Pontos: 0,0 / 0,1 Para compararmos vetores de char, usaremos a função _____________________ . Para copiarmos o conteúdo de um vetor de char nas posições ocupadas por outro vetor de char, usaremos a função ______________________ . strcmp(); e strcpy(); strcmp(); e strlen() ; strcmp(); e strcat(); strcat(); e strcpy() ; strcmp(); e strcmpi (); 2a Questão (Ref.: 201203143665) Pontos: 0,1 / 0,1 Para uma aplicação em que deseja-se recuperar a ordem reversa de armazenamento dos dados em um vetor, a estrutura de dados mais apropriada a ser utilizada na implementação da aplicação é: Fila Árvore Pilha Grafo Lista 3a Questão (Ref.: 201203141928) Pontos: 0,0 / 0,1 o programa de computador necessita preencher uma lista de alunos (nome e nota) até que a lista esteja cheia. Sabe-se que a lista tem capacidade para 25 alunos. Utilizando agregados heterogêneos, qual o trecho de código que exibe a melhor forma de solucionar este problema? for (int i = 0; i < 25; i++) { cin >> lista[i].nome; cin >> lista[i].nota; } for (int i = 0; i <= 25; i++) { cin >> lista[i].nome; cin >> lista[i].nota; } for (int i = 0; i < 25; i++) { cin >> lista[i]->nome; cin >> lista[i]->nota; } int i = 0; while( i < 25) { cin >> lista[i].nome; cin >> lista[i].cargo; i ++; } for (int i = 0; i < 25; i++) { cin >> lista->nome; cin >> lista->nota; } 4a Questão (Ref.: 201202417350) Pontos: 0,1 / 0,1 O método de ordenação que compara pares de chaves de ordenação, trocando os elementos correspondentes caso estejam fora de ordem é o método: seleção QuickSort inserção Heapsort bolha 5a Questão (Ref.: 201202409056) Pontos: 0,1 / 0,1 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. II e III. I e III. somente a alternativa e II. I e II. 1a Questão (Ref.: 201203143669) Pontos: 0,0 / 0,1 A principal vantagem da alocação estática de memória sobre a alocação dinâmica de memória é: Possibilidade de alocação em tempo de compilação. Possibilidade de alocação em tempo de execução. Quantidade de armazenamento. Uso de ponteiros. Velocidade de acesso. 2a Questão (Ref.: 201202981295) Pontos: 0,1 / 0,1 É uma Lista Linear Ordenada em que as inserções e remoções seguem o critério LIFO (Last In First Out), ou seja, o último a entrar será o primeiro a sair. Estamos falando do(a) __________________________ . Árvore PILHA FILA Busca de Alocação de Memória Fila Circular 3a Questão (Ref.: 201203142822) Pontos: 0,0 / 0,1 Qual o valor de x no final do programa? int main() { int x, *p, y; x = 2; p = &x; y = *p; y = 5; (*p)++; (*p) = (*p) - y; return(0); } 8 2 Nenhuma das anteriores. O programa possui um erro de sintaxe. 5 -2 4a Questão (Ref.: 201203156970) Pontos: 0,1 / 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 30 21 10 20 30 20 20 10 20 5a Questão (Ref.:201202417366) Pontos: 0,1 / 0,1 Imagine a seguinte estrutura em C/C++, para descrever um produto: struct Produto { int codigo; char descricao[40]; float preco; }; Considere a função que atribui o preço ao produto void atribui (struct Produto *pProd) { /* atribuição do preço */ ... } A forma correta para atribuir 2.99 ao campo preco dentro de função atribui é: (*pProd) -> preco=2.99; pProd.preco=2.99; pProd -> preco=2.99; *pProd.preco=2.99; *pProd -> preco=2.99; 1a Questão (Ref.: 201203143665) Pontos: 0,1 / 0,1 Para uma aplicação em que deseja-se recuperar a ordem reversa de armazenamento dos dados em um vetor, a estrutura de dados mais apropriada a ser utilizada na implementação da aplicação é: Fila Pilha Árvore Lista Grafo 2a Questão (Ref.: 201202656512) Pontos: 0,1 / 0,1 Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de diretórios (pastas) e sub-diretórios. Qual a estrutura mais adequada para representar este problema ? pilha fila grafo árvore lista Gabarito Comentado. 3a Questão (Ref.: 201202409054) Pontos: 0,1 / 0,1 Em relação às estruturas de dados, considere: I. Um tipo abstrato de dados está desvinculado de sua implementação, ou seja, a sua definição visa a preocupação com o que ele faz e não como ele faz. II. A lista duplamente encadeada além de saber o próximo nó, cada elemento também conhece o nó anterior a ele na lista, o que facilita a remoção de um elemento e a exibição dos elementos na ordem inversa. III. A implementação dinâmica de pilhas possui as mesmas vantagens que as listas dinâmicas, ou seja, não é necessário saber a quantidade máxima de elementos que serão armazenados. IV. Lista, pilha, fila e array são casos típicos de estruturas lineares, enquanto grafo e heap são casos típicos de estruturas não lineares. É correto o que se afirma em: I e IV, apenas. I, II, III e IV. II, III e IV, apenas. II e III, apenas. I, II e III, apenas. 4a Questão (Ref.: 201203163038) Pontos: 0,1 / 0,1 Sobre as estruturas de dados existentes podemos afirmar que: 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. 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. A estrutura do tipo LIFO sempre realiza a remoção do elemento mais antigo inserido. 5a Questão (Ref.: 201203094457) Pontos: 0,1 / 0,1 Observe o trecho do programa em C++ abaixo e, após, entrar com os valores sugeridos para sua execução assinale a alternativa que representa a resposta final. cin >> a; cin >> b; cin >> c; cin >> d; cout << a; cout << b; cout << c; cout << d; cout << d; cout << c; cout << b; cout << a; Após a impressão dos valores pela ordem teremos duas pilhas. Após a impressão dos valores pela ordem teremos uma fila e uma pilha. Após a impressão dos valores pela ordem teremos duas filas. Após a impressão dos valores pela ordem teremos uma pilha e uma fila. Após a impressão dos valores pela ordem teremos uma fila e um grafo.