Baixe o app para aproveitar ainda mais
Prévia do material em texto
5/24/2021 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php 1/7 Disciplina: Linguagens de Programação e Estruturas de Dados (ADS12) Avaliação: Avaliação Final (Objetiva) - Individual Semipresencial ( Cod.:670855) ( peso.:3,00) Prova: 32217773 Nota da Prova: 10,00 Legenda: Resposta Certa Sua Resposta Errada 1. As matrizes são estruturas homogêneas de dados criadas com o objetivo de permitir o armazenamento e a busca de informações na memória de maneira rápida e simples. Ao contrário das variáveis escalares, as matrizes permitem o armazenamento de diversos valores em uma só variável, utilizando índices para referenciar a posição em determinada dimensão. Considerando as características das matrizes, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Uma matriz simétrica é aquela cujas linhas podem ser trocadas pelas colunas, e os elementos não trocam de posição. ( ) Uma matriz não quadrada não pode ser transposta, pois o número de linhas é diferente do número de colunas. ( ) Uma matriz quadrada é aquela cujo número de linhas é igual ao número de colunas. ( ) Uma matriz 2x2 pode ser representada como um vetor de duas posições, em que cada posição referencia outro vetor de duas posições. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) F - F - V - V. b) V - F - V - F. c) V - F - F - V. d) V - F - V - V. 2. Uma função é denominada recursiva quando ela é chamada novamente dentro de seu corpo. Implementações recursivas tendem a ser menos eficientes, porém facilitam a codificação e seu entendimento. Considere a função recursiva f(), apresentada na imagem a seguir, a qual foi escrita em linguagem C. Suponha que a função f() é acionada com os seguintes parâmetros de entrada: F([2, -4, 7, 0, -1, 4}, 6); Nesse caso, o valor de retorno da função f() será: 5/24/2021 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php 2/7 a) 10. b) 15. c) 13. d) 8. 3. As estruturas de dados definem a organização, os métodos de acesso e as opções de processamento e armazenamento de todos os dados utilizados por um programa de computador. Com relação às estruturas de dados estudadas, classifique V para as sentenças verdadeiras e F para as falsas: ( ) São exemplos de uso de fila em um sistema: controle de impressão de documentos e troca de pacotes de informações por computadores em redes, através de mensagens. ( ) Numa fila, os elementos são inseridos no início e excluídos no final da lista. ( ) Numa pilha, as inclusões e exclusões ocorrem sempre no topo da estrutura. ( ) Na lista duplamente encadeada, cada nó armazena o elemento, um ponteiro para o próximo nó e para o nó anterior. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - V - V. b) F - F - F - V. c) V - V - V - F. d) F - V - F - V. 4. Tipos de dados abstratos (TAD) representam um conjunto de dados e as respectivas operações executadas sobre eles. Os TAD podem ser considerados uma metodologia de desenvolvimento de algoritmos onde se reduz o tamanho do código através da abstração. Com relação aos tipos de dados abstratos, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A principal característica dos TAD é a finalidade das operações. ( ) Vetores, abstrato ponto e abstrato matriz são os três tipos de dados abstratos. ( ) Os TAD ficam externos ao módulo onde são criados, facilitando a visualização e a manipulação. ( ) Um programador não pode alterar os dados armazenados quando a implementação usa TAD. ( ) TAD é um tipo de dados que esconde a implementação de quem faz a manipulação. Assinale a alternativa que apresenta a sequência CORRETA: a) V - V - F - V - V. b) V - F - F - F - V. c) V - F - V - F - V. d) F - F - V - F - F. 5/24/2021 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php 3/7 5. A classe CountOccurrence escrita na linguagem Java tem por objetivo localizar e contar quantas ocorrências de um determinado valor existem em um conjunto predeterminado de valores, retornando a quantidade de vezes que um determinado valor se repete no conjunto. public class CountOccurrence { public boolean hasValue(int searchValue, int[] array, int i) { if (i >= array.length) return false; if (array[i] == searchValue) return true; else return hasValue(searchValue, array, i + 1); } public int count(int countValue, int[] array, int i) { if (!hasValue(countValue, array, i) '' i >= array.length) return 0; int c = 0; if (array[i] == countValue) c++; c += count(countValue, array, i+1); return c; } public static void main(String[] args) { int[] array = {2, 3, 5, 6, 9, 7, 8, 8, 9}; CountOccurrence co = new CountOccurrence(); System.out.println(co.count(5, array, 0)); } } Considerando o requisito proposto e o código apresentado, avalie as asserções a seguir e a relação proposta entre elas: I- Para que o algoritmo funcione corretamente, deve-se alterar a linha 21, de c += count( countValue, array, i ); para c += count(countValue, array, i + 1); PORQUE II- Da forma como o código está escrito, o código não compilará por estar chamando o mesmo método dentro dele indefinidamente. Assinale a alternativa CORRETA: 5/24/2021 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php 4/7 a) As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da primeira. b) A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa. c) As duas asserções são proposições falsas. d) A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira. 6. As pilhas são estruturas de dados utilizadas para diversas finalidades na computação e na programação de computadores. Suas características são adequadas para a resolução de problemas em que há a necessidade de se empilhar informações, fazer o seu processamento e depois retirá-las da pilha. Sobre as características das estruturas de dados conhecidas como pilhas, analise as afirmativas a seguir. I- Uma das características da pilha é que os elementos são retirados na mesma ordem em que foram inseridos. II- As pilhas possuem essencialmente duas operações básicas: empilhar e desempilhar. III- As pilhas utilizam o princípio Last in - First out para a inserção e retirada de elementos. IV- O nodo que realiza o controle da estrutura pilha é conhecido como CAUDA. Assinale a alternativa CORRETA: a) As afirmativas II e III estão corretas. b) As afirmativas I e II estão corretas. c) As afirmativas I e IV estão corretas. d) As afirmativas III e IV estão corretas. 7. As listas dupla e simplesmente encadeadas apresentam-se como soluções para situações em que o desenvolvedor precisa armazenar um número desconhecido de ocorrências de uma mesma entidade na memória. Uma das maneiras de implementar as listas é através da autorreferenciação dentro da própria entidade que será armazenada. Por exemplo, em uma lista de Automóveis, cada Automóvel conterá a informação que levará para o próximo elemento da lista. Com relação a este tipo específico de implementação de listas, analise as sentenças a seguir: I- Este tipo de lista possui características que violam o princípio da coesão. II- Este tipo de lista apresenta uma complexidade menor para o desenvolvedor no momento da manutenção, pois todas as informações estão empraticamente uma única entidade. III- Devido à sua característica de autorreferenciação, este tipo de implementação não permite a criação de listas duplamente encadeadas. IV- Para reduzir a complexidade na manutenção de uma lista encadeada, a entidade que conterá a informação a ser armazenada deve ser desacoplada da lista propriamente dita. Agora, assinale a alternativa CORRETA: a) As sentenças I e IV estão corretas. b) As sentenças I e III estão corretas. c) Somente a sentença II está correta. d) As sentenças I, II e III estão corretas. 5/24/2021 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php 5/7 8. Vários são os tipos de estrutura de dados quando o assunto é o armazenamento e acesso eficiente dos dados: pilhas, filas, vetores, matrizes, listas. Cada um dos tipos citados tem características muito particulares com relação à inclusão, ao acesso e à exclusão dos dados. Com relação às estruturas de dados, analise as sentenças a seguir: I- Na fila, não há exclusões e as inserções são feitas sempre na parte inferior. II- As estruturas de dados são sempre estáticas, ou seja, seu tamanho ou capacidade de armazenamento nunca sofrem alterações. III- As inserções e as exclusões podem ser feitas em qualquer lugar da lista em uma lista encadeada. IV- Nas pilhas, as inserções e as exclusões são feitas apenas no seu topo. Assinale a alternativa CORRETA: a) As sentenças I e III estão corretas. b) As sentenças II, III e IV estão corretas. c) As sentenças I, II e IV estão corretas. d) As sentenças III e IV estão corretas. 9. No modo recursivo de representação, a descrição de um conceito faz referência ao próprio conceito. São elementos fundamentais de uma definição recursiva: o caso-base (base da recursão) e a reaplicação da definição. Com relação à recursividade como paradigma de programação, analise as sentenças a seguir: I- O uso da recursão não é possível em linguagens com estruturas para orientação a objetos. II- As linguagens de programação funcionais têm, na recursão, seu principal elemento de repetição. III- No que diz respeito ao poder computacional, as estruturas iterativas e recursivas são equivalentes. IV- Estruturas iterativas e recursivas não podem ser misturadas em um mesmo programa. Assinale a alternativa CORRETA: a) As sentenças II e IV estão corretas. b) As sentenças I e III estão corretas. c) As sentenças II e III estão corretas. d) As sentenças I e IV estão corretas. 5/24/2021 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php 6/7 10.As listas simples e duplamente encadeadas são estruturas de dados utilizadas para armazenamento e recuperação de informações na memória do computador. Apesar de a linguagem de programação Java já possuir implementações próprias para estas estruturas, por vezes, o desenvolvedor entende que uma implementação própria poderá se adequar melhor ao problema que se está tentando resolver. Considerando as características das listas encadeadas, analise as sentenças a seguir: I- Objetos autorreferenciados são aqueles que possuem um (ou mais) atributos que são do mesmo tipo do próprio objeto. II- Como referência, em geral, o último nó de uma lista encadeada recebe uma referência nula para o atributo que marcaria o próximo elemento. III- As listas duplamente encadeadas necessitam de objetos autorreferenciados para funcionarem corretamente. IV- Pode-se afirmar que o desempenho de uma busca em lista simplesmente encadeada é superior ao desempenho da mesma busca em uma lista duplamente encadeada. Agora, assinale a alternativa CORRETA: a) As sentenças I, II e III estão corretas. b) Somente a sentença II está correta. c) As sentenças I, III e IV estão corretas. d) As sentenças III e IV estão corretas. 11.(ENADE, 2011) A pilha é uma estrutura de dados que permite a inserção/remoção de itens dinamicamente seguindo a norma de último a entrar, primeiro a sair. Suponha que para uma estrutura de dados, tipo pilha, são definidos os comandos: PUSH (p, n): Empilha um número "n" em uma estrutura de dados do tipo pilha "p"; POP (p): Desempilha o elemento no topo da pilha. Considere que, em uma estrutura de dados tipo pilha "p", inicialmente vazia, sejam executados os seguintes comandos: PUSH (p, 10) PUSH (p, 5) PUSH (p, 3) PUSH (p, 40) POP (p) PUSH (p, 11) PUSH (p, 4) PUSH (p, 7) POP (p) POP (p) Após a execução dos comandos, o elemento no topo da pilha "p" e a soma dos elementos armazenados na pilha "p" são, respectivamente: a) 11 e 80. b) 4 e 80. c) 11 e 29. d) 7 e 29. 5/24/2021 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php 7/7 Prova finalizada com 11 acertos e 0 questões erradas.
Compartilhar