Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. 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óprioobjeto. II- Como referência, em geral, o último nó de uma lista encadeada recebe uma referência nula para o atributo quemarcaria 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. 2. 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 nuncasofrem 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. 3. Pilha é um dos vários tipos de estrutura de dados usados em algoritmos como forma de armazenamento e acesso às informações. Com relação à estrutura de dados citada, analise as sentenças a seguir: I- O último elemento que entra é o primeiro que sai. II- São exemplos de implementações em forma de pilha: mecanismo de desfazer/refazer dos editores de texto e anavegação entre páginas web no intuito de guardar as páginas visitadas. III- Não há exclusão de elementos na estrutura de dados Pilha. IV- Somente os últimos elementos inseridos podem ser removidos. Disciplina: Linguagens de Programação e Estruturas de Dados (ADS12) Avaliação: Avaliação Final (Objetiva) - Individual Semipresencial) Prova: 19450008 Nota da Prova: 10 , 00 Legenda: Resposta Certa Sua Resposta Errada Agora, assinale a alternativa CORRETA: a) As sentenças I, II e III estão corretas. b) As sentenças I, III e IV estão corretas. c) As sentenças III e IV estão corretas. d) Somente a sentença II está correta. Assinale a alternativa CORRETA: a) As sentenças II, III e IV estão corretas. b) As sentenças III e IV estão corretas. c) As sentenças I e III estão corretas. d) As sentenças I, II e IV estão corretas. 4. A bilheteria de um cinema separou uma quantidade de ingressos de diversos filmes para um determinado período. No total, foram reservados 200 ingressos (tickets) por dia. Esse é o número total de poltronas em uma sala. O gerente precisa alimentar uma planilha com o os bilhetes vendidos em cada dia do período, o filme disponibilizado e o nome de cada espectador. Sobre a solução para o problema, sob o ponto de vista da estrutura de dados, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A construção de um vetor com tipos primitivos de dados é suficiente para atender à necessidade apontada. ( ) Uma matriz bidimensional com tipos primitivos de dados oferece características típicas para solucionar esse tipo de problema. ( ) É necessária uma matriz tridimensional que, usando tipos primitivos de dados, possa considerar as três variáveis do problema. ( ) A estrutura de registro com dados primitivos e um vetor podem dar suporte à solução do problema. ( ) Uma estrutura de registro que não use tipo primitivo de dados pode ser usada na solução do problema. Assinale a alternativa que apresenta a sequência CORRETA: 5. 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 em V para as opções verdadeiras e F para as falsas: ( ) Vetores, variáveis, procedimentos, funções. ( ) Procedimentos, pilhas, filas, listas. ( ) Vetores, listas, funções, árvores. ( ) Procedimentos, listas, pilhas, funções. ( ) Vetores, pilhas, filas, árvores. Assinale a alternativa que apresenta a sequência CORRETA: 6. Foi solicitada a criação de um algoritmo que faça a leitura de três notas, apresentando uma mensagem com a maior nota. Com base nessa solicitação e no algoritmo anexo, analise as sentenças a seguir: I- O algoritmo não funciona, pois não pode ordenar valores do tipo real. II- O algoritmo não funciona, pois as variáveis utilizadas não foram declaradas. III- O algoritmo não está com a lógica correta para o que foi solicitado. IV- O algoritmo está certo e apresentará a maior nota de três. Assinale a alternativa CORRETA: Assinale a alternativa CORRETA: a) As sentenças II e III estão corretas. b) As sentenças I e II estão corretas. c) As sentenças I e IV estão corretas. d) As sentenças III e IV estão corretas. a) F - V - V - V - F. b) V - F - F - V - F. c) V - V - F - F - V. d) F - F - F - V - F. a) F - F - F - F - V. b) V - F - F - F - V. c) F - V - V - V - F. d) V - V - F - F - V. 7. Uma empresa deseja manter seu pequeno estoque em uma matriz, com quatro linhas por três colunas. Após o cadastro, o algoritmo deve permitir a busca por código. Crie um algoritmo que solicite valores e preencha uma matriz de ordem 4 x 3 (4 linhas por 3 colunas). Em seguida, o algoritmo deverá solicitar mais um valor para procurá-lo na matriz. O algoritmo deverá informar, no fim, em que linha x coluna está o valor. Caso o código não for encontrado, enviar um aviso informando que o produto não está cadastrado. Algoritmo busca_vetor; var mat : vetor [1..4,1..3] de real; procurar : real; l, c : inteiro; encontrou : lógica; início Para l <- 1 até 4 faça início Para c <- 1 até 3 faça início escreva('Valor: '); Leia(mat[l,c]); Fim; Fim; escreva('Valor para busca: '); Leia(procurar); encontrou <- falso; Se (not encontrou) então início escreva('Não tem na matriz: ',procurar); Fim; Fim. Baseado nessa solicitação e no código apresentado, analise as sentenças a seguir: I- O algoritmo está correto e vai buscar um valor dentro do vetor. II- O algoritmo não está selecionando um valor dentro do vetor. III- O algoritmo está com a declaração de variáveis incorreto. IV- O algoritmo solicita e armazena corretamente os valores. a) As sentenças II e IV estão corretas. b) As sentenças II e III estão corretas. c) As sentenças II, III e IV estão corretas. d) As sentenças I, II e III estão corretas. 8. Escopo dinâmico: para as linguagens com escopo dinâmico, a vinculação das variáveis ao escopo é realizada em tempo de execução. Se uma variável é local ao bloco, então o uso da dada variável no bloco será sempre vinculado àquela local. Contudo, se a variável for não local, a sua vinculação depende da ordem de execução, a última vinculada na execução. A consequência disso é que, em um mesmo bloco de comandos, um identificador pode ter significados diferentes, e o programador precisa ter a ideia precisa de qual variável está sendo usada. Suponha que uma linguagem de programação tenha sido projetada com vinculação e verificação estáticas para tipos de variáveis, além de passagem de parâmetros por valor. Também é exigido pela especificação da linguagem que programassejam compilados integralmente e que não é permitido compilar bibliotecas separadamente. Durante uma revisão da especificação da linguagem, alguém propôs que seja adicionado um mecanismo para suporte a variáveis com escopo dinâmico. Sobre a proposta de modificação da linguagem, analise as seguintes sentenças: I- As variáveis com escopo dinâmico podem ser tratadas como se fossem parâmetros para os subprogramas queas utilizam, sem que o programador tenha que especificá-las ou declarar seu tipo (o compilador fará isso). Assim, eliminasse a necessidade de polimorfismo e é possível verificar tipos em tempo de compilação. II- Como diferentes subprogramas podem declarar variáveis com o mesmo nome mas com tipos diferentes, se asvariáveis com escopo dinâmico não forem declaradas no escopo onde são referenciadas, será necessário que a linguagem suporte polimorfismo de tipos. III- Se as variáveis dinâmicas forem declaradas tanto nos escopos onde são criadas como nos subprogramas emque são referenciadas, marcadas como tendo escopo dinâmico, será possível identificar todos os erros de tipo em tempo de compilação. 9. Os operadores são aplicados dentro dos algoritmos sempre que se quer fazer uma operação matemática, relacional ou lógica entre duas ou mais informações. Apesar de cada linguagem de programação empregar sua própria sintaxe para representar os operadores, a operação que eles representam e o resultado obtido não muda, o que facilita sua representação através dos algoritmos. Com relação aos operadores matemáticos, relacionais e lógicos, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O operador DIV nos traz a parte inteira do resultado de uma divisão. ( ) Para x=5 e y=10, x MOD y retorna o valor 0. ( ) Em uma operação do tipo E, todos os operandos devem ser verdadeiros para que o resultado seja verdadeiro. ( ) A expressão "(4<=10) ou (5>8)" tem como resultado o valor FALSO. ( ) O operador <> serve para verificar se dois valores são diferentes. Assinale a alternativa que apresenta a sequência CORRETA: 10.As linguagens usadas para programar computadores são muito exigentes com a maneira com que os dados são representados. Os algoritmos manipularão dados, que normalmente são fornecidos pelos usuários, e entregar resultados para estes usuários. Uma pergunta importante neste momento é: que tipo de dados poderemos manipular? As linguagens de programação normalmente estabelecem regras precisas para definir que tipos de dados elas manipularão. A pseudolinguagem que empregaremos também estabelece, ainda que informalmente, algumas regras que reduzem o conjunto de dados existentes na natureza a um conjunto mais simples e Assinale a alternativa CORRETA: a) As sentenças I, III e IV estão corretas. b) As sentenças II e III estão corretas. c) As sentenças II e IV estão corretas. d) As sentenças I, II e III estão corretas. Assinale a alternativa CORRETA: a) As sentenças I e III estão corretas.. b) Somente a sentença II está correta. c) As sentenças II e III estão corretas. d) Somente a sentença I está correta. a) F - V - F - V - F. b) V - F - V - F - F. c) V - F - V - F - V. d) V - V - F - V - V. somente este conjunto poderá ser manipulado pelos algoritmos. Sobre os tipos de dados primitivos, assinale a alternativa CORRETA: a) Matrizes, vetores e variáveis globais. b) Variáveis locais, números e datas. c) Inteiro, real, caractere e booleano. 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: d) Texto, datas, números, constantes e vetores. a) 4 e 80. b) 11 e 80. c) 7 e 29. d) 11 e 29. Prova finalizada com 10 acertos e 1 questões erradas .
Compartilhar