Você está na página 1de 9

28/03/2024, 10:16 Revisar envio do teste: QUESTIONÁRIO UNIDADE IV – ...

UNIP EAD CONTEÚDOS ACADÊMICOS BIBLIOTECAS MURAL DO ALUNO TUTORIAIS

PROGRAMAÇÃO ORIENTADA A OBJETOS I 6857-60_57501_R_E1_20241 CONTEÚDO


Revisar envio do teste: QUESTIONÁRIO UNIDADE IV

Usuário beatriz.flores2 @aluno.unip.br


Curso PROGRAMAÇÃO ORIENTADA A OBJETOS I
Teste QUESTIONÁRIO UNIDADE IV
Iniciado 28/03/24 10:08
Enviado 28/03/24 10:15
Status Completada
Resultado da 2,5 em 2,5 pontos
tentativa
Tempo decorrido 7 minutos
Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários, Perguntas
respondidas incorretamente

Pergunta 1 0,25 em 0,25 pontos

Analise o seguinte trecho de código em C# que utiliza uma expressão lambda. Determine qual
será o comportamento do programa ao ser executado e qual é o principal benefício de utilizar
uma expressão lambda neste contexto específico.

Resposta c.
Selecionada: O programa imprimirá os números 2, 4, 6, 8, 10, demonstrando a
aplicação eficiente de operações em coleções.

Respostas: a.
O programa imprimirá os números de 1 a 5, pois a expressão lambda
duplica cada elemento da lista.

b.
O programa resultará em um erro de compilação, pois as expressões
lambda não podem ser usadas com listas.

https://ava.ead.unip.br/w ebapps/assessment/review /review .jsp?attempt_id=_103043107_1&course_id=_335055_1&content_id=_3851240_1… 1/9


28/03/2024, 10:16 Revisar envio do teste: QUESTIONÁRIO UNIDADE IV – ...

c.
O programa imprimirá os números 2, 4, 6, 8, 10, demonstrando a
aplicação eficiente de operações em coleções.

d.
O programa causará uma exceção em tempo de execução, pois a
expressão lambda está malformada.

e.
O programa não imprimirá nada, pois as expressões lambda não têm
efeito em operações de listas.

Pergunta 2 0,25 em 0,25 pontos

Considere o seguinte código C# que utiliza LINQ para filtrar dados em uma coleção.
Determine qual será o resultado da execução do programa e qual é a principal característica
do LINQ demonstrada neste exemplo.

Resposta b.
Selecionada: O programa imprimirá apenas os números pares da lista,
demonstrando a capacidade de filtragem do LINQ.

Respostas: a.
O programa imprimirá todos os números de 1 a 10, pois o LINQ não
afeta a coleção original.

b.
O programa imprimirá apenas os números pares da lista,
demonstrando a capacidade de filtragem do LINQ.

c.
Resultará em um erro de compilação, pois a sintaxe do LINQ está
incorreta.

d. O programa imprimirá apenas os números ímpares da lista.

https://ava.ead.unip.br/w ebapps/assessment/review /review .jsp?attempt_id=_103043107_1&course_id=_335055_1&content_id=_3851240_1… 2/9


28/03/2024, 10:16 Revisar envio do teste: QUESTIONÁRIO UNIDADE IV – ...

e.
Nenhuma saída será produzida, pois a expressão LINQ é avaliada
apenas quando acessada.

Comentário Resposta: B.
da resposta:
Comentário: O código utiliza o método Where do LINQ para filtrar os
números pares da lista números. A expressão lambda n => n % 2 == 0 serve
como critério de filtragem, retornando apenas os números que são
divisíveis por 2. Portanto, o programa imprimirá os números pares da lista,
evidenciando a funcionalidade de filtragem do LINQ.

Pergunta 3 0,25 em 0,25 pontos

Avalie o código C# abaixo que usa LINQ para transformar uma coleção de objetos. Qual é o
resultado esperado da execução deste código e que aspecto do LINQ ele exemplifica?

Resposta c.
Selecionada: O programa imprimirá os nomes "ALICE", "BOB", "CHARLIE",
demonstrando a transformação de dados com LINQ.

Respostas: a.
O programa imprimirá os nomes na ordem original sem alterações, pois
o LINQ não modifica os elementos da coleção.

b. O programa resultará em um erro de execução.

c.
O programa imprimirá os nomes "ALICE", "BOB", "CHARLIE",
demonstrando a transformação de dados com LINQ.

d. O programa imprimirá uma lista de comprimentos dos nomes.

https://ava.ead.unip.br/w ebapps/assessment/review /review .jsp?attempt_id=_103043107_1&course_id=_335055_1&content_id=_3851240_1… 3/9


28/03/2024, 10:16 Revisar envio do teste: QUESTIONÁRIO UNIDADE IV – ...

e.
Nenhuma saída será produzida, pois a consulta LINQ não é executada.

Pergunta 4 0,25 em 0,25 pontos

Considerando o processo de Garbage Collection (Coleta de Lixo) em C#, como ele difere da
gestão de memória em linguagens sem um sistema de GC, como C++, e qual é o seu impacto
na estabilidade das aplicações?

Resposta c.
Selecionada: O GC automatiza a liberação de memória em C#, reduzindo erros como
vazamentos de memória.

Respostas: a.
O GC em C# diminui a estabilidade das aplicações ao liberar memória
de forma aleatória.

b.
Em C#, o GC aumenta a complexidade do código, pois exige a liberação
manual de memória.

c.
O GC automatiza a liberação de memória em C#, reduzindo erros como
vazamentos de memória.

d.
O GC em C# e a gestão de memória em C++ são funcionalmente
idênticos.

e.
Em C#, o GC impede totalmente a ocorrência de vazamentos de
memória.

Comentário da Resposta: C.
resposta:
Comentário: O Garbage Collection em C# automatiza o processo de
liberação de memória, identificando e liberando a memória que não é mais
necessária. Isso contrasta com linguagens como C++, onde a gestão de
memória é manual e pode levar a erros como vazamentos de memória.

Pergunta 5 0,25 em 0,25 pontos

No contexto do gerenciamento de recursos em C#, qual é o principal benefício da utilização da


instrução using, especialmente em relação ao manuseio de recursos não gerenciados?

Resposta c.
Selecionada: A instrução using garante que o método Dispose seja chamado
automaticamente.

https://ava.ead.unip.br/w ebapps/assessment/review /review .jsp?attempt_id=_103043107_1&course_id=_335055_1&content_id=_3851240_1… 4/9


28/03/2024, 10:16 Revisar envio do teste: QUESTIONÁRIO UNIDADE IV – ...

Respostas: a. A instrução using automatiza o processo de debugging e tracing.

b.
Ela permite a criação de múltiplas instâncias de objetos
simultaneamente.

c.
A instrução using garante que o método Dispose seja chamado
automaticamente.

d.
Aumenta o desempenho da aplicação ao reduzir o uso de memória.

e.
A instrução using é utilizada para melhorar a interface gráfica da
aplicação.

Comentário da Resposta: C.
resposta:
Comentário: A instrução using em C# é projetada para garantir que o
método Dispose seja chamado automaticamente ao final do escopo do
objeto, permitindo a liberação eficiente de recursos não gerenciados, como
conexões de banco de dados ou handles de arquivos.

Pergunta 6 0,25 em 0,25 pontos

Com relação ao debugging e tracing em C#, como essas práticas se complementam no


desenvolvimento de aplicações e qual é a principal diferença entre elas?

Resposta c.
Selecionada: Debugging permite a execução passo a passo do código, enquanto
tracing foca no registro contínuo da execução.

Respostas: a. Debugging e tracing são funcionalmente idênticos no C#.

b.
Tracing é utilizado para corrigir erros, enquanto debugging é usado para
monitoramento.

c.
Debugging permite a execução passo a passo do código, enquanto
tracing foca no registro contínuo da execução.

d.
Debugging é apenas usado em ambientes de produção, ao contrário do
tracing.

e. Tracing altera o estado da aplicação, enquanto debugging não.

Comentário Resposta: C.
da resposta:
Comentário: No contexto do desenvolvimento de software em C#,
debugging (depuração) refere-se ao processo de identificar e corrigir erros
no código-fonte, geralmente permitindo a execução passo a passo e a
inspeção de variáveis. Tracing (rastreamento), por outro lado, envolve o
registro contínuo da execução do programa, como através de logs, sem

https://ava.ead.unip.br/w ebapps/assessment/review /review .jsp?attempt_id=_103043107_1&course_id=_335055_1&content_id=_3851240_1… 5/9


28/03/2024, 10:16 Revisar envio do teste: QUESTIONÁRIO UNIDADE IV – ...
interromper a execução, permitindo o monitoramento do comportamento
da aplicação em tempo real ou em ambientes de produção.

Pergunta 7 0,25 em 0,25 pontos

Examine o seguinte trecho de código C# que utiliza threads e tasks para executar operações
em paralelo. Identifique qual será o resultado da execução do programa e qual é a principal
diferença entre a utilização de threads e tasks neste contexto.

Resposta c.
Selecionada: A task e a thread executam em paralelo, mas a task fornece melhor
gerenciamento e eficiência de recursos.

Respostas: a.
Ambas, thread e task, executam simultaneamente, mas a thread não
garante a ordenação na execução.

b.
Apenas a thread será executada, pois a task é bloqueada pelo método
Wait.

c.
A task e a thread executam em paralelo, mas a task fornece melhor
gerenciamento e eficiência de recursos.

d.
O programa resultará em um deadlock devido ao uso simultâneo de
thread e task.

e.
O programa executará primeiro a task e depois a thread, demonstrando
a prioridade das tasks sobre threads.

https://ava.ead.unip.br/w ebapps/assessment/review /review .jsp?attempt_id=_103043107_1&course_id=_335055_1&content_id=_3851240_1… 6/9


28/03/2024, 10:16 Revisar envio do teste: QUESTIONÁRIO UNIDADE IV – ...

Comentário Resposta: C.
da resposta:
Comentário: No código fornecido, tanto a thread quanto a task são iniciadas
para executar operações em paralelo. A principal diferença reside no fato de
que as tasks, ao contrário das threads, são abstrações de alto nível sobre
threads e oferecem melhor gerenciamento e eficiência de recursos. Elas são
mais leves e permitem um controle mais fácil do fluxo de trabalho
assíncrono, além de integração com outras funcionalidades do .NET, como a
espera assíncrona com await. A utilização de task.Wait() bloqueia a execução
do programa até que a task seja concluída, enquanto a thread é executada
independentemente.

Pergunta 8 0,25 em 0,25 pontos

Baseado no uso prático de diferentes estruturas de dados, qual das seguintes opções melhor
descreve um cenário adequado para a aplicação da estrutura de dados “Heap”, e por quê?

Resposta b.
Selecionada: Gerenciamento de tarefas em um sistema operacional, para priorizar
processos.

Respostas: a.
Ordenação de uma lista de livros em uma biblioteca, devido à sua
natureza hierárquica.

b.
Gerenciamento de tarefas em um sistema operacional, para priorizar
processos.

c.
Armazenamento de informações de músicas em um serviço de
streaming, por ser uma estrutura auto balanceada.

d.
Representação de uma rede social, para visualizar relações entre
usuários.

e.
Implementação de um sistema de navegação GPS, devido à sua
capacidade de armazenar caminhos.

Comentário Resposta: B.
da resposta:
Comentário: Heaps, especialmente max-heaps e min-heaps, são eficazes
para priorizar elementos, onde o elemento de maior ou menor prioridade é
sempre acessível na raiz da heap. No gerenciamento de tarefas de um
sistema operacional, os heaps permitem priorizar processos de forma
eficiente, garantindo que tarefas críticas sejam atendidas primeiro. Esta
aplicação aproveita a eficiência dos heaps em operações como inserção e
remoção do elemento de maior ou menor prioridade.

https://ava.ead.unip.br/w ebapps/assessment/review /review .jsp?attempt_id=_103043107_1&course_id=_335055_1&content_id=_3851240_1… 7/9


28/03/2024, 10:16 Revisar envio do teste: QUESTIONÁRIO UNIDADE IV – ...

Pergunta 9 0,25 em 0,25 pontos

Considere os algoritmos de ordenação (Selection Sort, Insertion Sort, Bubble Sort e Quick
Sort) e suas características. Qual dos seguintes algoritmos apresenta, em média, a melhor
complexidade de tempo em cenários de grandes volumes de dados, e por que essa
complexidade o torna mais eficiente nesses casos?

Resposta d.
Selecionada: Quick Sort, por sua abordagem de divisão e conquista e complexidade
média de O(n log n).

Respostas: a.
Selection Sort, pois seleciona sempre o menor elemento para a posição
correta.

b.
Insertion Sort, devido à sua eficiência com listas parcialmente
ordenadas.

c.
Bubble Sort, porque compara e troca pares de elementos adjacentes.

d.
Quick Sort, por sua abordagem de divisão e conquista e complexidade
média de O(n log n).

e. Todos têm a mesma eficiência em grandes volumes de dados.

Comentário Resposta: D.
da resposta:
Comentário: O Quick Sort é mais eficiente em grandes volumes de dados
devido à sua abordagem de divisão e conquista, que permite dividir o
problema em subproblemas menores, tratando-os independentemente.
Sua complexidade de tempo média é de O(n log n), o que é
significativamente mais rápido do que os algoritmos de ordenação
quadrática como Selection Sort, Insertion Sort e Bubble Sort, cuja
complexidade é de O(n²) para a maioria dos casos.

Pergunta 10 0,25 em 0,25 pontos

Considerando os algoritmos de grafos (Kruskal, Prim e Dijkstra), qual é o mais adequado para
encontrar o caminho mais curto em uma rede de transporte público e por quê?

Resposta c.
Selecionada: Algoritmo de Dijkstra, pois é especializado em encontrar o caminho
mais curto entre dois pontos.

Respostas: a.
Algoritmo de Kruskal, pois encontra a Árvore Geradora Mínima em um
grafo.

https://ava.ead.unip.br/w ebapps/assessment/review /review .jsp?attempt_id=_103043107_1&course_id=_335055_1&content_id=_3851240_1… 8/9


28/03/2024, 10:16 Revisar envio do teste: QUESTIONÁRIO UNIDADE IV – ...

b.
Algoritmo de Prim, por sua eficiência em conectar todos os vértices
com o menor custo total.

c.
Algoritmo de Dijkstra, pois é especializado em encontrar o caminho
mais curto entre dois pontos.

d.
Todos são igualmente adequados para encontrar caminhos em redes
de transporte público.

e. Nenhum deles é adequado para redes de transporte público.

Comentário Resposta: C.
da resposta:
Comentário: O algoritmo de Dijkstra é o mais apropriado para encontrar o
caminho mais curto em uma rede de transporte público, pois é projetado
especificamente para esse propósito. Ele calcula o caminho mais curto de
um ponto a outro em um grafo ponderado, considerando as distâncias ou
custos associados a cada aresta. Este algoritmo é ideal para otimizar rotas
em redes de transporte, onde é essencial determinar o trajeto mais eficiente.

Quinta-feira, 28 de Março de 2024 10h15min56s GMT-03:00 ← OK

https://ava.ead.unip.br/w ebapps/assessment/review /review .jsp?attempt_id=_103043107_1&course_id=_335055_1&content_id=_3851240_1… 9/9

Você também pode gostar