Buscar

Linguagens de Programação e Estruturas de Dados Avaliação Final (Objetiva) - Individual

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 6 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 6 páginas

Prévia do material em texto

04/04/22, 14:35 Avaliação Final (Objetiva) - Individual
1/6
Prova Impressa
GABARITO | Avaliação Final (Objetiva) - Individual
(Cod.:690400)
Peso da Avaliação 3,00
Prova 40250817
Qtd. de Questões 11
Acertos/Erros 11/0
Nota 10,00
As cadeias de caracteres são estruturas que permitem a representação de letras, palavras, frases e até
mesmo textos, através do armazenamento de caracteres em vetores. A combinação destes caracteres em
sequência permite que se faça a leitura de strings, cujo controle é completamente transparente para o
desenvolvedor. Considerando as características das strings na linguagem de programação C, classifique V
para as sentenças verdadeiras e F para as falsas: ( ) Uma variável do tipo string tem seu final sinalizado
através do caracter ‘/e’. ( ) A string BOapROvA seria armazenada em um vetor de caracteres de 9
posições. ( ) As variáveis do tipo string realizam a conversão de caracteres numéricos automaticamente, ou
seja, ao somar duas variáveis string que contenham caracteres numéricos, a conversão é feita
automaticamente e o resultado obtido não será mais uma string e sim um valor numérico. ( ) O conteúdo de
uma variável do tipo string é representada internamente por um símbolo numérico, geralmente no formato
ASCII. Agora, assinale a alternativa que apresenta a sequência CORRETA:
A V - F - V - V.
B V - F - F - V.
C F - V - F - V.
D V - F - V - F.
As estruturas de dados conhecidas como filas comportam-se exatamente como suas homônimas no
mundo real. Imagine uma fila em um banco, onde chegam três pessoas. A primeira pessoa a ser atendida é a
primeira pessoa que chegou, a segunda pessoa a ser atendida é a segunda que chegou e assim
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 falsas: ( ) O parâmetro
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á existente na classe
LinkedList. ( ) Remover, adicionar, consultar elemento e verificar se a fila está vazia são as operações que
 VOLTAR
A+
Alterar modo de visualização
1
2
04/04/22, 14:35 Avaliação Final (Objetiva) - Individual
2/6
podem ser realizadas com as filas. Agora, assinale a alternativa que apresenta a sequência CORRETA:
A F - F - V - V.
B V - F - V - F.
C V - V - V - F.
D V - F - F - V.
Um grande recurso na programação de computadores são as variáveis. Como o próprio nome sugere,
o conteúdo delas sofre alteração durante a execução do programa. Sobre a definição de uma variável em
linguagens de programação fortemente tipadas, assinale a alternativa CORRETA:
A Um local na memória para armazenar um valor de tipo de dado predefinido.
B Um local na memória para armazenar um ponteiro e um registro.
C Um local na memória para armazenar uma matriz.
D Um local na memória para armazenar um vetor.
Uma pilha é uma estrutura de dados que armazena uma coleção de itens de dados relacionados e que
garante o seguinte funcionamento: o último elemento a ser inserido é o primeiro a ser removido. É comum na
literatura utilizar os nomes push e pop para as operações de inserção e remoção de um elemento em uma
pilha respectivamente. O trecho de código apresentado na imagem, em linguagem C, define uma estrutura de
dados pilha utilizando um vetor de inteiros, bem como algumas funções para sua manipulação. O programa a
seguir utiliza uma pilha deste código. 1. int main() { 2. pilha * p = cria_pilha(); 3. push(p, 2); 4. push(p, 3);
5. push(p, 4); 6. pop(p); 7. push(p, 2); 8. int a = pop(p) + pop(p); 9. push(p, a); 10. a += pop(p); 11.
printf("%d", a); 12. return 0; 13. } Com base no exposto, analise as afirmativas a seguir: I- O valor
apresentado na tela após a execução da linha 11 é 10. II- O valor exibido pelo programa seria o mesmo
3
4
04/04/22, 14:35 Avaliação Final (Objetiva) - Individual
3/6
caso a instrução a += pop(p) da linha 10; fosse trocada por a += a; III- O vetor usado pela pilha é alocado
estaticamente (linha 2). Assinale a alternativa CORRETA:
A As afirmativas I e III estão corretas.
B Somente a afirmativa II está correta.
C As afirmativas I e II estão corretas.
D As afirmativas II e III estão corretas.
As variáveis do tipo vetores unidimensionais, disponíveis em diversas linguagens de programação, são
úteis em situações em que é necessário manter em memória um conjunto de informações que permita
operações de busca e processamento. A sintaxe da declaração e utilização de vetores muda de linguagem
de programação para linguagem de programação, o que acaba por tornar sua utilização razoavelmente
complexa. Com relação aos vetores unidimensionais e suas características na linguagem de programação C,
assinale a alternativa CORRETA:
A As operações de leitura e escrita em variáveis do tipo vetor podem ser feitas sem variáveis auxiliares
de indexação.
B Um vetor unidimensional pode ser considerado como uma lista ordenada de elementos, sendo que um
vetor de strings é ordenado alfabeticamente de forma automática pela linguagem C.
C Uma string pode ser considerada como um vetor multidimensional.
D Os vetores unidimensionais caracterizam-se por possuírem um número finito de elementos, sendo que
todos são do mesmo tipo.
5
04/04/22, 14:35 Avaliação Final (Objetiva) - Individual
4/6
Os termos da sequência de Fibonacci são definidos por: Fibonacci(0) = 0 Fibonacci(1) = 1
Fibonacci(n) = Fibonacci(n-1) + Fibonacci(n-2) Uma solução recursiva para o cálculo do i-ésimo termo da
sequência é dada pela função apresentada na imagem a seguir. Sobre a execução recursiva dessa função,
avalie as asserções a seguir: I- O método recursivo é o mais eficiente para o cálculo do i-ésimo termo da
sequência de Fibonacci. PORQUE II- Realiza duas chamadas por passo da recursão, cada uma mais
simples do que a chamada original. Assinale a alternativa CORRETA:
A As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da
primeira.
B As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da primeira.
C A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira.
D A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa.
A lista duplamente encadeada é um tipo de estrutura de dados que apresenta vantagens e
desvantagens quando comparada com a lista simplesmente encadeada. Cabe ao desenvolvedor, após
análise criteriosa do problema, selecionar a mais adequada à situação em questão. Com relação às
semelhanças e diferenças entre listas simplesmente encadeadas e listas duplamente encadeadas, analise as
sentenças a seguir: I- As listas simplesmente encadeadas permitem a navegação para o próximo nó da lista e
também para o nó anterior. II- Uma vantagem da lista duplamente encadeada é a possibilidade de se
percorrer a lista em qualquer sentido. III- As listas duplamente encadeadas requerem duas variáveis
específicas para controle da própria lista em cada nó. IV- Pode-se afirmar que o desempenho de uma busca
em lista duplamente encadeada é superior ao desempenho da mesma busca em uma lista simplesmente
encadeada. Agora, 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 Somente a sentença III está correta.
D Somente a sentença II está correta.
Na linguagem de programação Java, os tipos como int, double, boolean e char são escritos com letras
minúsculas, no sentido de indicar que são tipos primitivos. Já as Strings são declaradas com letra maiúscula,
pois são classes que possuem diversas operaçõesjá implementadas, o que facilita a vida do desenvolvedor.
Com relação às String da linguagem de programação Java, assinale a alternativa CORRETA:
A O método equals pode ser utilizado para verificar a equivalência entre dois objetos, sendo que, na
classe String, ele verifica se o conteúdo de duas Strings é igual.
B O método indexOf retorna um caracter contido no índice, que é passado como parâmetro.
6
7
8
04/04/22, 14:35 Avaliação Final (Objetiva) - Individual
5/6
C
Os métodos trim e split apresentam a mesma funcionalidade, sendo que a única diferença entre eles é o
tipo de retorno.
D Para se inicializar uma String, o seu conteúdo deve ser indicado através de aspas simples.
Um 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 - F - F - V - V.
C F - V - F - V - F.
D V - V - F - V - F.
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 estrutura é o último que foi inserido. Outra característica
relevante é o fato de normalmente existir um elemento de controle, conhecido como topo, que é responsável
por referenciar o elemento que será removido ou realocado dentro da pilha. Considerando a implementação
em Java de um método que insere objetos do 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 - F.
B V - V - F - V.
9
10
04/04/22, 14:35 Avaliação Final (Objetiva) - Individual
6/6
C V - F - V - V.
D F - F - V - V.
(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.
11
Imprimir

Continue navegando