Buscar

Programaçao orientada a objeto I - questionario unidade III

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 7 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 7 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

Prévia do material em texto

· Pergunta 1
0,25 em 0,25 pontos
	
	
	
	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.
	
	
	
	
		Resposta Selecionada:
	c. 
Throw cria e lança uma exceção, interrompendo o fluxo normal do programa.
	Respostas:
	a. 
A palavra-chave throw é usada para capturar exceções.
	
	b. 
O throw apenas funciona com exceções do tipo System.Exception.
	
	c. 
Throw cria e lança uma exceção, interrompendo o fluxo normal do programa.
	
	d. 
O uso do throw é opcional em blocos try-catch.
	
	e. 
Throw é usado para ignorar exceções e continuar a execução do programa.
	Comentário da resposta:
	Resposta: C.
Comentário: A palavra-chave throw em C# é usada para gerar (ou “lançar”) uma exceção, interrompendo assim o fluxo normal de execução do programa e iniciando a busca por um bloco catch adequado para lidar com a exceção.
	
	
	
· Pergunta 2
0 em 0,25 pontos
	
	
	
	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?
 
	
	
	
	
		Resposta Selecionada:
	c. 
Nada será impresso no console, pois o evento não possui assinantes.
	Respostas:
	a. 
O programa causará um erro de compilação, pois eventos não podem ser disparados diretamente.
	
	b. 
Será impresso “Evento disparado!” no console.
	
	c. 
Nada será impresso no console, pois o evento não possui assinantes.
	
	d. 
O programa resultará em uma exceção de referência nula.
	
	e. 
O evento será disparado, mas a mensagem não será impressa, pois falta a implementação do método.
	
	
	
· Pergunta 3
0,25 em 0,25 pontos
	
	
	
	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.
 
	
	
	
	
		Resposta Selecionada:
	e. 
Será impresso “O 2º planeta do sistema solar é Marte.”
	Respostas:
	a. 
O código resulta em erro de compilação devido à tentativa de decompor a tupla em variáveis.
	
	b. 
Será impresso “O Marteº planeta do sistema solar é 2.”
	
	c. 
Nada será impresso, pois as tuplas não podem ser usadas dessa maneira.
	
	d. 
O código resulta em uma exceção de execução devido à má formação da tupla.
	
	e. 
Será impresso “O 2º planeta do sistema solar é Marte.”
	Comentário da resposta:
	Resposta: E.
Comentário: O código cria uma tupla nomeada planeta contendo dois elementos: o nome do planeta (“Marte”) e sua posição no sistema solar (2). Em seguida, a tupla é decomposta em duas variáveis, nome e posicao, que são utilizadas na string interpolada. Portanto, a saída correta será “O 2º planeta do sistema solar é Marte”, onde posicao é 2 e nome é Marte.
	
	
	
· Pergunta 4
0,25 em 0,25 pontos
	
	
	
	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.
 
	
	
	
	
		Resposta Selecionada:
	d. 
O programa imprimirá “Maçã, Laranja, Banana”.
	Respostas:
	a. 
O programa imprimirá “Maçã, Laranja, Cereja”.
	
	b. 
O programa resultará em um erro de execução.
	
	c. 
O programa imprimirá “Maçã, Banana, Cereja”.
	
	d. 
O programa imprimirá “Maçã, Laranja, Banana”.
	
	e. 
O programa imprimirá “Laranja, Banana, Cereja”.
	
	
	
· Pergunta 5
0,25 em 0,25 pontos
	
	
	
	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?
 
	
	
	
	
		Resposta Selecionada:
	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.
	Respostas:
	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.
	
	b. 
O programa resultará em um erro de compilação, pois a expressão regular está formatada incorretamente.
	
	c. 
O programa imprimirá “Nome Sith válido: False”, pois a entrada não corresponde ao padrão definido na expressão regular.
	
	d. 
O programa causará uma exceção devido ao uso inadequado de expressões regulares.
	
	e. 
O programa imprimirá “Nome Sith válido: True”, mas a entrada fornecida não segue o padrão tradicional de nomes Sith.
	Comentário da resposta:
	Resposta: A.
Comentário: A expressão regular definida no código, @”Darth\s[A-Z][a-z]+”, especifica um padrão que corresponde à palavra “Darth”, seguida por um espaço em branco (\s) e um nome que começa com uma letra maiúscula seguida de uma ou mais letras minúsculas. A entrada “Darth Vader” encaixa-se perfeitamente neste padrão. Portanto, o método Regex.IsMatch retornará True, e a saída será “Nome Sith válido: True”.
	
	
	
· Pergunta 6
0,25 em 0,25 pontos
	
	
	
	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.
 
	
	
	
	
		Resposta Selecionada:
	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.
	Respostas:
	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.
	
	b. 
O programa resultará em um erro de compilação devido ao uso incorreto de expressões regulares.
	
	c. 
O programa imprimirá “Nome do personagem válido: False”, pois a entrada não corresponde ao padrão definido pela expressão regular.
	
	d. 
O programa causará uma exceção em tempo de execução devido ao formato inválido da expressão regular.
	
	e. 
O programa imprimirá “Nome do personagem válido: True”, mas a entrada fornecida não corresponde ao padrão típico de nomes.
	Comentário da resposta:
	Resposta: A.
Comentário: A expressão regular definida no código, @”^[A-Z][a-z]+\sde\s[a-zA-Z]+”, especifica um padrão que corresponde a um nome começando com letra maiúscula seguida por letras minúsculas, um espaço, a palavra “de”, outro espaço e um nome de localidade que pode ter letras maiúsculas ou minúsculas. A entrada “Frodo de Hobbiton” se encaixa perfeitamente neste padrão, com “Frodo” sendo o nome do personagem e “Hobbiton” sendo a localidade. Portanto, o método Regex.IsMatch retornará True, e a saída será “Nome do personagem válido: True”.
	
	
	
· Pergunta 7
0,25 em 0,25 pontos
	
	
	
	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?
	
	
	
	
		Resposta Selecionada:
	b. 
Facilita a leitura e compreensão do código, melhorando a manutenção e o debugging.
	Respostas:
	a. 
Aumenta a eficiência da execução do código.
	
	b. 
Facilita a leitura e compreensão do código, melhorando a manutenção e o debugging.
	
	c. 
Reduz o tamanho total do código-fonte.
	
	d. 
Elimina a necessidade de comentários no código.
	
	e. 
Aumenta a velocidade de compilação do código.
	Comentário da resposta:
	Resposta: B.
Comentário: Nomes descritivos para variáveis, classes e métodos tornam o código mais legível e compreensível, o que é crucial para a manutenção e o processo de debugging, especialmente em projetos com múltiplos desenvolvedores.
	
	
	
· Pergunta 8
0 em 0,25 pontos
	
	
	
	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?
	
	
	
	
		Resposta Selecionada:
	a. 
É um modificador aplicado a atributos,indicando que ele é uma constante e seu valor não pode ser alterado após ter sido inicializado.
	Respostas:
	a. 
É um modificador aplicado a atributos, indicando que ele é uma constante e seu valor não pode ser alterado após ter sido inicializado.
	
	b. 
Garante que a classe seja instanciada várias vezes para melhorar o desempenho.
	
	c. 
Assegura que apenas uma instância da classe exista, evitando conflitos e inconsistências.
	
	d. 
Facilita a alteração da instância da classe por diferentes partes do código.
	
	e. 
Promove a criação dinâmica de instâncias da classe para adaptabilidade.
	
	
	
· Pergunta 9
0,25 em 0,25 pontos
	
	
	
	Como os padrões estruturais, como o Adapter e o Composite contribuem para a arquitetura de um sistema de software?
	
	
	
	
		Resposta Selecionada:
	c. 
Facilitam a integração e interação de componentes desenvolvidos separadamente.
	Respostas:
	a. 
Eles simplificam a lógica de negócios ao reduzir a quantidade de código.
	
	b. 
Estes padrões aumentam a velocidade de execução do sistema.
	
	c. 
Facilitam a integração e interação de componentes desenvolvidos separadamente.
	
	d. 
Reduzem a necessidade de testes ao garantir a confiabilidade do código.
	
	e. 
Centralizam todas as funcionalidades do sistema em um único módulo.
	Comentário da resposta:
	Resposta: C.
Comentário: Os padrões estruturais, como Adapter e Composite, são projetados para organizar a arquitetura do software de forma que diferentes componentes, possivelmente desenvolvidos de forma independente, possam ser integrados e interagir de maneira eficiente e harmoniosa. Isso é essencial para a manutenção da flexibilidade e escalabilidade do sistema.
	
	
	
· Pergunta 10
0,25 em 0,25 pontos
	
	
	
	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?
	
	
	
	
		Resposta Selecionada:
	c. 
Preferir comentar blocos de código ou funções complexas em vez de cada linha.
	Respostas:
	a. 
Comentar todas as linhas de código para garantir clareza.
	
	b. 
Usar comentários somente para marcar seções de código.
	
	c. 
Preferir comentar blocos de código ou funções complexas em vez de cada linha.
	
	d. 
Evitar comentários, confiando apenas em nomes de variáveis e métodos descritivos.
	
	e. 
Usar comentários somente para documentar bugs e problemas no código.
	Comentário da resposta:
	Resposta: C.
Comentário: Comentar blocos de código ou funções complexas, ao invés de cada linha, ajuda a evitar poluição visual no código e fornece orientações claras em partes do código que podem não ser imediatamente óbvias, mantendo a clareza e a eficiência.

Outros materiais