Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão (Ref.: 201703121372) 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. X( ) endereço de retorno / variáveis locais / parâmetros passados ( ) endereço de ponteiro / variáveis locais / endereço inicial ( ) parâmetros passados / endereço inicial / endereço de retorno ( ) endereço de retorno / valor de retorno / endereço de ponteiro ( ) variáveis locais / valor de retorno / endereço de ponteiro 2a Questão (Ref.: 201703118404) 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: QuickSort X bolha Heapsort seleção inserção 3a Questão (Ref.: 201703864092) Sobre as estruturas de dados existentes podemos afirmar que: X 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 LIFO, as informações são inseridas no início e removidas do final. Na estrutura do tipo FIFO, as informações são inseridas no início e removidas do final. A estrutura do tipo LIFO sempre realiza a remoção do elemento mais antigo inserido. 4a Questão (Ref.: 201703118552) As funções em programação permitem que se possa realizar a modularização do código diminuindo assim sua complexidade. Analise a função abaixo e assinale alternativa que descreve corretamente o tipo de função: int funcao (int x){ if(x == 0) return 0; else funcao(x-1); } Passagem por referência Condicional de seleção Sequencial X Recursiva Igual a zero 5a Questão (Ref.: 201703841617) 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: Complexas e ponteiros X Estáticas e índices Dinâmicas e ponteiros Estáticas e ponteiros Dinâmicas e índices 1a Questão (Ref.: 201703184588) 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: CONDICIONAIS X MATRIZES REPETIÇÕES ESTRUTURAS VETORES 2a Questão (Ref.: 201703841614) Uma estrutura de dados pode ser Estática ou Dinâmica. No primeiro caso os limites são: X Determinados pelo problema em que serão utilizados Indeterminados Determinados pelo usuário Determinados pela memória Determinados pelos ponteiros 3a Questão (Ref.: 201703110104) 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. 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. 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. X 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. 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. 4a Questão (Ref.: 201703694969) Qual das inicializações de ponteiros apresentadas abaixo está correta? int *p = new int*; int *p = new int[]; X int *p = new int; int *p = create int; int *p = new *int; 5a Questão (Ref.: 201703858034) Com relação à definição de árvore binária de busca ou árvore de pesquisa assinale a opção que está incorreta. As sub-árvores de uma árvore de pesquisa são também binárias de busca ou de pesquisa. Uma árvore binária de busca pode ser vazia. Os dados ou chaves situados na sub-árvore direita da raiz são maiores que a raiz. Os dados ou chaves situados na sub-árvore esquerda da raiz são menores que a raiz. X Uma árvore binária de busca pode ter elementos repetidos. 1a Questão (Ref.: 201703681636) Estude atentamente o código a segir: int deciframe(int v[ ], int tam, int e){ int i = 0, f = tam -1, m; while ( i <= f ){ m = ( i + f ) / 2; if ( v[m] == e ) { return m; } if ( e < v[m] ) { f = m - 1; } else { i = m + 1; } } return -1; } Sabendo que a chamada da mesma foi feita com os parâmetros: v[10] = {0, 2, 4, 6, 8, 10, 20, 100} tam = 8 e = -6 É sabido que a mesma retornaria o valor -1, porque: Porque ele não achou o elemento na coleção Seria o retorno do segundo if É o módulo do valor de e Seria o retorno do while X É a posição do elemento e no vetor v 2a Questão (Ref.: 201703841617) 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: X Estáticas e índices Estáticas e ponteiros Dinâmicas e índices Dinâmicas e ponteiros Complexas e ponteiros 3a Questão (Ref.: 201703842982) 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? X 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[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->nome; cin >> lista->nota; } 4a Questão (Ref.: 201703834148) Marque a opção verdadeira para um ponteiro. É uma varável que pode armazenar um endereço de memória ou um valor do tipo inteiro É uma variável que armazena o endereço de um valor do tipo void X É uma variável que armazena o endereço de um valor do tipo para o qual o ponteiro foi declarado É uma variável que, quando incrementada de uma unidade, sempre incrermenta o seu valor, em termos absolutos, de uma unidade É uma varíavel que armazena como valor necessariamente o endereço onde estará armazenado um outro endereço5a Questão (Ref.: 201703118420) 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 é: X pProd -> preco=2.99; pProd.preco=2.99; *pProd -> preco=2.99; *pProd.preco=2.99; (*pProd) -> preco=2.99;
Compartilhar