Baixe o app para aproveitar ainda mais
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.
Compartilhar