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

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 .

Outros materiais