Baixe o app para aproveitar ainda mais
Prévia do material em texto
c.: ESTRUTURA DE DADOS Acertos: 9,0 de 10,0 11/10/2021 1a Questão Acerto: 1,0 / 1,0 Qual estrutura de dados é mais adequada para armazenar a estrutura do diretório do sistema de arquivos de um sistema operacional? Fila Pilha Árvore Lista Grafo Respondido em 11/10/2021 22:38:42 Explicação: A estrutura de diretórios mostra hierarquia e um relacionamento não linear. Por isso, a resposta certa é árvore. Lista, pilha e fila são estruturas de dados linear. Grafo é não linear, mas não é hierárquica. 2a Questão Acerto: 0,0 / 1,0 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<<< endl; system("pause"); } Valores: 10 13 Valores: 13 10 Valores: 31 01 Valores: 10 10 Valores: 13 13 Respondido em 11/10/2021 22:40:00 Explicação: Acompanhando passo a passo a execução do trecho dado temos : 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<<< endl; system("pause"); } A execução começa pela main e os valores 13 e 10 são passados para a função na chamada em troca(a,b); Ao iniciar a execução em troca, temos que x recebe 13 e y recebe 10. Mas x e y são parâmetros passados por valor então, nada ocorrerá com a e b na main. ASsim, após a função terminar sua execução e voltarmos para a main temos a seguinte impressão na tela : Valores : 13 10 3a Questão Acerto: 1,0 / 1,0 Com relação à struct, é correto afirmar que : Cada elemento da struct é chamado campo e cada campo deve ser, obrigatoriamente, de um tipo de dados distinto de outro campo. Cada elemento da struct é chamado componente. Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do mesmo tipo. Cada elemento da struct é denominado membro ou campo, sendo que a struct pode armazenar elementos de tipos diferentes ou não. A struct é sempre definida dentro da main. Respondido em 11/10/2021 22:41:39 Gabarito Comentado 4a Questão Acerto: 1,0 / 1,0 Seja a seguinte função de ordenação: void ordena( int n, int v[]) { int i, j, x; for (j = 1; j < n; ++j) { x = v[j]; for (i = j-1; i >= 0 && v[i] > x; --i) v[i+1] = v[i]; v[i+1] = x; } } Pode-se dizer que é uma função de ordenação: Que utiliza o método inserção e realiza uma ordenação crescente nos elementos do vetor v. Que utiliza o método seleção e realiza uma ordenação crescente nos elementos do vetor v. Que utiliza o método bolha e realiza uma ordenação crescente nos elementos do vetor v. Que utiliza o método seleção e realiza uma ordenação decrescente nos elementos do vetor v. Que utiliza o método inserção e realiza uma ordenação decrescente nos elementos do vetor v. Respondido em 11/10/2021 22:43:26 5a Questão Acerto: 1,0 / 1,0 Considere as seguintes afirmações: I. Só podemos ter uma matriz de no máximo duas dimensões. Exemplo: C[100][100]. II. Ao declararmos um vetor int A[10], se escrevemos A[2] acessamos o segundo elemento do vetor. III. Uma string declarada como char B[30] armazena no máximo 30 caracteres. Escolha a alternativa correta: Nenhuma afirmação está correta. Estão corretas apenas as afirmativas I e III. Está correta apenas a afirmativa II. Estão corretas apenas as afirmativas I e II. Está correta apenas a afirmativa I. Respondido em 11/10/2021 22:46:34 Explicação: Analisando cada afirmativa : I. Só podemos ter uma matriz de no máximo duas dimensões. Exemplo: C[100][100]. Falso. Podemos ter matrizes unidimensionais, tridimensionais, etc... II. Ao declararmos um vetor int A[10], se escrevemos A[2] acessamos o segundo elemento do vetor. Falso. Em C++ o índice inicial é zero. Logo, A[2] é o elemento de índice 2, ou seja, o 3o. elemento do vetor. III. Uma string declarada como char B[30] armazena no máximo 30 caracteres. Escolha a alternativa correta: Falso. B pode armazenar no máximo 29 caracteres que sejam dados, pois existe uma área para o caracter nulo. Logo, todas as opções são falsas. 6a Questão Acerto: 1,0 / 1,0 Quando as inserções e as remoções ocorrem sempre no mesmo lado da lista, trata-se de uma estrutura de dados denominada Pilha Fila Lista Encadeada Vetor Lista Circular Respondido em 11/10/2021 22:49:58 Explicação: Por definição, na estrutura de dados pilha, insere-se em uma extremidade e retira-se da mesma extremidade, pois a lógica que rege tal estrutura de dados é a lógica LIFO. 7a Questão Acerto: 1,0 / 1,0 Sobre pilhas, lista e filas, considere as afirmativas a seguir. I. As estruturas de dados pilhas, filas e listas armazenam coleções de itens. A característica que as distinguem é a ordem em que podem ser retirados os itens dessas coleções e a ordem em que foram inseridos. II. Considere que os itens A, B, C, D, E foram inseridos nessa ordem em uma fila. Necessariamente, o primeiro elemento a ser removido dessa fila é o elemento A. III. Considere que os itens A, B, C, D, E foram inseridos nessa ordem em uma pilha. Necessariamente, o último elemento a ser removido dessa pilha é o elemento E. IV. Considere que os itens A, B, C, D, E foram inseridos nessa ordem em uma lista. Necessariamente, o primeiro elemento a ser removido dessa lista é o elemento A. Somente as afirmativas I e II são corretas. Todas as afirmativas estão corretas Somente as afirmativas I, II e III são corretas. Somente as afirmativas III e IV são corretas. Somente as afirmativas I e IV são corretas. Respondido em 11/10/2021 22:50:48 Explicação: Analisando cad afirmativa: I. As estruturas de dados pilhas, filas e listas armazenam coleções de itens. A característica que as distinguem é a ordem em que podem ser retirados os itens dessas coleções e a ordem em que foram inseridos. >>>>>Verdadeira. A pilha segue a lógica LIFO, fila segue a lógica FIFO e em uma lista insere-se e retira-se de qualquer posição. II. Considere que os itens A, B, C, D, E foram inseridos nessa ordem em uma fila. Necessariamente, o primeiro elemento a ser removido dessa fila é o elemento A. >>>>> Verdadeira. O 1o. a entrar, será o 1o. a sair. III. Considere que os itens A, B, C, D, E foram inseridos nessa ordem em uma pilha. Necessariamente, o último elemento a ser removido dessa pilha é o elemento E. >>>>> FAlso. O último a entrar foi o E, portanto, pela lógica LIFO é o primeiro a sair. IV. Considere que os itens A, B, C, D, E foram inseridos nessa ordem em uma lista. Necessariamente, o primeiro elemento a ser removido dessa lista é o elemento A. >>>> Falso. Em uma lista insere-se em qualquer posição e retira-se de qualquer posição. Logo, as afirmativa I e II estão corretas. 8a Questão Acerto: 1,0 / 1,0 Para a criação de uma Fila seqüencial basta iniciar as variáveis de início e final, ou seja, apontá-las para as posições iniciais do vetor. O que alteraria na rotina de inserir se a variável final fosse inicializada com o valor -1 (menos um): Após a inserção deve-se fazer o incremento da variável final Antes da inserção deve-se fazer o decremento da variável final Após a inserção deve-se fazer o decremento da variável final Antes da inserção deve-se fazer o incremento da variável final Após a inserção deve-se fazer o incremento da variável inicio Respondido em 11/10/2021 22:52:13 Gabarito Comentado 9a Questão Acerto:1,0 / 1,0 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; } InsereNoFim ListaNo InsereNoFrente BuscaNaLista RemoveNo Respondido em 11/10/2021 22:53:15 Gabarito Comentado 10a Questão Acerto: 1,0 / 1,0 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 função Alocação dinâmica de memória Alocação estática de memória Declaração de matriz Declaração de vetor Respondido em 11/10/2021 22:54:03 Explicação: Se for necessário liberar a memória ocupada por essas variáveis, é preciso recorrer à função free. A função free desaloca a porção de memória alocada por malloc. A instrução free (ptr) avisa ao sistema que o bloco de bytes apontado por ptr está disponível para reciclagem.
Compartilhar