Buscar

PROGRAMAÇÃO ORIENTADA A OBJETOS I

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

Qual das seguintes opções corretamente descreve um uso válido de tipos numéricos, booleanos e strings em C#, além de demonstrar a sintaxe correta?
R: e. Long bigNumber = 9223372036854775807; bool isLarge = bigNumber > int.MaxValue; string description = "Número grande: " + isLarge;
Qual das seguintes afirmações está correta? 
R: d. Operadores em C# são usados para executar operações em variáveis e valores, e expressões são combinações de operadores e operandos que produzem um resultado.
Qual das seguintes alternativas é correta?
R: c. O CLR é responsável pela compilação Just-In-Time (JIT), gerenciamento de memória e segurança de tipo, enquanto o BCL fornece uma coleção extensiva de classes predefinidas.
Tendo em mente os modelos de arquitetura, qual das seguintes alternativas é correta?
R: e. No MVC, o Controller manipula a lógica de negócios, enquanto no MVVM o ViewModel facilita a comunicação entre a View e o Model, promovendo o binding de dados.
Qual das seguintes afirmações é correta sobre o tratamento de exceções em C#? 
R: c. Uma exceção em C# é um evento que ocorre durante a execução de um programa e que interrompe o fluxo normal das instruções do programa, sendo capturada e tratada.
Qual das afirmações é correta sobre o uso de expressões regulares e coleções em C#?
 R: b. A classe Regex pode ser usada para analisar strings e armazenar resultados correspondentes em coleções, como List<string>.
Qual das afirmações é incorreta? 
R: b. DRY: evitar duplicações no código e a reutilização, para facilitar a manutenção e reduzir a possibilidade de inconsistências.
Qual padrão define uma família de algoritmos, encapsula cada um deles e os torna intercambiáveis, permitindo que o algoritmo varie independentemente dos clientes que o utilizam? 
R: d. Strategy.
No contexto de exceções em C#, qual das seguintes afirmações é verdadeira sobre o funcionamento e uso da palavra-chave throw? Considerando um cenário onde uma exceção é lançada devido a um erro, como tentativa de acessar um índice inexistente em uma matriz.
R: c. Throw cria e lança uma exceção, interrompendo o fluxo normal do programa
Avalie o seguinte código C# que demonstra o uso de delegação e eventos. O código define um evento Notificar na classe Evento e o dispara no método Main. Qual é o comportamento esperado do programa quando executado? 
R: b. Será impresso “Evento disparado!” no console.
Analise o seguinte trecho de código em C# que utiliza tuplas para armazenar e decompor informações. Determine qual das opções descreve corretamente o resultado da execução do programa.
R: e. Será impresso “O 2º planeta do sistema solar é Marte.”
Considere o seguinte trecho de código C# que demonstra a manipulação de uma coleção List<T>. Identifique qual será o resultado da execução deste programa.
R: d. O programa imprimirá “Maçã, Laranja, Banana”.
Examine o seguinte código C# que utiliza expressões regulares para verificar se um texto segue um padrão específico. Qual será o resultado do programa ao ser executado com a entrada fornecida? 
R: a. O programa imprimirá “Nome Sith válido: True”, pois a entrada corresponde ao padrão de um nome Sith, começando com “Darth” seguido por um nome com a primeira letra maiúscula.
Analise o código C# a seguir, que utiliza expressões regulares para verificar se uma entrada de texto segue um padrão específico. Determine qual será o resultado da execução deste programa com a entrada fornecida.
R: a. O programa imprimirá “Nome do personagem válido: True”, pois a entrada segue o padrão de um nome com inicial maiúscula seguido por “de” e o nome de uma localidade.
Qual é a principal vantagem de utilizar nomes de variáveis, classes e métodos descritivos, ao invés de nomes genéricos como “x” ou “y”, especialmente em projetos de grande escala e com vários desenvolvedores?
R: b. Facilita a leitura e compreensão do código, melhorando a manutenção e o debugging.
No contexto dos padrões de design na engenharia de software, como o padrão Singleton, aplicado à uma classe, contribui para a eficácia de um sistema de software?
R: c. Assegura que apenas uma instância da classe exista, evitando conflitos e inconsistências.
Como os padrões estruturais, como o Adapter e o Composite contribuem para a arquitetura de um sistema de software?
R: c. Facilitam a integração e interação de componentes desenvolvidos separadamente.
Considerando as boas práticas de programação em C#, qual é a abordagem mais eficaz para a utilização de comentários no código, visando maximizar a clareza e manutenabilidade? 
R: c.  Preferir comentar blocos de código ou funções complexas em vez de cada linha.
Qual das afirmações a seguir está correta?
R: e. Expressões lambda e LINQ são frequentemente usadas para escrever consultas de dados mais concisas e legíveis, enquanto debugging e tracing são utilizados para monitoramento e diagnóstico de aplicativos, e o garbage collection automático ajuda na gestão de memória.
Qual das seguintes afirmações é correta sobre Tasks, Threads, APM e EAP em C#?
R: c. Tasks e Threads são usados para operações de programação assíncrona e concorrente, em que Tasks são mais abstratas e baseadas em Threads.
Qual das seguintes afirmações é correta sobre ordenação, filas, pilhas e dicionários?
R: d. Os vetores podem ser ordenados usando algoritmos de ordenação personalizados, filas operam com o princípio FIFO, pilhas com o princípio LIFO e dicionários não têm ordenação.
Qual das seguintes afirmações é correta sobre a implementação de árvores, heaps e grafos?
R: c.  Árvores, especialmente árvores binárias, e heaps, como o heap binário, são comumente implementados em C# para algoritmos de ordenação e filas de prioridade.
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.
R: c. O programa imprimirá os números 2, 4, 6, 8, 10, demonstrando a aplicação eficiente de operações em coleções.
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.
R: b. O programa imprimirá apenas os números pares da lista, demonstrando a capacidade de filtragem do LINQ.
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?
R: c. O programa imprimirá os nomes "ALICE", "BOB", "CHARLIE", demonstrando a transformação de dados com LINQ.
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?
R: c. O GC automatiza a liberação de memória em C#, reduzindo erros como vazamentos de memória.
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?
R: c. A instrução using garante que o método Dispose seja chamado automaticamente.
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?
R: c. Debugging permite a execução passo a passo do código, enquanto tracing foca no registro contínuo da execução.
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.
R: c. A task e a thread executam em paralelo, mas a task fornece melhor gerenciamento e eficiência de recursos.
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ê?
R: b. Gerenciamento de tarefas emum sistema operacional, para priorizar processos.
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?
R: d. Quick Sort, por sua abordagem de divisão e conquista e complexidade média de O(n log n).
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ê?
R: c. Algoritmo de Dijkstra, pois é especializado em encontrar o caminho mais curto entre dois pontos.

Outros materiais