Buscar

Linguagens de Programação e Estruturas de Dados Avaliação Final (Objetiva) - Individual FLEX

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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.

Outros materiais