Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão (Ref.: 201101100721) 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. Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos. Proteção de memória, transferência de dados, estruturas simples. Acesso, representação, compartilhamento de memória. Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes. � ��2a Questão (Ref.: 201101322301) Pontos: 0,5 / 0,5 Um programador recebeu a tarefa de construir um programa que receba uma cadeia de caracteres e verifique se esta cadeia de caracteres é um PALÍNDROME, sabendo-se que um PALÍNDROME apresenta a mesma sequência de caracteres da esquerda pra direita, quanto da direita para esquerda, marque a opção que possui a estrutura de dados mais adequada a este programa. Árvores Lista Sequencial Pilha Sequencial Fila Sequencial Grafos � ��3a Questão (Ref.: 201101092274) 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. I e II. somente a alternativa e II. somente a alternativa I. II e III. I e III. � ��4a Questão (Ref.: 201101305402) Pontos: 0,0 / 0,5 Navegadores para internet armazenam os últimos endereços visitados em uma estrutura de dados. Cada vez que um novo site é visitado, o endereço do site é adicionado na estrutura de endereços. Quando se aciona o retorno ("back"), o navegador permite que o usuário retorne no último site visitado e retira o endereço do site da estrutura de dados. Assinale a estrutura de dados mais adequada para este problema. fila lista pilha grafo árvore � ��5a Questão (Ref.: 201101100377) Pontos: 0,5 / 0,5 Marque a afirmativa correta para a "Busca ou pesquisa binária". Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do meio. Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do meio. É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente. Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos. � ��6a Questão (Ref.: 201101092265) Pontos: 0,5 / 0,5 No contexto de estrutura de dados, uma pilha é: uma lista do tipo FIFO. um tipo de lista linear em que as operações de inserção e remoção são realizadas na extremidade denominada topo. uma lista do tipo LILO. um tipo de lista linear em que as operações de inserção e remoção são realizadas aleatoriamente. um tipo de lista linear em que as operações de inserção são realizadas em uma extremidade e as operações de remoção são realizadas em outra extremidade. � ��7a Questão (Ref.: 201101103774) Pontos: 0,0 / 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". Inserção Bolha Seleção MergeSort QuickSort � ��8a Questão (Ref.: 201101100737) Pontos: 0,0 / 1,0 Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia o endereço estamos ativando a função por meio de: Envio de valor. Registro. Ponteiros. Passagem por valor. Envio de inteiro. � ��9a Questão (Ref.: 201101128845) Pontos: 1,4 / 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: booll intersecao (int v[], int w[], int inter[], int nv, int&n) booll achou = false; for ( int i =0; i < nv; i++ for ( int j = 0; j < nw; j++ if (v[i] == w [j]{ inter [n]= v[i]; achou = true n++ } return achou; } 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'; } Fundamentação do(a) Professor(a): 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';} � ��10a Questão (Ref.: 201101128860) Pontos: 0,0 / 1,5 Considere uma lista simplesmente encadeada não circular de inteiros e o tipo struct no { int dado; struct no *link; }; Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante. Protótipo : no *inverter(no *ini); //ini aponta para o início da lista Resposta: struct no {int dado; struct mo *link;}; int main () { int op, *x, *y; cout << linta Simplesmente encadeada nao circular"; cout<<" 1 - MOstrar lista"; cout" 2 - Sair"; cin >> op; switch(op){case 1; no *inte(no *x, no *y);break; case2; siystem("pause")break; defaut ; coit << " opcao invalida"; break;)) void no " inteiro ( no "x, no *y){} Gabarito: no *inverter ( no *ini) // ini é um ponteiro para o início da lista { no *a, *b, *c; a = ini; b = NULL; while (a != NULL) { c = b; b = a; a = a->link; b->link = c; } ini = b; return(ini); } /* fim da função */
Compartilhar