Prévia do material em texto
Enviado 26/06/24 22:04 Status Completada Resultado da tentativa 2,5 em 2,5 pontos Tempo decorrido 6 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários, Perguntas respondidas incorretamente • Pergunta 1 0,25 em 0,25 pontos Considerando a tipagem forte em C#, qual é o impacto dessa característica na programação? Resposta Selecionada: e. Facilita a leitura e manutenção do código, garantindo consistência de tipos. Respostas: a. Permite alterar o tipo de uma variável implicitamente ao longo do programa. b. Reduz a flexibilidade, pois exige a declaração explícita do tipo de cada variável. c. Não tem impacto significativo, pois a tipagem em C# é apenas uma recomendação. d. Aumenta os erros de compilação devido à rigidez na declaração de tipos. e. Facilita a leitura e manutenção do código, garantindo consistência de tipos. Comentário da resposta: Resposta: E. Comentário: A tipagem forte em C# ajuda na leitura e manutenção do código, garantindo a consistência dos tipos das variáveis. • Pergunta 2 0,25 em 0,25 pontos Ao revisar um código em C#, um desenvolvedor observa os valores 88.7F e 1000000.75M. Qual é a importância desses sufixos (F e M) e como eles influenciam a interpretação dos números no código? Resposta Selecionada: c. F transforma o número em float e M em decimal. Respostas: a. F e M são apenas convenções e não afetam o tipo numérico. b. F indica um float e M um double. c. F transforma o número em float e M em decimal. d. Ambos F e M convertem os números em inteiros. e. F e M não têm significado específico em C#. Comentário da resposta: Resposta: C. Comentário: O sufixo F é usado para definir explicitamente um número como float, e M para defini-lo como decimal, ambos alterando a forma como o número é armazenado e manipulado. • Pergunta 3 0,25 em 0,25 pontos A imutabilidade das strings em C# é uma característica crucial, influenciando vários aspectos de seu uso na programação. Considerando essa imutabilidade, qual das seguintes afirmações melhor explica seu impacto no gerenciamento de memória e segurança? Resposta Selecionada: b. Cada alteração em uma string resulta na criação de um novo objeto, aumentando o consumo de memória. Respostas: a. A imutabilidade das strings aumenta o risco de conflitos em ambientes multi-threaded. b. Cada alteração em uma string resulta na criação de um novo objeto, aumentando o consumo de memória. c. A imutabilidade das strings torna a comparação de conteúdo mais lenta. d. A imutabilidade não afeta a forma como as strings são usadas como chaves em dicionários ou tabelas hash. e. Strings mutáveis seriam mais seguras em contextos críticos como URLs e identificadores. Comentário da resposta: Resposta: B. Comentário: A imutabilidade das strings em C# faz com que qualquer operação que modifique uma string crie um novo objeto, o que consequentemente aumenta o consumo de memória. • Pergunta 4 0,25 em 0,25 pontos Na atividade de programação é comum o uso de expressões em C#, que são combinações de operandos e operadores que retornam um único valor. Por que entender e utilizar expressões corretamente é crucial na programação C#? Resposta Selecionada: e. As expressões são centrais na lógica de programação, permitindo a execução de cálculos, tomada de decisões e manipulação de dados. Respostas: a. Expressões são a única forma de realizar cálculos matemáticos em C#. b. Elas permitem a manipulação de strings e objetos de maneira eficiente. c. São fundamentais para criar interfaces gráficas em aplicações C#. d. Facilitam a interação com bancos de dados e sistemas externos. e. As expressões são centrais na lógica de programação, permitindo a execução de cálculos, tomada de decisões e manipulação de dados. Comentário da resposta: Resposta: E. Comentário: As expressões são cruciais na programação C# porque elas formam a base da lógica e do cálculo dentro do programa, permitindo realizar operações, tomar decisões, e manipular dados de forma eficaz. • Pergunta 5 0,25 em 0,25 pontos Considere o seguinte trecho de código em C# que utiliza um vetor para armazenar informações de uma sequência de números. Analise o código e responda à pergunta: Com base no código fornecido, qual será a saída impressa no console ao executar este programa? Resposta Selecionada: d. 7 Respostas: a. 11 b. 13 c. 9 d. 7 e. 10 • Pergunta 6 0,25 em 0,25 pontos Qual é a principal vantagem do CLR no desenvolvimento de aplicações .NET, especialmente em relação à portabilidade e execução do código? Resposta Selecionada: b. Ele permite a execução de código .NET em qualquer sistema operacional sem necessidade de recompilação. Respostas: a. O CLR elimina a necessidade de gerenciamento de memória no desenvolvimento .NET. b. Ele permite a execução de código .NET em qualquer sistema operacional sem necessidade de recompilação. c. O CLR otimiza o código C# para melhor desempenho em máquinas específicas. d. Ele permite a interoperabilidade direta com códigos escritos em linguagens não gerenciadas, como C e C++. e. O CLR reduz significativamente o tamanho do código binário .NET. Comentário da resposta: Resposta: B. Comentário: O CLR, ao compilar CIL para código de máquina em tempo de execução, permite que o mesmo código .NET seja executado em diferentes sistemas operacionais e hardwares sem a necessidade de recompilação, garantindo a portabilidade das aplicações .NET. • Pergunta 7 0,25 em 0,25 pontos Qual é a principal vantagem de adotar uma arquitetura de três camadas em uma aplicação C# e .NET? Resposta Selecionada: c. Proporciona uma divisão clara de responsabilidades, melhorando a organização e facilitando a manutenção e expansão da aplicação. Respostas: a. Permite a execução de aplicações em múltiplos sistemas operacionais sem modificações. b. Facilita a integração com diferentes tipos de bancos de dados sem alterações no código. c. Proporciona uma divisão clara de responsabilidades, melhorando a organização e facilitando a manutenção e expansão da aplicação. d. Reduz significativamente o tempo de resposta das aplicações ao distribuir a carga entre diferentes servidores. e. Torna desnecessário o uso de frameworks adicionais como ASP.NET ou MVC. Comentário da resposta: Resposta: C. Comentário: A arquitetura de três camadas, ao separar a aplicação em camadas de apresentação, lógica de negócios e dados, proporciona uma divisão clara de responsabilidades. Isso melhora a organização e facilita a manutenção e a expansão da aplicação, permitindo que cada camada seja desenvolvida e modificada independentemente das outras. • Pergunta 8 0,25 em 0,25 pontos Qual é a principal contribuição do padrão MVC (Model-View-Controller) para o desenvolvimento de aplicações web em C#? Resposta Selecionada: c. Proporciona uma separação eficaz entre a interface do usuário, a lógica de negócios e a manipulação de dados, facilitando o desenvolvimento e a manutenção. Respostas: a. O MVC elimina a necessidade de programação do lado do servidor, simplificando o desenvolvimento web. b. Permite que o mesmo código seja utilizado para aplicações desktop e web. c. Proporciona uma separação eficaz entre a interface do usuário, a lógica de negócios e a manipulação de dados, facilitando o desenvolvimento e a manutenção. d. O MVC automatiza o processo de teste de aplicações web, reduzindo a necessidade de testes manuais. e. Integra diretamente as aplicações web com bancos de dados, sem necessidade de camadas intermediárias. Comentárioda resposta: Resposta: C. Comentário: O padrão MVC separa uma aplicação em três componentes principais: Model (dados e lógica de negócios), View (interface do usuário) e Controller (intermediação entre Model e View). Essa separação facilita o desenvolvimento e a manutenção, permitindo que diferentes aspectos da aplicação sejam desenvolvidos e modificados de forma independente. • Pergunta 9 0,25 em 0,25 pontos Qual é a característica distintiva do MVVM (Model-View-ViewModel) que o torna adequado para aplicações como WPF e Xamarin? Resposta Selecionada: b. Proporciona uma abordagem em que a lógica da interface do usuário é separada da lógica de negócios, permitindo uma maior flexibilidade e facilitando a vinculação de dados. Respostas: a. O MVVM permite o desenvolvimento de aplicações sem a necessidade de escrever qualquer código, utilizando apenas configurações gráficas. b. Proporciona uma abordagem em que a lógica da interface do usuário é separada da lógica de negócios, permitindo uma maior flexibilidade e facilitando a vinculação de dados. c. O MVVM é específico para aplicações móveis e não é adequado para aplicações desktop ou web. d. Elimina a necessidade de interação entre o lado cliente e servidor em aplicações web. e. O MVVM restringe o uso de múltiplas linguagens de programação, focando apenas em C#. • Pergunta 10 0,25 em 0,25 pontos Considere o seguinte trecho de código em C#: Com base nesse código, qual será a saída impressa no console quando o programa for executado? Resposta Selecionada: a. 20 Respostas: a. 20 b. 10 c. 18 d. 30 e. 15