Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Compilado Programação Orientada a Objetos I - 2024 – Atualizado 
Criado por Thais Caroline 
 
 
Qual a importância da inferência de tipo com a palavra-chave 'var' em C#? 
 
A) Simplifica a declaração de variáveis sem precisar explicitar o tipo. 
B) Permite a mudança dinâmica do tipo de uma variável durante a execução. 
C) Aumenta a segurança do tipo, exigindo a inicialização no momento da declaração. 
D) Reduz a legibilidade do código ao esconder os tipos de dados. 
E) Nenhuma das anteriores. 
 
No desenvolvimento de software usando C#, como a escolha do tipo numérico afeta 
a otimização de memória e a precisão dos cálculos? 
 
A) Todos os tipos numéricos consomem a mesma quantidade de memória. 
B) A escolha do tipo não influencia a precisão dos cálculos. 
C) Tipos numéricos de ponto flutuante são sempre preferíveis para a economia de 
memória. 
D) A escolha adequada do tipo numérico garante representação precisa dos dados e 
otimização de memória. 
E) O tipo int é universalmente a melhor escolha para qualquer situação. 
 
Qual é a importância do encapsulamento na POO? 
 
A) Permitir o acesso direto aos dados de um objeto por qualquer parte do código. 
B) Facilitar a modificação dos dados de um objeto sem restrições. 
C) Proteger os dados dentro de um objeto, controlando o acesso a eles. 
D) Aumentar a complexidade do código-fonte. 
E) Reduzir a reutilização de código. 
 
Considerando este trecho de código que demonstra a utilização de async/await: 
 
public async Task<string> FetchDataAsync() 
{ 
 // Simula uma chamada de rede 
 await Task.Delay(1000); 
 return "Dados carregados"; 
} 
 
O que esse código ilustra? 
 
A) Execução síncrona de tarefas. 
B) Criação de novas threads. 
C) Programação assíncrona. 
D) Bloqueio do thread principal. 
E) Uso de expressões lambda para tarefas assíncronas. 
 
O que são métodos na Programação Orientada a Objetos? 
 
A) Variáveis que armazenam dados de objetos. 
B) Conjuntos de instruções que definem comportamentos dos objetos. 
C) Modelos a partir dos quais os objetos são criados. 
D) Ferramentas para conectar com bancos de dados. 
E) Mensagens que objetos usam para comunicar. 
 
O que caracteriza a herança na Programação Orientada a Objetos? 
 
A) A capacidade de um objeto de se conectar à internet. 
B) A habilidade de um programa de executar com alta velocidade. 
C) A possibilidade de uma classe herdar propriedades e métodos de outra classe. 
D) A redução do uso de memória em programas. 
E) O aumento da complexidade do código-fonte. 
 
Como o código a seguir utiliza expressões lambda e para processar dados? 
 
 List<int> numbers = new Listsint› (1, 2, 3, 4, 5 ); 
 var evenNumbers = numbers. Where(n => n % 2 == 0). ToList(); 
 evenNumbers. ForEach(n => Console WriteLine(n)); 
 
A) Iterando manualmente sobre a coleção numbers e aplicando uma condição if. 
B) Utilizando métodos da LINQ e expressões lambda para filtrar e imprimir 
números pares. 
C) Alocando dinamicamente memória para cada elemento da lista numbers. 
D) Usando expressões regulares para identificar números pares na coleção. 
E) Nenhuma das alternativas. 
 
Análise o seguinte código em C#: 
 
public delegate void MyEventHandler(string message); 
public class EventPublisher 
{ 
 public event MyEventHandler RaiseCustomEvent; 
 public void DoSomething() 
 { 
 / / Alguma lógica 
 OnRaiseCustomEvent("Evento disparado"); 
 } 
 protected virtual void OnRaiseCustomEvent(string message) 
 { 
 RaiseCustomEvent?.Invoke(message); 
 } 
} 
 
O que esse código demonstra? 
 
A) O uso de expressões lambda. 
B) A implementação de eventos e delegados. 
C) A criação de classes abstratas. 
D) Encapsulamento usando propriedades. 
E) A utilização de métodos anônimos. 
 
 
Qual será o valor de eficaciaEncanto após a execução deste trecho de código em C#? 
 
int charmeAfrodite = 90; // numa escala de 1 a 100 
bool pertoDoMar = true; 
bool colarMagico = false; 
int eficaciaEncanto = charmeAfrodite + (pertoDoMar ? 10: -10) + (colarMagico ? 20 : 
0); 
 
A) 80 
B) 90 
C) 100 
D) 110 
E) 70 
 
Como a introdução e evolução das Tasks no C# transformaram a abordagem de 
programação assíncrona e paralela, especificamente em relação à simplificação da 
codificação e ao melhor aproveitamento dos recursos do sistema? 
 
A) Por reduzir a quantidade de código necessário para iniciar uma thread. 
B) Através da eliminação da interface IDisposable para gerenciamento de memória. 
C) Facilitando a escrita de operações assíncronas com o uso das palavras-chave 
async e await. 
D) Diminuindo a importância da escolha entre programação síncrona e assíncrona. 
E) Integrando nativamente suporte para operações I/O não bloqueantes. 
 
O que representa a estratégia "dividir para conquistar na programação? 
 
A) Aumentar a velocidade de execução dos programas. 
B) Diminuir a complexidade, dividindo um problema grande em problemas 
menores 
C) Aumentar a complexidade dos códigos para melhorar a segurança. 
D) Reduzir o uso de memória. 
E) Facilitar a conexão com bancos de dados. 
 
No contexto da linguagem C#, como a imutabilidade das strings influencia o 
tratamento de dados em ambientes multithread? 
 
A) Torna necessária a implementação de mecanismos de sincronização 
B) Permite a modificação de strings por múltiplas threads sem restrições 
C) Evita condições de corrida e conflitos, sem necessidade de sincronização 
adicional. 
D) Aumenta o risco de conflitos de dados entre as threads. 
D Não tem impacto no tratamento de dados em ambientes mutithread. 
 
 
Como a estrutura 'BigInteger' expande as capacidades de tipos numéricos em C#? 
 
A) Limitando o tamanho dos números que podem ser representados 
B) Facilitando a manipulação de números extremamente grandes além dos tipos 
primitivos. 
C) Reduzindo a precisão dos cálculos numéricos para aumentar a performance. 
D) Introduzindo a capacidade de operações matemáticas com tipos de referência. 
E) Nenhuma das anteriores. 
 
Como o padrão Observer facilita a comunicação entre objetos em C#? 
 
A) Permitindo a comunicação direta e constante entre todos os objetos. 
B) Definindo uma hierarquia rígida de objetos para gerenciar as atualizações 
C) Permitindo que objetos se inscrevam para receber atualizações de outro objeto. 
D) Utilizando chamadas síncronas para garantir a entrega de atualizações. 
E Encapsulando os objetos observadores dentro do objeto observado. 
 
Qual linguagem de programação é conhecida por ser a pioneira na implementação 
de objetos e classes. 
 
A) Java 
B) Simula 67 
O C++ 
D) Python 
E) Ruby 
 
Em C# como a passagem de variáveis booleanas por valor em métodos influencia a 
manipulação de dados fora desses métodos? 
 
A) Permite a alteração direta do valor da variável booleana original. 
B) Não permite que o valor da variável booleana original seja alterado fora do 
método 
C) Exige que todas as variaveis booleanas sejam passadas por referencia 
D) Elimina a necessidade de retorno de valores em funções. 
E) Garante que alterações no valor dentro do método não afetem o valor original da 
variável fora dele. 
 
Qual é a função dos construtores em classes na POO? 
 
A) Executar métodos críticos imediatamente apos a eliminação de um objeto 
B) Permitir a criação de múltiplas instancias de uma classe sem inicializar atributos 
C) Inicializar novos objetos de uma classe, atribuindo valores iniciais aos seus 
atributos. 
D) Fornecer uma interface padrão para modificar atributos de objetos após sua criação 
E) Reduzir a utilização de memória ao compartilhar atributos entre diferentes objetos 
 
Qual o impacto do uso conjunto de debugging e tracing no diagnóstico e 
monitoramento da execução de programas em C#, e como essas práticas se 
complementam para melhorar o desenvolvimento e a manutenção de software? 
 
A) Permitindo a execução de código em ambientes de produção sem logs. 
B)Facilitando a compreensão do fluxo de execução sem interrupção do programa. 
C) Reduzindo a necessidade de teste manual do software. 
D) Aumentando a complexidade do código-fonte. 
E) Diminuindo a necessidade de documentação do código. 
 
Qual é o papel da abstração na Programação Orientada a Objetos? 
 
A) Simplificar o código-fonte ao eliminar funcionalidades. 
B) Permitir a execução direta de métodos sem instanciar objetos, 
C) Representar conceitos do mundo real de forma simplificada, destacando 
características essenciais. 
D) Aumentar o nível de detalhe do código para facilitar a depuração. 
E) Controlar o acesso aos métodos das classes base por classes derivadas. 
 
Dado o seguinte código que utiliza Linq para manipulação de coleções: 
 
List<int numbers = new List<int>0 ( 1, 2, 3, 4, 5); 
var filteredNumbers = numbers. Where(n => n > 3).ToListO: 
 
Qual declaração é verdadeira sobre a operação realizada? 
 
A) Filtra números menores que 3. 
B) Converte todos os números em sua forma quadrada, 
C) Filtra números maiores que 3. 
D) Ordena a lista em ordem decrescente 
E) Calcula a soma de todos os números. 
 
O que são classes na Programação Orientada a Objetos? 
 
A) Mensagens que objetos usam para comunicar. 
B) Variáveis que armazenam dados temporários. 
C) Conjunto de instruções para executar tarefas específicas. 
D) Modelos a partir dos quais os objetos são criados. 
E) Ferramentas para conectar com bancos de dados. 
 
Avalie o seguinte código: 
 
Public class Person 
{ 
 private string_name; 
 
 public string Name 
 { 
 get{return_name;} 
 set{_name value} 
 } 
} 
 
Qual é o propósito principal desse código? 
 
A) Demonstrar a herança de classes 
B) Ilustrar o uso de propriedades para encapsulamento. 
C) Exemplificar a sobrecarga de métodos 
D) Mostrar o uso de interlaces 
E) Implementar polimorfismo dinâmico 
 
Considerando o exemplo de declaração e inicialização de variáveis em C#, qual 
seria o resultado da execução do seguinte código? 
 
int numeroLaboresHercules = 12; 
double alturaMonte OlimpoEmKm = 2.918; 
bool zeusEhReiDosDeuses = true; 
Console.WriteLine(numeroLaboresHercules+alturaMonteOlimpoEmKm+(zeusEhReiD
osDeuses?1:0)); 
 
A) 15.918 
B) 14.918 
C)Uma exceção de compilação. 
D) 13918 
E) Uma exceção de tempo de execução. 
 
Considerando o seguinte trecho de código C# relacionado à implementação de 
padrões de design: 
 
public interface Misterioso 
{ 
void Algorithminterface() 
} 
public class ConcreteMisteriosoA : Misterioso 
{ 
public void Algorithminterface() 
{ 
 //Implementação especifica 
} 
} 
 
public class Context 
{ 
privateIMisterioso_misterioso 
public Context(Misterioso misterioso) 
{ 
this. misterioso = misterioso; 
 } 
 
public void Contextinterface() 
{ 
_misterioso. Algorithminterface(); 
 } 
} 
 
O que esse código exemplifica? 
 
A) Herança múltipla. 
B) Encapsulamento de propriedades 
C) Padrão de projeto Strategy. 
D) Injeção de dependência. 
E Polimorfismo de interface 
 
Qual o papel dos namespaces no C# e como eles contribuem para a organização do 
código? 
 
A) Limitam o escopo das variáveis globais. 
B) Agrupam classes sob um nome comum, evitando conflitos de nomenclatura. 
C) São usados exclusivamente para importar bibliotecas externas. 
D) Definem o escopo de acesso a classes e metodos. 
E) Simplificam o acesso à rede e a manipulação de arquivos. 
 
De que maneira o threading e as tasks contribuem para a programação assíncrona 
e paralela em C#? 
 
A) Permitindo apenas operações sequenciais para simplificar o gerenciamento de estado. 
B) Fornecendo mecanismos para executar operações simultâneas e assíncronas, 
maximizando a utilização da CPU 
C) Reduzindo a eficiência ao aumentar a complexidade do código desnecessariamente 
D) Restringindo o desenvolvimento a sistemas de um único núcleo de CPU. 
E) Excluindo a necessidade de gerenciamento explicito de threads pelo desenvolvedor. 
 
De que maneira a implementação de padrões de correspondência (pattern matching) 
em C# contribui para a eficiência do código, especialmente em termos de 
simplificação e segurança na manipulação de dados? 
 
A) Pela automatização do processo de garbage collection 
B) Por permitir a verificação de tipos em tempo de execução 
C) Através da simplificação de condições complexas e verificação de propriedades 
de objetos 
D) Reduzindo o uso de expressões regulares para validado de dados. 
E) Eliminando a necessidade de uso de exceções para controle de fluxo 
 
Qual é a importância dos sufixos numéricos em C# e como eles afetam a 
interpretação dos literais numéricos pelo compilador. 
 
A) Os sufixos são opcionais e não influenciam a interpretação dos literais numéricos. 
B) Determinam o tipo de dado numérico de literal, evitando erros de compilação e 
comportamentos inesperados 
C) São utilizados exclusivamente para literais do tipo decimal 
D) Alteram o valor dos literais numéricos, aumentando sua precisão. 
E) Reduzem a precisão dos números de ponto flutuante 
 
Qual é o principal objetivo da Programação Orientada Objetos (POO)? 
 
A) Aumentar a velocidade de execução dos programas 
B) Facilitar à conexão a internet 
C) Reduzir o uso da memoria do computador 
D) Tornar o código mais complexo 
E) Reduzir a complexidade e aumentar a reutilização do código 
 
Como o pattern matching facilita a manipulação de dados em C#? 
 
A) Tornando o código mais dependente do tipo dos dados. 
B) Requerendo múltiplas instruções if-else para tipos e valores. 
C Permitindo a verificação de padrões de dados de forma concisa e expressiva 
D) Limitando a funcionalidade a tipos de dados simples 
E) Ignorando os Valores internos ou estruturas dos dados 
 
Qual é a importância dos padrões de design no desenvolvimento de software em C#? 
 
A) Diminui a necessidade de testes de verificação de código. 
B) Limita a criatividade do desenvolvedor ao impor estruturas rígidas 
C) Facilita a reutilização de código e a manutenção ao longo do tempo. 
D) Aumenta a complexidade código tomando o mais seguro 
E) Restringe o uso de novas funcionalidades da linguagem. 
 
De que forma o C# trata a coalescência nula através do operador '??' e qual seu 
beneficio? 
 
A) Simplificando a atribuição de valores padrão para variáveis potencialmente 
nulas. 
B) Permitindo a comparação direta entre referências de objeto nulo. 
C) Forçando a inicialização de variáveis com um valor não nulo. 
D) Aumentando a complexidade do código ao introduzir mais operadores. 
E) Nenhuma das anteriores. 
 
Analise o código a seguir. Qual é a finalidade do uso de async e await no método 
GetDataAsync? 
 
public async Task<string> GetDataAsync(string url) 
{ 
 Using (var httpClient = new HttpCliente()) 
 { 
 var response = await httpCliente.GetStringAsync(url); 
 return response; 
 } 
} 
 
A) Executar a operação de rede de maneira síncrona, bloqueando a thread principal. 
B) Criar uma nova thread para executar httpClient.GetStringAsync sem bloquear a thread 
principal. 
C) Permitir a execução assíncrona de httpClient.GetStringAsync, evitando o 
bloqueio da thread principal enquanto espera pela resposta. 
D) Aumentar a prioridade da thread que executa GetDataAsync para que ela seja 
concluída mais rapidamente. 
E) Nenhuma das alternativas. 
 
Qual o propósito do padrão Factory Method na criação de objetos em C# e como ele 
facilita o processo de programação? 
 
A) Permite a criação de objetos sem especificar a classe exata a ser criada. 
B) Força a criação de um único objeto de cada tipo 
C) Restringe o uso de métodos estáticos para criação de objetos. 
D) O Encapsula a lógica de criação de objetos em subclasses especificas. 
E) Elimina a necessidade de interfaces na criação de objetos. 
 
De que maneira o padrão Adapter contribui para a compatibilidade entre interfaces 
na programação C#? 
 
A) Alterando a implementaçãode classes existentes para se adequarem a novas interfaces. 
B) Permitindo que classes com interfaces incompatíveis trabalhem juntas sem 
alterar seus códigos. 
C) Forçando todas as classes a adotarem uma única interface universal. 
D) Criando subclasses para cada tipo de adaptação necessária entre interfaces. 
E) Eliminando interfaces antigas em favor de novos padrões. 
 
Qual a importância do polimorfismo no desenvolvimento de software orientado a 
objetos? 
 
A) Reduz a necessidade de código ao eliminar métodos de classes derivadas. 
B) Permite que métodos com o mesmo nome tenham comportamentos diferentes, 
dependendo do objeto que os invoca. 
C) Limita a funcionalidade das classes ao restringir a sobrecarga de métodos. 
D) Simplifica o código-fonte ao usar o mesmo método para todas as ações. 
E) Diminui a flexibilidade e extensibilidade do código ao impor restrições rígidas. 
 
Qual é a importância de compreender os diferentes algoritmos de ordenação no 
desenvolvimento de software em C#? 
 
A) Eles são irrelevantes devido a eficiência dos modernos sistemas de banco de dados 
B) Facilita a escolha do método mais adequado para cada situação. otimizando a 
performance. 
C)Todos os algoritmos têm desempenho semelhante, tornando a escolha arbitraria. 
D) Apenas o Quick Sort e recomendado para todas as situações devido à sua velocidade. 
E) A ordenação e automaticamente gerenciada pelo framework .NET. não requerendo 
atenção. 
 
Como as expressões lambda e o LINQ se complementam na manipulação de dados 
em C#? 
 
A) Através da utilização de sintaxes verbosas e complexas 
B) Permitindo operações exclusivamente síncronas 
C) Utilizando linguagem de consulta externas para manipulação de dados 
D) Integrando expressão lambda em consultas LINQ para criar consultas 
expressivas 
E) Reduzindo a necessidade de gerenciamento manual de memoria

Mais conteúdos dessa disciplina