Buscar

Avaliação Final - Linguagens de Programação e Estruturas 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 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

Avaliação Final (Objetiva) - Linguagens de Programação 
e Estruturas de Dados 
 
1 
Os ponteiros de variáveis também fazem parte da estrutura de dados, sendo estas que 
cumprem um papel muito importante dentro dessa estrutura, pois os ponteiros possuem 
como responsabilidade armazenar espaço na memória do programa para elementos e 
valores. 
Com base no momento em que é feito o procedimento de armazenamento de espaço de 
memória, assinale a alternativa CORRETA: 
A 
Antes da declaração da variável. 
B 
Antes da execução do programa. 
C 
No momento da execução do programa. 
D 
Após a declaração da variável. 
2 
Ponteiros são definidos como variáveis e possuem a responsabilidade de armazenar 
endereços na memória de um programa de computador. Ao realizar o processo de 
armazenamento de endereços na memória do programa é possível que sejam incluídos 
valores, bem como, também, podem ser utilizados. Sobre os ponteiros, analise as 
afirmativas a seguir: 
I- Ao realizar a declaração do ponteiro, também são indicados ao compilador a 
quantidade de espaço da memória que se necessita fazer o armazenamento dos valores. 
II- Uma característica muito interessante que deve ser observada ao realizar a 
declaração de um ponteiro é: precisa-se especificar para qual localização e qual tipo de 
variável que este ponteiro será apontado. 
III- Geralmente, os ponteiros são declarados através do seguinte operador ( # ), utilizado 
antes do nome da variável ao qual deverá ser apontado. 
IV- Os ponteiros possuem algumas vantagens muito interessantes e importantes, como 
possibilitam que se tenha passagem para os parâmetros de funções por referência, além 
de alocar endereço na memória. 
Assinale a alternativa CORRETA: 
A 
As afirmativas I, II e III estão corretas. 
B 
As afirmativas I e III estão corretas. 
C 
As afirmativas III e IV estão corretas. 
D 
As afirmativas I, II e IV estão corretas. 
3O algoritmo a seguir traz em seu bojo a atribuição de valores às variáveis, a 
comparação entre valores, as estruturas de seleção e repetição, entre outras técnicas. 
Com base no exposto, classifique V para as sentenças verdadeiras e F para as falsas: 
 
 
 
( ) Qualquer valor menor do que 10 atribuído à variável número possibilitará a 
impressão da instrução 2. ( ) A impressão da instrução 3 será exibida apenas se o valor 
atribuído à variável número for maior do que 10. ( ) Para finalizar o algoritmo, o flag 
deverá receber o valor 'não'. ( ) A instrução 2 será exibida se o valor atribuído à variável 
número for menor ou igual a 5 e menor do que 10. ( ) A instrução 1 será exibida se o 
valor atribuído à variável número for maior ou igual a zero e menor do que 5. Assinale a 
alternativa que apresenta a sequência CORRETA: 
A 
V - V - V - F - F. 
B 
F - F - F - V - F. 
C 
F - V - F - V - V. 
D 
V - F - V - F - V. 
4 
Uma matriz é definida por ser uma estrutura de dados que possui a funcionalidade de 
armazenar vários conjuntos de elementos. O armazenamento, como o acesso aos dados, 
é realizado de forma organizada e sequencial. Os elementos podem ser acessados 
seguindo um índice. O índice é organizado através das linhas e colunas pertencentes à 
matriz e sua estrutura de dados. Sobre a estrutura de matrizes, analise as afirmativas a 
seguir: 
I- As matrizes são consideradas arranjos ordenados, sua definição também especifica 
que podem ser formadas por n dimensões, observando que essas dimensões são 
denominadas de dimensional 
II- As matrizes são formadas por várias dimensões, elas são chamadas de 
bidimensional, quando a matriz possui duas dimensões, chama-se tridimensional, 
quando é formada por três dimensões e assim consequentemente. 
III- A matriz é uma estrutura de dados que necessita de um índice para referenciar a 
linha e outro para referenciar a coluna para que seus elementos sejam endereçados. 
IV- Uma das características de declaração de uma matriz é que ela precisa realizar 
alguns processos como, informar o tipo de dados que será armazenado, informar a 
quantidade de células, linhas e colunas que serão disponibilizadas para o arranjo. 
Assinale a alternativa CORRETA: 
A 
Somente a afirmativa I está correta. 
B 
As afirmativas I, II, III e IV estão corretas. 
C 
Somente a afirmativa III está correta. 
D 
Somente a afirmativa IV está correta. 
5Uma 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 verifica se determinado objeto está contido na lista precisa conhecer o 
valor de todos os atributos do objeto para fazer esta verificação. 
B 
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. 
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 
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. 
6A alocação dinâmica de memória para armazenamento de objetos é uma das 
alternativas à utilização de vetores e matrizes, apresentando, entretanto, alguma 
complexidade adicional no que se refere à própria estrutura de armazenamento e busca. 
Considerando uma lista encadeada que faça uso da alocação dinâmica de memória, 
assinale a alternativa CORRETA: 
A 
Uma lista encadeada exige que se conheça inicialmente o número de objetos a serem 
alocados. 
B 
O último elemento da lista encadeada não é referenciado por nenhum dos anteriores, 
indicando o final da lista. 
C 
Não podemos afirmar que os elementos de uma lista encadeada estão colocados na 
memória de forma contígua. 
D 
O primeiro elemento de uma lista encadeada sempre possuirá uma referência para null, 
indicando os demais elementos da lista. 
7Um algoritmo é, essencialmente, uma forma sem cérebro de fazer coisas inteligentes. 
É um conjunto de etapas precisas que não precisam de grande esforço mental para 
serem seguidas, mas que, se obedecidas exatamente e mecanicamente, levarão ao 
resultado desejado. A chave é: cada passo deve ser o mais simples possível, sem deixar 
espaço para ambiguidades ou dúvidas. Cozinhar e dirigir, por exemplo, são tipos de 
algoritmos. Mas as instruções como "cozinhas a carne até que fique macia" ou "siga em 
frente por alguns quilômetros" são muito vagas para serem seguidas sem, pelo menos, 
alguma interpretação. Com relação ao conceito apresentado, classifique V para as 
sentenças verdadeiras e F para as falsas: ( ) É Uma sequência de passos para realizar 
uma atividade. ( ) É a operação matemática inversa a potencia. ( ) É parte de um 
programa em que se limita a definir os tipos de dados das variáveis. ( ) É a parte de um 
programa em que se limita a definir as constantes. ( ) É um software utilizado para 
escrever programas. Assinale a alternativa que apresenta a sequência CORRETA: 
FONTE: . Acesso em: 28 nov. 2018. 
A 
F - V - V - F - F. 
B 
V - V - F - V - V. 
C 
F - F - F - F - V. 
D 
V - F - F - F - F. 
8As 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- Objetosautorreferenciados 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 III e IV estão corretas. 
D 
As sentenças I, III e IV estão corretas. 
9A sequência de Fibonacci é um dos problemas matemáticos que podem ser resolvidos 
através da utilização de funções recursivas diretas em uma linguagem de programação. 
A sequência de Fibonacci é composta pelos seguintes números inteiros: 1, 1, 2, 3, 5, 8, 
13, 21, 34, ..., cada número seguinte é formado pela soma de seus dois antecessores. 
Sobre o código-fonte da figura a seguir, que gera a sequência de Fibonacci de forma 
recursiva, classifique V para as sentenças verdadeiras e F para as falsas: 
 
 
 
( ) O código escrito na linha 6 trata as situações onde o valor do número na sequência é 
menor do que 2, e não implica recursividade na linha 7. ( ) O código escrito na linha 9 
interrompe a execução do método, chamando-o novamente e enviando um valor como 
parâmetro. ( ) Tanto a linha 9 quanto a linha 10 fazem chamadas recursivas. ( ) A 
sequência de Fibonacci é um dos exemplos que só podem ser resolvidos com funções 
recursivas. Assinale a alternativa que apresenta a sequência CORRETA: 
A 
F - F - V - V. 
B 
F - V - F - F. 
C 
V - V - V - F. 
D 
V - F - F - V. 
10Um algoritmo pode ser definido como uma sequência de passos/instruções que visam 
atuar na solução de um problema que pode ou não ser recorrente. Embora o conceito de 
algoritmos pareça complexo, na verdade, o aplicamos inconscientemente muitas vezes 
em nosso dia a dia. Sobre os conceitos que dão sustentação aos algoritmos, classifique 
V para as sentenças verdadeiras e F para as falsas: ( ) Dados são valores sem significado 
contextual. ( ) Uma pseudolinguagem é uma linguagem intermediária que pode ser 
traduzida para uma linguagem de programação propriamente dita. ( ) Uma informação 
não possui significado contextual atrelado a um valor. ( ) A maneira como as instruções 
são encadeadas dentro de um programa é conhecida como lógica de programação. ( ) As 
linguagens de programação, em sua maioria, seguem exatamente a mesma sintaxe do 
portugol. Assinale a alternativa que apresenta a sequência CORRETA: 
A 
V - F - V - F - F. 
B 
F - V - F - V - F. 
C 
V - V - F - V - F. 
D 
F - F - F - V - 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, 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 
7 e 29. 
B 
11 e 80. 
C 
11 e 29. 
D 
4 e 80.

Continue navegando