Baixe o app para aproveitar ainda mais
Prévia do material em texto
25/06/2021 GRA0733 ESTRUTURA DE DADOS COM ORIENTAÇÃO A OBJETOS GR0941211 - 202110.ead-10706.03 https://unifacs.blackboard.com/webapps/late-course_engine_soap-BBLEARN/Controller?COURSE_ID=_672145_1 1/5 Pergunta 1 Resposta Selecionada: Resposta Correta: Comentário da resposta: Uma pilha é uma lista ordenada de elementos. Na implementação da pilha estática, um array pode ser usado, para que as operações da fila sejam baseadas em um índice, o que acelera todas as operações, exceto a exclusão. Considerando essas informações e conteúdo estudado sobre operações com pilhas estáticas, pode-se afirmar que a demora na operação de exclusão ocorre porque a exclusão: requer o deslocamento de todos os elementos restantes para a frente, em uma posição. requer o deslocamento de todos os elementos restantes para a frente, em uma posição. Sua resposta está correta. As pilhas podem ser implementadas de duas formas principais: usando arrays ou usando listas encadeadas (linked lists) sendo útil em situações nas quais os dados são armazenados e então recuperados em ordem inversa. Pergunta 2 Resposta Selecionada: Resposta Correta: Comentário da resposta: Os aspectos relacionados ao comportamento de um objeto são descritos por meio dos valores que os seus atributos possuem durante o tempo. Sabe-se da possibilidade de se definir, dentro de uma classe, dois ou mais métodos com o mesmo nome, mas com número diferente de parâmetros. Esse é um processo que pode ocorrer em linguagens de programação tradicionais, como Java e C++, permitindo que uma classe tenha métodos com assinaturas diferentes. Considerando essas informações e o conteúdo estudado sobre os conceitos avançados de orientação a objetos, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s). I. ( ) Quando ocorre a redefinição da assinatura de um método, ele é chamado de sobrecarregado. Esse processo é referido como redefinição do método. II. ( ) Pode-se entender a sobrecarga de um método como sendo outra forma de realização de polimorfismo, sem a obrigatoriedade do mecanismo da herança. III. ( ) O processo de sobrecarga permite a existência de vários métodos com nome igual, mas com assinaturas diferentes. IV. ( ) Além de ajudar a evitar conflitos de nomes existentes, o processo de sobrecarga auxilia na redução da "poluição" de nomes usados em programas. Agora, assinale a alternativa que apresenta a sequência correta: V, F, F, V. F, V, V, V. Sua resposta está incorreta. Conforme o conteúdo apresentado, a sobrecarga é um conceito avançado da orientação a objetos e se refere à capacidade de declarar, em uma mesma classe, vários métodos, com o mesmo nome, mas com assinaturas diferentes. Essa capacidade permite a redução da quantidade de novos nomes para cada definição de um novo método, evitando conflitos entre nomes existentes e a poluição de nomes usados em programas. Pergunta 3 Pilha é uma estrutura de dados muito comum em sistemas computacionais. Dentre as várias soluções possíveis que a pilha permite, podemos citar: inversão de listas, armazenamento de 1 em 1 pontos 0 em 1 pontos 1 em 1 pontos 25/06/2021 GRA0733 ESTRUTURA DE DADOS COM ORIENTAÇÃO A OBJETOS GR0941211 - 202110.ead-10706.03 https://unifacs.blackboard.com/webapps/late-course_engine_soap-BBLEARN/Controller?COURSE_ID=_672145_1 2/5 Resposta Selecionada: Resposta Correta: Comentário da resposta: dados, implementações LIFOs. Uma pilha pode ser implementada com um array ou uma lista encadeada. Considerando essas informações e conteúdo estudado sobre pilhas dinâmicas, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s). I. ( ) Como as inclusões e remoções são realizadas pela mesma extremidade da lista, o desenvolvedor deve considerar o ponteiro topo para sua manipulação. II. ( ) A pilha dinâmica implementa a estrutura de dados, utilizando uma lista encadeada. Portanto, os itens são alocados em memória, de acordo com a necessidade. III. ( ) A operação push acrescenta um elemento na base da pilha, aumenta seu o tamanho; e a operação pop remove o elemento que está no topo da pilha, diminuindo seu tamanho. IV. ( ) As pilhas podem sofrer as seguintes operações: criação, inclusão, remoção, mostrar topo, verificar se a pilha está vazia ou cheia. Agora, assinale a alternativa que apresenta a sequência correta. V, V, F, V. V, V, F, V. Sua resposta está correta. Uma pilha é uma estrutura de dados linear e importante, que armazena seus elementos de maneira ordenada, ou seja, seus elementos são adicionados e removidos apenas de uma extremidade, o que lhe permite uma implementação utilizando uma estrutura de dados dinâmica. Pergunta 4 Resposta Selecionada: Resposta Correta: Comentário da resposta: Uma lista encadeada (= linked list = lista ligada) é uma sequência de células; cada célula contém um objeto (todos os objetos são do mesmo tipo) e o endereço da célula seguinte. Analise o código a seguir: public Lista(){ this.inicio = this.fim = null; } public boolean isVazia() { return this.inicio == null; } public int getQuantidade() { No<T> atual = this.inicio; int qtde = 0; while (atual != null){ ++qtde; atual = atual.getProximo(); } return qtde; } Considerando essas informações e o conteúdo estudado, identifique quais as operações foram apresentadas no código. I. Construção da lista, verificação de lista vazia, leitura da quantidade de elementos. II. Construção da lista e verificação de lista vazia. III. Retorno da quantidade de elementos. IV. Declaração, adição e retorno da quantidade de elementos. Está correto apenas o que se afirma em: II e III. II e III. Sua resposta está correta. Conforme apresentado, o trecho de código constrói a lista no método Lista (), verifica-se se a lista está vazia com o método getQuantidade(), faz-se a leitura da lista e apresenta-se a quantidade de elementos. Pergunta 5 Uma lista encadeada é uma sequência de elementos organizados um após o outro, com cada elemento conectado ao próximo elemento por um link. Uma prática comum de programação é colocar cada elemento junto com o link para o próximo elemento, resultando em um componente denominado nó. 1 em 1 pontos 1 em 1 pontos 25/06/2021 GRA0733 ESTRUTURA DE DADOS COM ORIENTAÇÃO A OBJETOS GR0941211 - 202110.ead-10706.03 https://unifacs.blackboard.com/webapps/late-course_engine_soap-BBLEARN/Controller?COURSE_ID=_672145_1 3/5 Resposta Selecionada: Resposta Correta: Considerando essas informações e o conteúdo estudado sobre listas encadeadas, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s). I. Ao usar uma lista, aloca-se espaço no início e esse espaço permanece fixo; se for alocado muito e o espaço permanecer sem uso, há desperdício recursos. II. A desvantagem de usar uma lista encadeada no lugar de uma matriz é que a lista encadeada pode crescer dinamicamente. III. Em uma lista encadeada, o espaço alocado em memória é fixo, o que a torna uma estrutura flexível, à medida que você adiciona ou remove dados da memória. IV. Usando uma linguagem orientada a objetos, como Java, pode-se modelar a lista encadeada, usando instâncias de nós separadas, conectadas para construir uma lista encadeada. Agora, assinale a alternativa que apresenta a sequência correta: ~Sua resposta está correta. Conforme apresentado no conteúdo, ao usar uma lista encadeada ao invés de um array, o espaço em memória é alocado dinamicamente, à medida que novos dados são incluídos ou excluídos da estrutura de dados. V, F, F, V. V, F, F, V. Pergunta 6 Resposta Selecionada: Resposta Correta: Comentário da resposta: Existem muitas especificidades pertinentes a linguagem Java que podem induzir o desenvolvedor a cometer erros sutis. Um exemplo clássico é declaração de múltiplas variáveis de array em uma única declaração é um exemplo. Agora analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s).I. ( ) Na declaração array: int[ ] a, b, c, todas as variáveis estão declaradas como variáveis do tipoarrays de inteiro. II. ( ) Na declaração array: int[ ] a, b, c, a variável a está declarada como um array de inteiros e as demais variáveis b e c, são declaradas como tipos básicos inteiros. III. ( ) Na a declaração int a[ ], b, c a variável a é uma variável do tipo array e as demais são do tipo int. IV. ( ) Uma forma simplificada de declaração variável de arrays é utilizar a classe Arraylist e declarar as variáveis desejadas de forma sequencial. V, F, V, F. V, F, V, F. Sua resposta está correta. Este tipo de exercício serve para testar a atenção do desenvolvedor quanto às declarações de múltiplas variáveis. Para o exemplo apresentado, int[ ] a, b, c, caso a, b e c devam ser declarados como variáveis dearray, então essa declaração está correta — colocar os colchetes logo depois do tipo indicaria que todos os identificadores na declaração são variáveis de array. Caso se deseje somente declarar a como um array inteiro e b e c como inteiros, a declaração int a[ ], b, c atenderia à necessidade. Este é o tipo de declaração que pode induzir o desenvolvedor ao erro. Pergunta 7 A ciência da computação tem exemplos comuns desta estrutura de dados. Imagine um laboratório com 20 computadores em rede, com uma única impressora. Ao enviarem suas atividades (documentos) para a impressora, uma fila de trabalho é criada no servidor, de modo que as tarefas dos alunos ficam “alinhadas” em uma fila de prioridade, aguardando para serem executadas, por ordem de chegada. A primeira tarefa da fila é a próxima a ser concluída. Considerando essas informações e conteúdo estudado sobre os conceitos básicos das filas, pode- se afirmar que a estrutura de dados à qual o exemplo se refere indica: 1 em 1 pontos 1 em 1 pontos 25/06/2021 GRA0733 ESTRUTURA DE DADOS COM ORIENTAÇÃO A OBJETOS GR0941211 - 202110.ead-10706.03 https://unifacs.blackboard.com/webapps/late-course_engine_soap-BBLEARN/Controller?COURSE_ID=_672145_1 4/5 Resposta Selecionada: Resposta Correta: Comentário da resposta: as filas. as filas. Sua resposta está correta. Conforme apresentado no texto do capítulo, o exemplo apresentado representa a estrutura de dados fila, pois o primeiro trabalho a entrar na fila de impressão, será o primeiro a ser impresso. Pergunta 8 Resposta Selecionada: Resposta Correta: Comentário da resposta: A programação orientada a objetos tem como objetivo combinar em uma única entidade lógica os dados e as funções que os manipulam, com possibilidade de reutilização de código, servindo como um elo entre os problemas existentes e as soluções computacionais. Considerando essas informações e o conteúdo estudado sobre orientação a objetos, analise as afirmativas a seguir. I. Variáveis de instância e implementação de métodos compõem uma classe. II. Instanciação é o processo de alocação de memória para armazenar informações do objeto. III. Existem dois qualificadores de acesso possíveis para determinar o nível de acesso aos elementos de uma classe: public e private. IV. Uma classe é uma instância que determina o que os objetos podem ou não fazer. Está correto apenas o que se afirma em: II e III. I e II. Sua resposta está incorreta. Lembre-se que existem quatro tipos de modificadores (qualificadores de acesso) e que uma classe não é uma instância e sim um molde para a criação de objetos. Pergunta 9 Resposta Selecionada: Resposta Correta: Comentário da resposta: As filas são uma estrutura de dados que admitem remoção de elementos e inserção de novos objetos. As operações de inserção e remoção são realizadas por extremidades diferentes, sendo que o primeiro objeto inserido na fila é também o primeiro a ser removido. Considerando essas informações e conteúdo estudado sobre a filas, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s). I. ( ) Cada novo elemento é inserido no fim da lista e sempre retiramos o elemento do início da lista, que entrou primeiro. II. ( ) Para implementar uma fila com o uso de ponteiros (alocação dinâmica), basta utilizar o nó e fazer as manipulações de acordo com o conceito PEPS. III. ( ) Os elementos de uma fila podem ser armazenados em uma lista encadeada, devendo-se inserir e retirar os elementos de suas extremidades. IV. ( ) A fila será representada por dois ponteiros, um aponta para o elemento sucessor e outro para o fim da fila, quando implementada com uma lista encadeada. Agora, assinale a alternativa que apresenta a sequência correta. V, F, F, V. V, V, V, F. Sua resposta está incorreta. A fila é uma estrutura de dados abstrata e dinâmica, muito semelhante às pilhas. Porém, ao contrário delas, está aberta em ambas as extremidades. Uma extremidade é usada para a inclusão de elementos e a outra é usada para a remoção de elementos dados. Nestas operações, os ponteiros frontal e traseiro são utilizados para fornecer informações de posição para a correta remoção e inclusão, respectivamente. 0 em 1 pontos 0 em 1 pontos 25/06/2021 GRA0733 ESTRUTURA DE DADOS COM ORIENTAÇÃO A OBJETOS GR0941211 - 202110.ead-10706.03 https://unifacs.blackboard.com/webapps/late-course_engine_soap-BBLEARN/Controller?COURSE_ID=_672145_1 5/5 Pergunta 10 Resposta Selecionada: Resposta Correta: Comentário da resposta: Na estrutura dinâmica de dados, o tamanho da estrutura não é fixo e pode ser modificado durante as operações realizadas nela, sendo projetadas para facilitar a mudança das estruturas de dados, apresentando alocação de memória dinâmica em tempo de execução. Considerando essas informações e o conteúdo estudado sobre as estruturas de dados dinâmicas, analise as afirmativas a seguir. I. A alocação de memória dinâmica pode combinar blocos estruturados alocados separadamente, para formar estruturas compostas que se expandem e contraem conforme necessário. II. Um array dinâmico se expande conforme você adiciona mais elementos. Portanto, você não precisa determinar o tamanho com antecedência. III. Os arrays dinâmicos colocam itens próximos uns dos outros na memória, o que reduz a eficiência de processamento. IV. Adicionar ou remover itens dentro de arrays dinâmicos são procedimentos que levam tempo, pois seus elementos são armazenados de forma adjacente uns aos outros. V, V, F, V. V, V, F, V. Sua resposta está correta. Conforme apresentado no conteúdo, a vantagem de se utilizar estruturas dinâmicas está na sua flexibilidade de alocação de novos elementos em tempo de execução, e esses elementos são posicionados na sequência do último elemento em memória, fazendo com que seja mais eficiente do que estruturas estáticas. 1 em 1 pontos
Compartilhar