Baixe o app para aproveitar ainda mais
Prévia do material em texto
06/06/2021 Avaliação Online 1: MAI.TADS.2 - Estrutura de Dados https://newtonpaiva.instructure.com/courses/11612/quizzes/26093 1/12 Avaliação Online 1 Entrega 7 jun em 23:59 Pontos 15 Perguntas 10 Disponível 1 jun em 0:00 - 7 jun em 23:59 7 dias Limite de tempo 120 Minutos Tentativas permitidas 2 Instruções Histórico de tentativas Tentativa Tempo Pontuação MANTIDO Tentativa 2 23 minutos 15 de 15 MAIS RECENTE Tentativa 2 23 minutos 15 de 15 Tentativa 1 49 minutos 12 de 15 As respostas corretas estarão disponíveis em 8 jun em 0:00. Pontuação desta tentativa: 15 de 15 Enviado 6 jun em 12:45 Esta tentativa levou 23 minutos. Leia com atenção as orientações abaixo antes de iniciar esta prova: Serão permitidas duas tentativas para realizar esta avaliação, prevalecendo a maior nota. Programe-se para realizar suas avaliações com tranquilidade, pois você terá 120 minutos cronometrados (por tentativa) para conclusão e envio das respostas. Ao iniciar a avaliação o cronômetro não para, independentemente da plataforma estar aberta ou não; Durante a realização da prova: Será exibido uma questão por vez, podendo “Avançar” ou “Voltar” quando necessário dentro do período da tentativa; A tentativa somente será contabilizada após clicar no botão “Enviar”. 1,5 / 1,5 ptsPergunta 1 Uma matriz é uma coleção de variáveis de mesmo tipo, acessíveis com um único nome e armazenados contiguamente na memória. Neste contexto, julgue as seguintes afirmações. https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=2 https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=2 https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=1 06/06/2021 Avaliação Online 1: MAI.TADS.2 - Estrutura de Dados https://newtonpaiva.instructure.com/courses/11612/quizzes/26093 2/12 I – Para percorrer toda uma Matriz de duas dimensões são necessárias duas estruturas de repetição, uma dentro da outra. A mais externa salta as linhas e a mais interna preenche as colunas de forma sequencial. II – Na matriz, cada célula é acessada por dois índices numéricos, um referente a linhas e outro referente a colunas. III – Uma matriz pode ser definida apenas com duas dimensões. Está(ão) correta(s) a(s) afirmativa(s): III, somente. I e II, somente. I e III, somente. II e III, somente. I, somente. As duas afirmações iniciais estão corretas. A primeira delas versa sobre a necessidade de duas estruturas de repetição para percorrer uma matriz, e a segunda versa sobre a necessidade de dois índices para referenciar um elemento da matriz. A terceira afirmação está incorreta, pois uma matriz pode ter mais do que duas dimensões, por exemplo, a sintaxe a seguir define uma matriz de três dimensões. float matriz[10][10][10]; Esse assunto pode ser visto na unidade 1 no tópico 1.3 Estrutura de Dados. 1,5 / 1,5 ptsPergunta 2 06/06/2021 Avaliação Online 1: MAI.TADS.2 - Estrutura de Dados https://newtonpaiva.instructure.com/courses/11612/quizzes/26093 3/12 Vetores e matrizes são estruturas de dados muito utilizadas na computação, sabe-se que as estruturas de dados têm, dentre suas principais utilidades, o fato de agruparem dados que têm alguma relação entre si. Nesse contexto, são colocadas para sua análise as 3 afirmativas abaixo sobre vetores e matrizes, faça uma leitura com atenção e responda à pergunta que vem a seguir: I – O vetor comporta mais de um tipo de valor, desde que estes valores sejam declarados dentro dos colchetes. II – Uma matriz pode ser definida como um conjunto de variáveis do mesmo tipo organizadas em mais de uma dimensão. III – Matrizes e vetores são estruturas completamente diferentes sendo que a única relação entre as duas estruturas é que elas são homogêneas, ou seja, só aceitam um tipo de dados. Agora marque abaixo qual alternativa tem somente as afirmativas que estão corretas sobre as estruturas de dados: Apenas a II é correta. Apenas a I é correta. As afirmativas I e III são corretas. As afirmativas I e II são corretas. Todas as afirmativas são corretas. Apenas a afirmação II está correta, ao analisar o conceito de vetores no livro-texto dessa unidade (capítulo 2) e associá-la à definição de matrizes (capítulo 3), percebe-se que matrizes e vetores só diferem quanto ao número de dimensões e que são definidos, conforme a afirmação. Essa mesma associação nos leva a perceber que a afirmativa III é falsa; já a análise da afirmativa I como falsa pode ser feita analisando somente a definição de vetor, que é uma estrutura de dados homogênea (um só tipo de dado). 06/06/2021 Avaliação Online 1: MAI.TADS.2 - Estrutura de Dados https://newtonpaiva.instructure.com/courses/11612/quizzes/26093 4/12 1,5 / 1,5 ptsPergunta 3 Em um software que está sendo desenvolvido para receber a avaliação (de 0 a 10) de produtos, são tratadas informações que chegam a todo momento e por isso não existe um número certo de registros a serem armazenados, nesse contexto, considerando o cadastro das notas e avaliando as características de vetores e matrizes, seria possível o uso dessas estruturas para tratar os dados desse software? Marque a alternativa que traga a resposta e a justificativa corretas. (Adaptado de CUNHA, Claudia, 2018) Sim, mas nesse caso deverá ser utilizada matriz para uma melhor organização dos dados. Não, pois não tem como se definir o tamanho da estrutura, que por ser estática, deve ser declarada com o tamanho especificado. Não, pois existem dados de mais de um tipo a serem armazenados no vetor, o que não é possível. Sim, pois o único dado de entrada é nota que pode ser declarado como um vetor de inteiros. Não, pois se trata de mais de um tipo de dados a serem armazenados. 06/06/2021 Avaliação Online 1: MAI.TADS.2 - Estrutura de Dados https://newtonpaiva.instructure.com/courses/11612/quizzes/26093 5/12 Está correta a alternativa "Não, pois não tem como se definir o tamanho da estrutura, que por ser estática, deve ser declarada com o tamanho especificado.", pois o vetor é estático e deve ser declarado com o tamanho especificado. No capítulo 02 do livro-texto da unidade I é explicado que o vetor é uma variável composta com número finito de registros. 1,5 / 1,5 ptsPergunta 4 Analise o seguinte código escrito em linguagem C. #include <stdio.h> #include <stdlib.h> int main () { int i, sequencial[20], aleatorio[20]; for(i=0;i<=19;i++) { sequencial[i]=i; aleatorio[i]=rand(); } } Neste contexto, julgue as afirmações a seguir. I – O laço de repetição for apresentará erro de execução, pois seu índice se inicia e zero(0). II – Os elementos dos vetores são impressos em tela. III – O código inicializa dois vetores de 20 posições. Está(ão) correta(s) a(s) afirmativa(s): III, somente. II, somente. I, somente. 06/06/2021 Avaliação Online 1: MAI.TADS.2 - Estrutura de Dados https://newtonpaiva.instructure.com/courses/11612/quizzes/26093 6/12 I e II, somente. I e III, somente. A afirmação I está incorreta, pois na linguagem C/C++ os índices dos vetores começam em zero, assim, não ocorrerá erro de execução no laço for. A afirmação II está incorreta, pois o código apenas inicializa os vetores, não imprimindo-os em tela. A terceira afirmação está correta, o código inicializa dois vetores de vinte posições. 1,5 / 1,5 ptsPergunta 5 Analise o case a seguir: Luiz estava desenvolvendo o código de uma aplicação a fim de alocar diretamente a memória. Passando um endereço para o ponteiro (sem utilizar o operador new), indicou uma posição de memória aleatória, sem conferir se ela já estava sendo utilizada por outra variável. O código funcionou sem erros de compilação. Contudo, Luiz pode ter um problema com isso. Qual o possível problema no código desse programador? Se houver outra variável utilizando aquela área de memória, ela deixará de existir no programa. Um ponteiro que não aponta corretamente para um banco de dados relacional. Um ponteiro que não armazenaum endereço de memória e sim um valor float. 06/06/2021 Avaliação Online 1: MAI.TADS.2 - Estrutura de Dados https://newtonpaiva.instructure.com/courses/11612/quizzes/26093 7/12 Existir outra variável utilizando aquela parte da memória, causando inconsistência de dados. Alguma variável comum apontar para a variável “ponteiro”, gerando erro. Alternativa “Existir outra variável utilizando aquela parte da memória, causando inconsistência de dados.” correta, pois o uso de ponteiros de forma desordenada pode levar à inconsistência de dados, uma vez que eles podem utilizar uma área de memória que já esteja ocupada sem ter sido pensado para isso pelo programador. 1,5 / 1,5 ptsPergunta 6 Analise o case a seguir: Um programa funcionava de forma correta há algum tempo e, ao utilizar uma variável declarada como float, para receber o resultado do cálculo de uma média, começou a não apresentar o resultado corretamente. O programador, ao analisar o código, verificou que todos os cálculos foram realizados de forma correta e que as variáveis comuns estavam declaradas corretamente. Considerando que foram utilizados, sem muito cuidado, ponteiros na implementação, o que pode ter acontecido para gerar o erro? A variável não foi declarada de forma correta. Ter sido utilizado de forma incorreta algum ponteiro, que acessou indevidamente a área de memória ocupada pela variável de média. 06/06/2021 Avaliação Online 1: MAI.TADS.2 - Estrutura de Dados https://newtonpaiva.instructure.com/courses/11612/quizzes/26093 8/12 Ter gerado um erro em tempo de projeto causado pelo ponteiro, que não pode receber endereços para valores reais. Ter utilizado a variável da média apontando para alguma variável “ponteiro”. Ter sido feita a atribuição com tipos incompatíveis. O uso de ponteiros sem muito cuidado pode acarretar no acesso indevido à memória. Considerando a situação apresentada, há uma grande chance de ser um problema com algum ponteiro. 1,5 / 1,5 ptsPergunta 7 Analise o código de programação abaixo: int *ptrX x=1; ptrX=&x; printf("%p", ptrX); O que será impresso na saída do programa analisado? O endereço da variável x. O endereço da variável ptrX. O valor da variável x de forma direta. 06/06/2021 Avaliação Online 1: MAI.TADS.2 - Estrutura de Dados https://newtonpaiva.instructure.com/courses/11612/quizzes/26093 9/12 O valor da variável x, de forma indireta pelo ponteiro. O identificador da variável x. 1,5 / 1,5 ptsPergunta 8 As listas são estruturas de dados que podem ser implementadas com diversas variações referentes às suas características. Quanto às alocações de memória, uma lista pode ser estática ou dinâmica; já quanto ao tipo de dados, ela pode ser homogênea ou heterogênea e, quanto à forma de utilizar seus campos, a lista pode ser ordenada ou não ordenada. Cada forma de imlpementação tem suas características quanto ao código e às aplicações. Com base no texto e nos conhecimentos que você tem sobre essa estrutura, avalie as afirmativas abaixo sobre listas encadeadas: I. Na lista simplesmente encadeada não ordenada, os itens podem ser inseridos em qualquer lugar da lista. II. Na lista simplemente encadeada ordenada, os itens podem ser inseridos em qualquer lugar da lista, mas existe a opção de inseri-lo na ordem correta. III. Na lista encadeada, é necessário, entre outras coisas, a declaração de uma struct e de ponteiros para a lista. É correto o que se afirma em: I e III, apenas. I, II e III. I, apenas. II e III, apenas. 06/06/2021 Avaliação Online 1: MAI.TADS.2 - Estrutura de Dados https://newtonpaiva.instructure.com/courses/11612/quizzes/26093 10/12 II, apenas. A alternativa D é a correta, pois, na afirmativa 2, é dito que podem se inserir itens em qualquer ordem em uma lista ordenada quando, na verdade, nesse tipo de lista, a inserção é obrigatoriamente na ordem correta. Para mais informações, consulte os capítulos 7 e 8 da apostila da unidade 3. 1,5 / 1,5 ptsPergunta 9 É conhecido que as listas podem ter variações entre estática, dinâmica, homogênea, heterogênea, ordenada ou não ordenada. Sabe-se também que as características relativas aos tipos de dados e à forma de alocação de memória podem ser identificadas por meio da forma de declaração da lista, enquanto as características de ordenação de uma lista só poderão ser identificadas com uma análise das funções implementadas pelo algoritmo. Observando a declaração do nodo a seguir, é possível identificar a qual tipo de lista ele pertence. struct nodo { int idade; float altura; char sexo; nodo *proximo; }; Marque a alternativa que tenha as características corretas para a lista declarada. 06/06/2021 Avaliação Online 1: MAI.TADS.2 - Estrutura de Dados https://newtonpaiva.instructure.com/courses/11612/quizzes/26093 11/12 Lista encadeada dinâmica homogênea. Lista encadeada dinâmica heterogênea. Lista duplamente encadeada dinâmica heterogênea. Lista estática heterogênea. Lista estática homogênea. 1,5 / 1,5 ptsPergunta 10 As listas estáticas, baseadas em vetores e dinâmicas, criadas com base em structs com ponteiros para a ligação entre os nodos, embora implementem as mesmas funções, têm algumas diferenças quanto ao uso de memória e às possibilidades de acesso. Com base nesse contexto e em seus conhecimentos sobre listas, analise as afirmativas abaixo: I. Na aplicação de lista encadeada dinâmica, a função de esvaziar lista não libera os espaços correspondentes na memória, só os retira da lista. II. Listas simplesmente encadeadas só podem ser acessadas em um sentido. III. Quando um nodo é apontado para a primeira posição da lista encadeada, ele se torna o primeiro elemento da lista. É correto o que se afirma em: II e III, apenas. I e III, apenas. II, apenas. 06/06/2021 Avaliação Online 1: MAI.TADS.2 - Estrutura de Dados https://newtonpaiva.instructure.com/courses/11612/quizzes/26093 12/12 I, II e III. I, apenas. Alternativa C, pois somente a opção I está incorreta. Quando a lista é esvaziada, as posições são liberadas na memória através do operador delete. Pontuação do teste: 15 de 15
Compartilhar