Buscar

Avaliação 3 - Linguagem de Programação e Estrutura de Dados

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

04/11/2020 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI
https://portaldoalunoead.uniasselvi.com.br/ava/avaliacao/avaliacao_lista.php 1/4
Nota da Prova: 10,00
Legenda: Resposta Certa Sua Resposta Errada 
1. A pilha é uma estrutura de dados caracterizada por sua arquitetura do tipo LIFO (Last in - First out), em que o primeiro elemento a ser removido da
é o último que foi inserido. Outra característica relevante é o fato de normalmente existir um elemento de controle, conhecido como topo, que é re
por referenciar o elemento que será removido ou realocado dentro da pilha. Considerando a implementação em Java de um método que insere ob
tipo No em uma pilha, mostrada no código fonte da figura a seguir, classifique V para as sentenças verdadeiras e F para as falsas:
 
( ) O código entre as linhas 3 a 5 somente será executado caso não haja nenhum elemento na pilha.
 ( ) Se a linha 5 for comentada, a pilha não funcionará mais corretamente.
 ( ) A classe No possui um construtor que recebe um objeto do tipo Prato.
 ( ) A condição else somente será executada caso haja pelo menos um elemento na pilha.
 
Agora, assinale a alternativa que apresenta a sequência CORRETA:
 a) V - F - V - V.
 b) V - F - V - F.
 c) F - F - V - V.
 d) V - V - F - V.
2. Na Ciência da Computação, uma estrutura de dados é um modo particular de armazenamento e organização de dados em um computador de mo
possam ser usados eficientemente, facilitando sua busca e modificação. Com relação às estruturas de dados para armazenamento de informaçõe
as sentenças a seguir:
 
I- Uma constante é um determinado valor fixo que não se modifica na execução do programa. O valor é atribuído na definição da variável.
 II- Variáveis são posições de memória com conteúdo variável durante a execução do programa.
 III- Um valor lógico só pode receber valor verdadeiro ou falso.
 IV- Vetores são estruturas que têm uma sequência de valores que possuem diferentes tipos de dados.
 
Assinale a alternativa CORRETA:
 a) As sentenças III e IV estão corretas.
 b) As sentenças I e IV estão corretas.
 c) As sentenças II e IV estão corretas.
 d) As sentenças I, II e III estão corretas.
3. Um estudante de computação precisa resolver um problema bastante importante, que é executar as operações que estão descritas a seguir, cuja 
uma pilha. Tão logo ele retire algum elemento desta pilha, estes deverão ser inseridos em uma fila, cuja entrada é pela esquerda, e a saída pela d
1. PUSH P
 2. PUSH E
 3. PUSH R
 4. PUSH T
 5. PUSH O
 6. POP
 7. POP
 8. PUSH S
 9. PUSH O
 10. PUSH L
 11. POP
 12. POP
 13. POP
 
Sobre o exposto, analise as sentenças a seguir:
 
I- A sequência dos elementos da pilha após a linha 6 é P - E - R - T - O.
 II- A sequência dos elementos da pilha após a linha 13 é P - E - R.
 III- A sequência correta de entrada dos elementos na fila é O - T - L - O - S.
 
Assinale a alternativa CORRETA:
 a) As afirmativas II e III estão corretas.
 b) Somente a afirmativa II está correta.
 c) As afirmativas I e II estão corretas.
 d) As afirmativas I e III estão corretas.
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=QURTMDI3Ng==&action2=QURTMTI=&action3=NjU1NTU3&action4=MjAyMC8y&prova=MjU1OTE4MjM=#questao_1%20aria-label=
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=QURTMDI3Ng==&action2=QURTMTI=&action3=NjU1NTU3&action4=MjAyMC8y&prova=MjU1OTE4MjM=#questao_2%20aria-label=
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=QURTMDI3Ng==&action2=QURTMTI=&action3=NjU1NTU3&action4=MjAyMC8y&prova=MjU1OTE4MjM=#questao_3%20aria-label=
04/11/2020 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI
https://portaldoalunoead.uniasselvi.com.br/ava/avaliacao/avaliacao_lista.php 2/4
4. Os tipos estruturados fornecem recursos de programação muito úteis para os profissionais que desenvolvem softwares. Sobre as características e
destes tipos (registros, vetores e matrizes), e o trecho de algoritmo fornecido, analise as opções a seguir:
 
Algoritmo TiposEstruturados
 
tipo
 TCadastroProdutos = registro
 Codigo: inteiro;
 Descricao: caractere;
 Fim registro
 
 TCadastroProdutosVetor = Vetor[1..10] de TCadastroProdutos;
 TNomes = Vetor[1..10] de caractere;
 TMatriz = Vetor[1..3, 1..3] de inteiro;
 
variáveis
 Nome: TNomes;
 MatrizInteiros: TMatriz;
 CadastroProdutos: TCadastroProdutosVetor;
 início
 
fim
 
I- O acesso à posição da variável Nome[5] retorna um valor válido.
 II- O vetor TNomes pode ser substituído por uma matriz MNomes[0,10], apesar de aumentar o uso de memória RAM.
 III- Matrizes não podem ser considerados vetores multidimensionais.
 IV- A declaração de tipo TCadastroProdutosVetor = Vetor[1..10] de TCadastroProdutos é uma declaração válida.
 
Assinale a alternativa CORRETA:
 a) Somente a opção II está correta.
 b) As opções I, II e III estão corretas.
 c) Somente a opção III está correta.
 d) As opções I e IV estão corretas.
5. 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 
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
para referenciar a posição em determinada dimensão. Considerando as características das matrizes, classifique V para as sentenças verdadeiras
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) V - F - V - V.
 c) V - F - V - F.
 d) F - F - V - V.
6. Os Tipos Abstratos de Dados (TAD) representam um conjunto finito de valores que são ordenados, onde pode ocorrer a duplicidade de valor. Veto
configuram um tipo de dado abstrato de ampla utilização nas linguagens de programação. Com relação aos vetores, analise as sentenças a segui
I- Arranjos são vetores que têm uma sequência de valores que possuem o mesmo tipo de dados.
 II- A principal função de um vetor é organizar de forma estruturada um conjunto de dados.
 III- Vetores não podem estar disponíveis através de uma lista.
 IV- Vetores são considerados uma sequência de valores e são armazenados em uma sequência de dados na memória dos programas. 
 
Assinale a alternativa CORRETA:
 a) As sentenças I, II e IV estão corretas.
 b) As sentenças III e IV estão corretas.
 c) As sentenças II e III estão corretas.
 d) As sentenças I e III estão corretas.
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=QURTMDI3Ng==&action2=QURTMTI=&action3=NjU1NTU3&action4=MjAyMC8y&prova=MjU1OTE4MjM=#questao_4%20aria-label=
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=QURTMDI3Ng==&action2=QURTMTI=&action3=NjU1NTU3&action4=MjAyMC8y&prova=MjU1OTE4MjM=#questao_5%20aria-label=
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=QURTMDI3Ng==&action2=QURTMTI=&action3=NjU1NTU3&action4=MjAyMC8y&prova=MjU1OTE4MjM=#questao_6%20aria-label=
04/11/2020 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI
https://portaldoalunoead.uniasselvi.com.br/ava/avaliacao/avaliacao_lista.php 3/4
7. A classe CountOccurrence escrita na linguagem Java tem por objetivo localizar e contar quantas ocorrências de um determinado valor existem em
conjunto predeterminado de valores, retornando a quantidade de vezesque 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:
 a) A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa.
 b) As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da primeira.
 c) A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira.
 d) As duas asserções são proposições falsas.
8. As listas dupla e simplesmente encadeadas apresentam-se como soluções para situações em que o desenvolvedor precisa armazenar um númer
desconhecido de ocorrências de uma mesma entidade na memória. Uma das maneiras de implementar as listas é através da autorreferenciação d
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óxim
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 desaco
lista propriamente dita.
 
Agora, assinale a alternativa CORRETA:
 a) As sentenças I e III estão corretas.
 b) As sentenças I e IV estão corretas.
 c) Somente a sentença II está correta.
 d) As sentenças I, II e III estão corretas.
9. As boas práticas de programação pregam que o nome de uma função deve conter somente um verbo e nenhum conectivo, por exemplo, calcularM
validarCPF são bons nomes, enquanto calcularEValidarNota não seria um bom nome. O motivo disso é que cada função deve ter uma responsab
única, o que justifica somente um verbo. As linguagens de programação mais modernas contribuem com essa prática, pois as funções em geral s
possuem um tipo de retorno. Considerando o que foi exposto e o código JavaScript da Figura, classifique V para as sentenças verdadeiras e F pa
falsas:
 
( ) Ao carregar o HTML, nada será impresso na tela do navegador web.
 ( ) O número dois será impresso somente ao se clicar com o mouse na página.
 ( ) A função somar recebe dois parâmetros de entrada.
 ( ) O número dois será impresso na tela do navegador web, independentemente se o usuário clicar ou não na página.
 
Agora, assinale a alternativa que apresenta a sequência CORRETA:
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=QURTMDI3Ng==&action2=QURTMTI=&action3=NjU1NTU3&action4=MjAyMC8y&prova=MjU1OTE4MjM=#questao_7%20aria-label=
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=QURTMDI3Ng==&action2=QURTMTI=&action3=NjU1NTU3&action4=MjAyMC8y&prova=MjU1OTE4MjM=#questao_8%20aria-label=
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=QURTMDI3Ng==&action2=QURTMTI=&action3=NjU1NTU3&action4=MjAyMC8y&prova=MjU1OTE4MjM=#questao_9%20aria-label=
04/11/2020 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI
https://portaldoalunoead.uniasselvi.com.br/ava/avaliacao/avaliacao_lista.php 4/4
 a) F - V - F - V.
 b) V - V - F - F.
 c) F - F - V - V.
 d) V - F - F - V.
10.As estruturas de dados conhecidas como filas comportam-se exatamente como suas homônimas no mundo real. Imagine uma fila em um banco, 
chegam três pessoas. A primeira pessoa a ser atendida é a primeira pessoa que chegou, a segunda pessoa a ser atendida é a segunda que cheg
sucessivamente. Em computação, esta lógica de funcionamento é chamada de FIFO (first in - first out), sendo a característica principal das filas.
Considerando o que foi exposto e a implementação em Java mostrada na figura a seguir, classifique V para as sentenças verdadeiras e F para as
( ) O parâmetro <T> permite que seja feita a inserção de qualquer tipo de elemento na fila, desde que sejam todos do mesmo tipo.
 ( ) A linguagem de programação Java possui uma implementação própria, que pode servir para controlar uma fila, chamada de LinkedList.
 ( ) Uma das maneiras de implementar o método remove é através da delegação, simplesmente chamando o método remove(int indice) já existe
classe LinkedList.
 ( ) Remover, adicionar, consultar elemento e verificar se a fila está vazia são as operações que podem ser realizadas com as filas.
 
Agora, assinale a alternativa que apresenta a sequência CORRETA:
 a) V - F - V - F.
 b) F - F - V - V.
 c) V - V - V - F.
 d) V - F - F - V.
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, p
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) 4 e 80.
 b) 11 e 80.
 c) 7 e 29.
 d) 11 e 29.
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=QURTMDI3Ng==&action2=QURTMTI=&action3=NjU1NTU3&action4=MjAyMC8y&prova=MjU1OTE4MjM=#questao_10%20aria-label=
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=QURTMDI3Ng==&action2=QURTMTI=&action3=NjU1NTU3&action4=MjAyMC8y&prova=MjU1OTE4MjM=#questao_11%20aria-label=

Continue navegando