Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina: Linguagens de Programação e Estruturas de Dados (ADS12) Avaliação: Avaliação Final (Objetiva) - Individual FLEX ( Cod.:424903) ( peso.:3,00) Prova: 8740834 Nota da Prova: 4,00 Folha de Resposta Legenda: Resposta Certa Sua Resposta Errada 1. Uma lista encadeada funciona como uma estrutura de dados para armazenar informações de forma mais flexível que um vetor ou uma matriz. Em Java, podemos implementar uma classe utilitária contendo diversos métodos que abstraem a complexidade do gerenciamento desta lista, facilitando sua utilização por outros programadores. Com relação aos métodos utilitários presentes em uma lista encadeada, assinale a alternativa CORRETA: a) O método que adiciona um elemento em determinada posição da lista exige a criação de um objeto temporário para armazenamento das referências que serão alteradas. b) O método que verifica se determinado objeto está contido na lista precisa conhecer o valor de todos os atributos do objeto para fazer esta verificação. c) O método que permite a adição de um elemento no começo da lista não precisa verificar se existem ou não elementos pré-existentes na lista. d) Quando a posição ocupada por um objeto na lista for igual ao número de elementos, sabemos que este objeto está na penúltima posição desta mesma lista. 2. Os vetores apresentam-se como alternativa ao desenvolvedor em situações em que existe a necessidade de armazenamento e recuperação de informações em memória de forma rápida e prática. Entretanto, a utilização dos vetores pode ocasionar erros que acontecem na execução do programa e que são imperceptíveis no momento da compilação. Considerando os cuidados a serem tomados pelo desenvolvedor na utilização de vetores, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Colocar e definir o tamanho dos vetores em constantes pode auxiliar a manter a consistência do programa. ( ) Ao controlar cadeias de caracteres, o desenvolvedor deve encerrá-las com o caracter ?e?, de forma a indicar o seu final. ( ) Ao saber o número de elementos a serem armazenados em um vetor, o desenvolvedor pode diminuir a utilização da memória pelo programa. ( ) Para se percorrer uma matriz, basta iterar pela primeira dimensão da mesma através do comando for. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) V - F - V - F. b) V - F - V - V. c) F - V - F - V. d) V - F - F - V. 3. Na compilação, o programa escrito na linguagem fonte é traduzido para linguagem máquina e depois ligado e carregado para ser executado. Na interpretação, o programa fonte é traduzido e executado instrução a instrução, de modo interativo. O interpretador traduz cada instrução para uma representação interna e interpreta-a simulando o funcionamento do processador. O interpretador aceita, além das instruções da linguagem, comandos para controlar o seu funcionamento. Imagine as seguintes situações em um módulo executável de um programa: - redução do tempo de execução; - maior agilidade na identificação de erros na codificação. As situações citadas referenciam, respectivamente, os métodos de: a) Execução e compilação. b) Interpretação e compilação. c) Compilação e interpretação. d) Interpretação e execução. 4. 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) V - F - F - V. b) F - F - V - V. c) V - F - V - F. d) V - F - V - V. 5. 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 em praticamente 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. 6. 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 III e IV estão corretas. b) As sentenças I e III estão corretas. c) As sentenças I, II e IV estão corretas. d) As sentenças II, III e IV estão corretas. 7. Na linguagem de programação Java, os tipos como int, double, boolean e char são escritos com letras minúsculas, no sentido de indicar que são tipos primitivos. Já as Strings são declaradas com letra maiúscula, pois são classes que possuem diversas operações já implementadas, o que facilita a vida do desenvolvedor. Com relação às String da linguagem de programação Java, assinale a alternativa CORRETA: a) O método indexOf retorna um caracter contido no índice, que é passado como parâmetro. b) Os métodos trim e split apresentam a mesma funcionalidade, sendo que a única diferença entre eles é o tipo de retorno. c) Para se inicializar uma String, o seu conteúdo deve ser indicado através de aspas simples. d) O método equals pode ser utilizado para verificar a equivalência entre dois objetos, sendo que, na classe String, ele verifica se o conteúdo de duas Strings é igual. 8. A lista duplamente encadeada é um tipo de estrutura de dados que apresenta vantagens e desvantagens quando comparada com a lista simplesmente encadeada. Cabe ao desenvolvedor, após análise criteriosa do problema, selecionar a mais adequada à situação em questão. Com relação às semelhanças e diferenças entre listas simplesmente encadeadas e listas duplamenteencadeadas, analise as sentenças a seguir: I- As listas simplesmente encadeadas permitem a navegação para o próximo nó da lista e também para o nó anterior. II- Uma vantagem da lista duplamente encadeada é a possibilidade de se percorrer a lista em qualquer sentido. III- As listas duplamente encadeadas requerem duas variáveis específicas para controle da própria lista em cada nó. IV- Pode-se afirmar que o desempenho de uma busca em lista duplamente encadeada é superior ao desempenho da mesma busca em uma lista simplesmente encadeada. Agora, assinale a alternativa CORRETA: a) As sentenças II e III estão corretas. b) Somente a sentença II está correta. c) Somente a sentença III está correta. d) As sentenças I, III e IV estão corretas. 9. Na Ciência da Computação, uma estrutura de dados é um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados eficientemente, facilitando sua busca e modificação. Em linguagens de programação e estrutura de dados, uma das formas mais comuns de armazenamento é o registro. Sobre a estrutura de armazenamento registro, assinale a alternativa CORRETA: a) Estrutura que contém uma ou mais variáveis de tipos de dados distintos, agrupados no mesmo nome. b) Estrutura que contém um conjunto não ordenado de campos do mesmo tipo de dados. c) Estrutura de dados que armazena mais de 4000 caracteres. d) Estrutura que armazena somente dados inseridos em pilha. 10.A recursividade é um recurso poderoso, que quando bem aplicado pode simplificar a resolução de problemas computacionais através de linguagens de programação. Uma das vantagens desta estratégia é que ela independe de linguagem de programação, podendo ser implementada em qualquer linguagem que dê suporte a funções, procedimentos ou métodos. Com base no exposto, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A recursividade indireta exige no mínimo a existência de duas funções distintas. ( ) Funções recursivas diretas não necessitam de uma condição específica para encerrar o processamento. ( ) A recursividade deve ser utilizada com parcimônia, pois pode diminuir o desempenho do programa em situações específicas. ( ) As funções recursivas necessitam de algum tipo de comando de repetição para funcionarem corretamente. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) V - F - F - V. b) V - V - F - V. c) V - F - V - F. d) F - V - F - V.
Compartilhar