Buscar

Linguagens de Programação e Estruturas de Dados - Avaliação Final Objetiva

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 7 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

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 6, do total de 7 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

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.

Outros materiais