wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Impacto da Tecnologia e Programação

Total questions: 1

Worksheet time: 39mins

Name
Class
Date
1-74.
1.

Explique como o software atua como o "grande maestro" das inteligências e facilidades do mundo moderno, considerando o papel dos serviços inteligentes em diferentes dispositivos.

a)

O software coordena e executa funções inteligentes em dispositivos, permitindo que eles realizem tarefas complexas e conectem-se a redes, tornando-se essenciais para o funcionamento de tecnologias modernas.

b)

O software serve apenas para entretenimento em computadores e celulares, sem impacto em outros dispositivos.

c)

O software é responsável apenas por armazenar dados em dispositivos eletrônicos.

d)

O software não tem influência sobre a inteligência dos dispositivos, sendo apenas um acessório opcional.

2.

Analise por que a profissão de programador de computadores se tornou um grande desafio e explique como a evolução do mercado de software contribuiu para isso.

a)

A evolução do mercado de software aumentou a demanda por profissionais capazes de transformar desafios do mundo real em soluções tecnológicas, tornando difícil encontrar pessoas qualificadas para acompanhar o ritmo acelerado das inovações.

b)

A profissão de programador se tornou desafiadora porque não há mais necessidade de softwares no mundo moderno.

c)

O mercado de software não evoluiu, por isso não há desafios para os programadores.

d)

A profissão de programador é desafiadora apenas porque exige longas horas de trabalho, sem relação com a evolução tecnológica.

3.

Planeje uma estratégia para um estudante que deseja se tornar um programador de sucesso, considerando as tendências apresentadas no texto sobre o crescimento da profissão e a importância do software.

a)

O estudante deve buscar constante atualização em novas tecnologias, aprender a programar diferentes tipos de software e desenvolver habilidades para resolver problemas reais, acompanhando o crescimento e as demandas do mercado.

b)

O estudante deve apenas decorar comandos de programação sem se preocupar com as tendências do mercado.

c)

O estudante deve evitar aprender sobre inteligência artificial, pois não é relevante para a profissão.

d)

O estudante deve focar apenas em hardware, já que o software não é importante para o futuro.

4.

Explique como a tecnologia e a programação influenciam não apenas o entretenimento, mas também outras áreas da sociedade, de acordo com o texto.

a)

Elas apenas facilitam o acesso a jogos e redes sociais.

b)

Elas criam novas formas de comunicação, trabalho e visão de mundo.

c)

Elas servem apenas para automatizar tarefas repetitivas.

d)

Elas são importantes apenas para empresas de tecnologia.

5.

Atualmente os desafios tecnológicos são diferentes dos do passado em relação ao processamento de informações.

a)

Porque hoje temos menos recursos tecnológicos disponíveis.

b)

Porque a capacidade de processamento de informações era limitada antigamente, mas hoje é muito maior.

c)

Porque antigamente havia mais profissionais qualificados.

d)

Porque hoje não existem mais desafios tecnológicos.

6.

Considere o processo de escolha de uma linguagem de desenvolvimento de software. Quais fatores, segundo o texto, devem ser levados em conta para tomar essa decisão de forma estratégica?

a)

Escolher a linguagem mais popular sem pesquisar.

b)

Pesquisar sobre o mercado de software, tendências de plataformas e linguagens antes de escolher qual estudar.

c)

Seguir apenas a opinião de amigos.

d)

Escolher a linguagem mais difícil para se destacar.

7.

Avalie por que a linguagem C# é considerada uma boa escolha para o desenvolvimento de software profissional, segundo o texto.

a)

Porque é uma linguagem antiga e pouco utilizada.

b)

Porque é orientada a objetos, moderna, robusta e amplamente adotada por profissionais no mundo inteiro.

c)

Porque só serve para criar jogos.

d)

Porque não exige conhecimento prévio em programação.

8.

Explique como a evolução da linguagem C# contribuiu para a redução de custos e tempo no desenvolvimento de sistemas para diferentes plataformas, considerando o contexto histórico apresentado no texto.

a)

A evolução do C# permitiu criar sistemas multiplataforma, eliminando a necessidade de desenvolver um sistema específico para cada plataforma, reduzindo custos e tempo de entrega.

b)

O C# aumentou a complexidade do desenvolvimento, tornando necessário contratar mais especialistas para cada plataforma.

c)

O C# só pode ser utilizado em sistemas Windows, o que limita sua aplicação e aumenta os custos.

d)

A evolução do C# não teve impacto significativo no desenvolvimento de sistemas multiplataforma.

9.

Analise como a orientação a objetos e a orientação a componentes do C# facilitam o trabalho de programadores em projetos, de acordo com o texto.

a)

Permitem que programadores utilizem construções e implementações nativas, tornando o desenvolvimento mais claro, objetivo e eficiente.

b)

Tornam o desenvolvimento mais difícil, pois exigem conhecimento avançado em outras linguagens.

c)

Limitam a reutilização de código, dificultando a implementação de novos recursos.

d)

Impedem a integração com arquivos XML e outros formatos.

10.

Considerando o papel da comunidade técnica e dos recursos disponíveis, avalie como esses fatores influenciam a curva de aprendizado e adoção do C# para novos programadores.

a)

A comunidade técnica e os recursos disponíveis facilitam a curva de aprendizado e adoção do C#, tornando o processo mais acessível para iniciantes.

b)

A falta de recursos e de comunidade técnica dificulta o aprendizado do C#.

c)

A comunidade técnica só auxilia programadores experientes, não impactando iniciantes.

d)

Os recursos disponíveis são insuficientes para qualquer tipo de aprendizado em C#.

11.

Explique por que o C# é considerado uma linguagem de programação com opções "infinitas" para desenvolvimento de software, utilizando exemplos de diferentes tipos de aplicações que podem ser criadas com ela.

a)

Porque o C# permite criar softwares para sistemas em nuvem, dispositivos móveis, sistemas embarcados, websites e aplicações para web, mostrando sua versatilidade e constante evolução.

b)

Porque o C# só pode ser usado para criar jogos e aplicativos móveis.

c)

Porque o C# é limitado a aplicações desktop e não suporta sistemas embarcados.

d)

Porque o C# não é atualizado frequentemente e possui poucas opções de uso.

12.

Analise a importância de uma IDE no desenvolvimento de sistemas com C# e explique como a escolha da IDE pode impactar o processo de criação de um projeto.

a)

A IDE é fundamental porque integra ferramentas que facilitam a seleção do tipo de projeto, linguagem de programação, configurações e extensões, otimizando o desenvolvimento.

b)

A IDE serve apenas para escrever código, sem impacto no processo de criação do projeto.

c)

A escolha da IDE não influencia em nada o desenvolvimento de sistemas.

d)

A IDE é usada apenas para compilar o código, sem outras funcionalidades.

13.

Compare o Visual Studio e o Visual Studio Code em relação ao seu papel no desenvolvimento de sistemas em C#, considerando o objetivo de facilitar o desenvolvimento e a distribuição de softwares.

a)

Ambos foram criados pela Microsoft para facilitar o desenvolvimento de sistemas, permitindo criar, analisar e distribuir softwares de forma eficiente.

b)

Apenas o Visual Studio Code pode ser usado para desenvolvimento em C#.

c)

O Visual Studio não permite análise e distribuição de softwares.

d)

Visual Studio e Visual Studio Code não são relevantes para o desenvolvimento em C#.

14.

Explique por que o Visual Studio Code não é considerado uma IDE completa e discuta como suas funcionalidades podem suprir as necessidades de desenvolvedores em diferentes sistemas operacionais.

a)

Porque não possui suporte a múltiplas linguagens e não permite extensões.

b)

Porque é apenas um editor de texto simples, sem recursos adicionais.

c)

Porque, apesar de não ser uma IDE completa, oferece suporte a depuração, controle de versionamento com GIT, complementação de código e instalação de extensões, tornando-se versátil para diferentes sistemas operacionais.

d)

Porque só pode ser utilizado em sistemas Windows e não permite personalização.

15.

Explique como as extensões no Visual Studio Code podem contribuir para a produtividade de um desenvolvedor, considerando o uso de recursos em nuvem como o Microsoft Azure.

a)

Permitem automatizar tarefas repetitivas e acessar recursos remotos, otimizando o tempo do desenvolvedor.

b)

Servem apenas para alterar a aparência do editor, sem impacto na produtividade.

c)

Limitam o acesso a recursos externos, tornando o trabalho mais lento.

d)

São usadas apenas para instalar temas de cores no editor.

16.

Analise a importância de um framework no desenvolvimento de softwares e explique como ele facilita o trabalho das pessoas programadoras.

a)

Um framework oferece funcionalidades prontas e um ambiente de compilação, permitindo que programadores foquem na lógica do software.

b)

Um framework serve apenas para dificultar o desenvolvimento, exigindo mais configurações.

c)

Um framework é utilizado apenas para criar interfaces gráficas.

d)

Um framework impede a reutilização de código em diferentes projetos.

17.

Avalie o impacto da criação do .NET Framework pela Microsoft no desenvolvimento de sistemas e aplicações, considerando a portabilidade do código.

a)

O .NET Framework permite que códigos desenvolvidos em .NET sejam executados em qualquer dispositivo com o framework instalado, promovendo portabilidade.

b)

O .NET Framework limita a execução de códigos apenas a computadores da Microsoft.

c)

O .NET Framework impede a execução de códigos em dispositivos móveis.

d)

O .NET Framework não influencia na portabilidade de sistemas.

18.

Explique como a Common Language Runtime (CLR) contribui para a interoperabilidade entre diferentes linguagens de programação no ambiente .NET, e cite pelo menos dois serviços adicionais que ela oferece além da execução de código.

a)

Permite que diferentes linguagens compartilhem código e oferece gerenciamento de memória e controle de exceção.

b)

Permite apenas a execução de código em C# e oferece apenas compilação.

c)

Garante que apenas uma linguagem seja usada e não oferece serviços adicionais.

d)

Permite a execução de código sem gerenciamento de memória ou segurança.

19.

Analise a evolução do .NET Framework em relação ao suporte a diferentes sistemas operacionais e explique como o .NET Core se diferencia do .NET Framework original.

a)

O .NET Core é open-source e multiplataforma, enquanto o .NET Framework original era restrito ao Windows.

b)

O .NET Core é exclusivo para Windows, assim como o .NET Framework original.

c)

O .NET Framework sempre foi open-source e multiplataforma desde o início.

d)

O .NET Core não aceita contribuições da comunidade.

20.

Explique o papel da Common Intermediate Language (CIL) no processo de execução de programas no ambiente .NET e como ela se relaciona com o conceito de bytecode.

a)

A CIL é uma linguagem intermediária orientada a objeto, que é compilada a partir de linguagens de alto nível e depois convertida em bytecode para execução na máquina virtual.

b)

A CIL é uma linguagem de alto nível executada diretamente pelo processador.

c)

A CIL é usada apenas para documentar código e não participa da execução.

d)

A CIL é um compilador de linguagens de máquina para linguagens de alto nível.

21.

Considere o processo de conversão de código fonte em linguagem de máquina descrito no texto. Planeje e explique as etapas envolvidas nesse processo no contexto do .NET Framework.

a)

O código fonte é compilado para CIL, que é então convertido em bytecode e finalmente executado como linguagem de máquina.

b)

O código fonte é executado diretamente como linguagem de máquina sem conversão.

c)

O código fonte é convertido em bytecode e depois em CIL.

d)

O código fonte é apenas interpretado, sem conversão para CIL ou bytecode.

22.

Analise o processo de compilação descrito no texto e explique como a utilização de DLLs (dynamic-link library) pode impactar o desempenho de um sistema operacional quando múltiplos programas utilizam a mesma biblioteca de funções.

a)

O uso de DLLs permite que múltiplos programas compartilhem funções, reduzindo o uso de memória física e melhorando o desempenho do sistema.

b)

O uso de DLLs aumenta o consumo de memória, pois cada programa precisa carregar sua própria cópia da biblioteca.

c)

O uso de DLLs impede que programas diferentes acessem as mesmas funções, tornando o sistema mais lento.

d)

O uso de DLLs não tem impacto no desempenho do sistema operacional.

23.

Considerando o papel do .NET Framework no processo de compilação, explique por que a geração de DLLs é importante para o desenvolvimento de softwares e como isso pode influenciar a manutenção e atualização dos projetos.

a)

A geração de DLLs permite modularizar o código, facilitando a manutenção e atualização dos projetos sem a necessidade de recompilar todo o sistema.

b)

A geração de DLLs dificulta a manutenção, pois exige a recompilação completa do sistema a cada alteração.

c)

A geração de DLLs impede a reutilização de código em diferentes projetos.

d)

A geração de DLLs não tem relação com a manutenção ou atualização dos projetos.

24.

Explique como o uso de DLLs pode impactar o processo de manutenção de um sistema e proponha uma situação em que essa característica traga benefícios práticos para uma equipe de desenvolvimento.

a)

O uso de DLLs permite que, ao precisar de manutenção, apenas a DLL alterada seja substituída, sem necessidade de reinstalar todo o sistema, facilitando atualizações rápidas e seguras.

b)

O uso de DLLs exige que todo o sistema seja reinstalado sempre que uma alteração é feita, aumentando o tempo de manutenção.

c)

O uso de DLLs impede a modularização do software, dificultando o desenvolvimento de aplicações.

d)

O uso de DLLs não traz nenhum benefício para a manutenção de sistemas, pois todas as partes do software precisam ser atualizadas simultaneamente.

25.

Analise de que forma a modularização proporcionada pelas DLLs pode influenciar o desenvolvimento de aplicações em equipes grandes e projetos de longo prazo.

a)

A modularização facilita a organização do software, permitindo que diferentes equipes trabalhem em módulos distintos, acelerando o desenvolvimento e reduzindo conflitos.

b)

A modularização dificulta o desenvolvimento, pois obriga todas as equipes a trabalharem no mesmo módulo ao mesmo tempo.

c)

A modularização não tem impacto no desenvolvimento de aplicações, independentemente do tamanho da equipe ou do projeto.

d)

A modularização impede a reutilização de código, tornando o desenvolvimento mais lento.

26.

Explique como o conceito de namespaces em C# pode ser comparado à organização de arquivos e pastas em um computador, e por que essa analogia é útil para entender a importância dos namespaces em projetos de software.

a)

Para mostrar que namespaces servem apenas para decorar o código.

b)

Para ilustrar que namespaces ajudam a organizar e separar diferentes partes do código, assim como pastas organizam arquivos, facilitando o gerenciamento e evitando confusão.

c)

Para afirmar que namespaces são usados apenas para armazenar imagens.

d)

Para sugerir que namespaces não têm utilidade prática em projetos grandes.

27.

Considere um projeto de software grande em C#. Quais estratégias você utilizaria para planejar a estrutura de namespaces, e como isso pode impactar a manutenção e escalabilidade do projeto?

a)

Criar um único namespace para todo o projeto, pois facilita a busca de arquivos.

b)

Dividir o projeto em múltiplos namespaces de acordo com funcionalidades ou módulos, facilitando a organização, manutenção e escalabilidade do código.

c)

Usar nomes aleatórios para namespaces para evitar conflitos.

d)

Ignorar o uso de namespaces, pois não afeta a estrutura do projeto.

28.

Explique por que o uso de namespaces é importante em C# ao lidar com classes que podem ter o mesmo nome. Dê um exemplo de como a ausência de namespaces pode causar problemas em um projeto.

a)

Os namespaces permitem organizar diferentes tipos de membros e evitar conflitos de nomes, pois classes com o mesmo nome em namespaces diferentes não causam erro.

b)

Os namespaces servem apenas para deixar o código mais bonito, sem impacto na organização.

c)

Os namespaces são usados apenas para definir variáveis globais.

d)

Os namespaces impedem que qualquer classe seja criada, independentemente do nome.

29.

Analise a situação em que duas classes com o mesmo nome são criadas dentro do mesmo namespace em C#. O que acontece durante a compilação e por quê?

a)

O compilador exibe um erro informando que já existe uma classe com o mesmo nome, pois não é permitido duplicidade de nomes dentro do mesmo namespace.

b)

O compilador ignora o conflito e executa normalmente.

c)

O compilador renomeia automaticamente uma das classes.

d)

O compilador apenas emite um aviso, mas permite a execução.

30.

Se você alterar o nome de uma das classes que estavam em conflito dentro do mesmo namespace, o que o compilador fará e por quê?

a)

O compilador entenderá que não há mais conflitos de membros dentro do mesmo namespace e permitirá a compilação.

b)

O compilador continuará exibindo o mesmo erro.

c)

O compilador apagará ambas as classes.

d)

O compilador criará um novo namespace automaticamente.

31.

Explique como o operador de ponto (.) é utilizado para acessar membros de um namespace em C# e por que isso é importante ao trabalhar com múltiplos namespaces em um projeto.

a)

O operador de ponto permite acessar membros de um namespace, facilitando a organização e o acesso a diferentes classes em projetos grandes.

b)

O operador de ponto serve apenas para separar métodos dentro de uma mesma classe.

c)

O operador de ponto é utilizado apenas para acessar variáveis globais.

d)

O operador de ponto não tem utilidade em C#.

32.

Analise o exemplo apresentado e explique por que é necessário especificar o namespace ao instanciar a classe ClasseDois dentro do namespace MyProgram.

a)

Porque o namespace MyProgram não tem visibilidade direta do namespace ProgramaPrincipal, sendo necessário indicar explicitamente a origem da classe.

b)

Porque o C# não permite a criação de objetos sem especificar o namespace, mesmo que estejam no mesmo arquivo.

c)

Porque todas as classes em C# precisam ser instanciadas com o nome completo, independentemente do namespace.

d)

Porque o namespace MyProgram é automaticamente visível para ProgramaPrincipal.

33.

Analise a importância do uso da palavra-chave "using" em C# para a organização e manutenção de projetos grandes. Explique como ela contribui para a clareza e eficiência do código, considerando o exemplo apresentado.

a)

A palavra-chave "using" permite acessar classes de outros namespaces de forma mais simples, facilitando a manutenção e organização do código.

b)

A palavra-chave "using" serve apenas para importar bibliotecas externas, sem impacto na organização do projeto.

c)

O uso de "using" é obrigatório em todos os arquivos, independentemente da necessidade de acessar outros namespaces.

d)

"Using" é utilizado apenas para definir variáveis temporárias dentro de métodos.

34.

Considere a recomendação de boas práticas para nomeação de namespaces em projetos C#. Por que seguir a estrutura NomeDaEmpresa.NomeDoProjeto.CamadaDoProjeto.Funcionalidade é estratégico para o desenvolvimento em equipe e a escalabilidade do projeto?

a)

Porque facilita a identificação da responsabilidade de cada componente e permite isolar ações, tornando o projeto mais organizado e compreensível.

b)

Porque é obrigatório pela linguagem C# e sem ela o código não compila.

c)

Porque reduz o tamanho do código e melhora a performance automaticamente.

d)

Porque impede que diferentes projetos usem nomes semelhantes para classes.

35.

Analise a analogia apresentada no texto sobre a criação de um sistema para uma agência bancária. Explique como a identificação de atores e processos pode ajudar no desenvolvimento de um software orientado a objetos e justifique a importância dessa etapa no planejamento do sistema.

a)

Permite definir claramente as responsabilidades e interações entre os componentes do sistema, facilitando a modelagem de classes e objetos.

b)

Serve apenas para ilustrar o funcionamento do banco, sem impacto direto no desenvolvimento do software.

c)

Ajuda a reduzir o número de funcionários necessários na agência bancária.

d)

Garante que o sistema será implementado sem a necessidade de testes posteriores.

36.

Considerando o exemplo do texto, como você estruturaria as classes para representar os atores e processos de uma agência bancária em um sistema orientado a objetos? Justifique sua resposta com base nos conceitos apresentados.

a)

Criaria classes separadas para Gerente, Funcionário do Caixa e Processos de Crédito/Débito, pois cada um possui responsabilidades e comportamentos distintos.

b)

Criaria apenas uma classe para todos os funcionários, sem diferenciar funções ou processos.

c)

Utilizaria uma única classe para representar tanto pessoas quanto processos, pois ambos fazem parte do mesmo sistema.

d)

Não criaria classes, pois a programação orientada a objetos não é adequada para esse tipo de sistema.

37.

Explique como a análise de domínio de negócio pode auxiliar no desenvolvimento de um sistema e por que é importante identificar os principais atores e processos durante essa análise.

a)

Porque permite criar um sistema sem considerar os processos reais.

b)

Porque ajuda a saber quem são os atores e o que cada um faz, facilitando a modelagem do sistema.

c)

Porque elimina a necessidade de planejamento antes da programação.

d)

Porque impede a criação de classes no sistema.

38.

Ao criar uma classe em programação orientada a objetos, como a classe Gerente apresentada, quais critérios devem ser considerados para definir os atributos dessa classe?

a)

Apenas os atributos que são fáceis de programar.

b)

Atributos que são relevantes para o sistema e refletem características importantes do ator modelado.

c)

Atributos escolhidos aleatoriamente.

d)

Apenas atributos que não possuem relação com o domínio do negócio.

39.

Analise o seguinte código da classe Gerente e explique por que a escolha dos atributos Nome, Idade e Cpf é estratégica para o sistema bancário apresentado.

a)

Porque são atributos comuns a qualquer objeto em programação.

b)

Porque representam informações essenciais para identificar e diferenciar cada gerente no sistema.

c)

Porque são os únicos atributos possíveis em uma classe.

d)

Porque facilitam a exclusão de dados do sistema.

40.

Analise o papel do método AprovarHorasDeFuncionarios na classe Gerente apresentada. Explique como a inclusão desse método altera a representação computacional do papel do gerente em relação ao sistema bancário.

a)

Permite que o gerente aprove horas de funcionários, refletindo uma ação real do gerente no sistema.

b)

Permite apenas armazenar informações pessoais do gerente, sem ações adicionais.

c)

Serve apenas para criar novas contas de clientes automaticamente.

d)

Apenas aumenta a complexidade do código sem agregar funcionalidade.

41.

Considerando o conceito de métodos em programação orientada a objetos, explique por que é importante adicionar métodos como AprovarHorasDeFuncionarios à classe Gerente, em vez de manter apenas propriedades como Nome, Idade e Cpf.

a)

Porque métodos permitem que a classe execute ações, tornando a representação mais próxima da realidade.

b)

Porque métodos servem apenas para aumentar o número de linhas no código.

c)

Porque propriedades não podem ser acessadas sem métodos.

d)

Porque métodos substituem completamente a necessidade de propriedades.

42.

Explique por que é importante envolver especialistas do negócio na modelagem de domínio de um sistema e como isso pode impactar o desenvolvimento de um software orientado a objetos.

a)

Permite que o sistema reflita com precisão os processos reais do negócio, facilitando a automação e entendimento do código.

b)

Evita a necessidade de documentação durante o desenvolvimento.

c)

Garante que o sistema seja desenvolvido mais rapidamente, sem necessidade de testes.

d)

Reduz a necessidade de manutenção futura, pois o sistema nunca precisará de ajustes.

43.

Analise o papel dos objetos em programação orientada a objetos e explique por que eles são fundamentais para o funcionamento de um sistema computacional.

a)

Os objetos permitem que o código seja compilado e colocado na memória, tornando possível sua execução pelo computador.

b)

Os objetos servem apenas para armazenar dados temporários durante a execução do programa.

c)

Os objetos são usados apenas para criar interfaces gráficas em sistemas.

d)

Os objetos substituem completamente a necessidade de métodos e propriedades em uma classe.

44.

Considere o processo de instanciamento de classes em programação orientada a objetos. Planeje um cenário em que a criação de objetos seja essencial para resolver um problema do mundo real e explique como esse processo contribui para a solução.

a)

A criação de objetos permite representar entidades do mundo real no sistema, facilitando a manipulação e automação de processos.

b)

A criação de objetos serve apenas para economizar espaço na memória do computador.

c)

A criação de objetos é usada apenas para fins de teste e não afeta o funcionamento do sistema.

d)

A criação de objetos elimina a necessidade de definir propriedades e métodos nas classes.

45.

Explique como a palavra reservada "new" em C# contribui para o processo de desenvolvimento de software e por que ela é fundamental para a utilização de classes em tempo de execução.

a)

Permite criar uma nova instância de uma classe, analisando o código e disponibilizando-o na memória para uso.

b)

Serve apenas para deletar objetos da memória.

c)

É utilizada para importar bibliotecas externas.

d)

Permite executar métodos estáticos sem instanciar a classe.

46.

Analise o papel do IntelliSense no Visual Studio Code durante o desenvolvimento em C#. Como essa funcionalidade pode impactar a produtividade e a qualidade do código produzido?

a)

O IntelliSense analisa propriedades e métodos em tempo real, facilitando a visualização e escolha correta, aumentando produtividade e reduzindo erros.

b)

O IntelliSense apenas colore o código para facilitar a leitura.

c)

O IntelliSense executa automaticamente todos os métodos da classe.

d)

O IntelliSense impede a criação de novas instâncias de objetos.

47.

Considere o seguinte cenário: após criar uma instância de uma classe em C#, o desenvolvedor utiliza o operador ponto (.) após o nome da variável. Explique estrategicamente como essa ação pode ser utilizada para planejar o uso dos métodos e atributos da classe durante o desenvolvimento.

a)

Permite ao desenvolvedor visualizar e selecionar métodos e atributos disponíveis, facilitando o planejamento do código e evitando erros de digitação ou uso incorreto.

b)

Serve apenas para executar automaticamente todos os métodos da classe.

c)

É utilizado para renomear a variável de objeto.

d)

Permite deletar métodos e atributos da classe.

48.

Explique como a palavra reservada "var" pode impactar o desenvolvimento de um sistema em C#, considerando tanto a criação de variáveis quanto a legibilidade e manutenção do código.

a)

Permite ao sistema inferir o tipo da variável, facilitando a criação de objetos e tornando o código mais flexível, mas pode dificultar a leitura e manutenção se usada em excesso.

b)

Permite ao sistema criar variáveis sem tipo definido, tornando o código mais rápido e seguro.

c)

Obriga o programador a sempre declarar explicitamente o tipo da variável, aumentando a complexidade.

d)

Impede a criação de objetos em tempo de execução, limitando a flexibilidade do código.

49.

Analise a importância das variáveis no desenvolvimento de software e explique como elas influenciam a comunicação entre diferentes sistemas.

a)

As variáveis armazenam, manipulam e exibem valores, permitindo cálculos, manipulações e a troca de informações entre sistemas.

b)

As variáveis servem apenas para armazenar dados temporários e não influenciam a comunicação entre sistemas.

c)

As variáveis são usadas apenas para exibir informações ao usuário final, sem impacto na comunicação entre sistemas.

d)

As variáveis são responsáveis apenas pela segurança dos dados no sistema.

50.

Dado que cada variável em C# possui um tipo específico, discuta como a escolha do tipo de variável pode afetar o desempenho e a eficiência de um programa.

a)

A escolha do tipo de variável determina o tamanho e a quantidade de informação que pode ser salva na memória, impactando diretamente o desempenho e a eficiência do programa.

b)

O tipo de variável não afeta o desempenho, pois todas ocupam o mesmo espaço na memória.

c)

A escolha do tipo de variável só influencia a velocidade de execução, sem relação com o uso de memória.

d)

O tipo de variável é irrelevante para a eficiência do programa, pois o compilador otimiza automaticamente.

51.

Analise o código apresentado no material. Se você precisasse adicionar uma variável para armazenar a idade do funcionário, qual seria o tipo de dado mais apropriado e por quê?

a)

int, pois idade é um valor inteiro e não requer casas decimais.

b)

string, pois idade pode ser representada como texto.

c)

bool, pois idade pode ser verdadeira ou falsa.

d)

decimal, pois idade pode conter casas decimais.

52.

Considerando a tabela de tipos básicos apresentada, explique por que seria inadequado utilizar o tipo decimal para armazenar o valor de uma variável que representa se um funcionário está ativo ou não.

a)

Porque decimal é usado para valores numéricos com casas decimais, enquanto o estado ativo/inativo é melhor representado por um valor booleano.

b)

Porque decimal só aceita valores negativos.

c)

Porque decimal não pode ser usado em C#.

d)

Porque decimal é mais lento que outros tipos.

53.

No exemplo de código, cada variável foi declarada com um tipo específico. Justifique a importância de escolher o tipo de dado correto ao declarar variáveis em um programa.

a)

Escolher o tipo correto garante o uso eficiente da memória e evita erros de execução relacionados ao tipo de dado.

b)

Escolher o tipo correto faz o programa rodar mais devagar.

c)

Escolher o tipo correto impede que o programa seja compilado.

d)

Escolher o tipo correto não tem impacto no funcionamento do programa.

54.

Explique por que as variáveis são essenciais para o fluxo de informações dentro de um sistema, considerando o papel delas no armazenamento e manipulação de dados.

a)

Porque permitem armazenar informações temporariamente e manipulá-las conforme necessário durante a execução do sistema.

b)

Porque servem apenas para exibir informações ao usuário, sem necessidade de armazenamento.

c)

Porque são usadas apenas para acessar informações externas ao sistema.

d)

Porque substituem completamente a necessidade de bancos de dados em qualquer aplicação.

55.

Explique por que é importante utilizar métodos internos da linguagem C# ao invés de criar toda a lógica manualmente para manipular textos, datas e números. Considere os impactos no desenvolvimento e possíveis consequências.

a)

Facilita a vida do desenvolvedor e reduz a possibilidade de erros.

b)

Aumenta a complexidade do código e dificulta a manutenção.

c)

Diminui a produtividade e exige mais tempo para testes.

d)

Impede a reutilização de código em outros projetos.

56.

Ao iniciar um novo capítulo de exercícios em C# no VS Code, qual é o procedimento estratégico recomendado para organizar os arquivos e garantir que todos os exercícios fiquem bem estruturados?

a)

Criar uma nova pasta específica para o capítulo e garantir que ela esteja selecionada ao adicionar novos arquivos.

b)

Salvar todos os arquivos na pasta raiz do projeto sem organização adicional.

c)

Criar arquivos em qualquer pasta disponível, sem se preocupar com a estrutura.

d)

Utilizar apenas um arquivo para todos os exercícios do capítulo.

57.

Explique por que as funções de textos são importantes ao manipular strings em programação e cite pelo menos duas operações que podem ser realizadas com elas.

a)

Porque permitem manipular strings, como limpar espaços em branco e transformar caracteres em maiúsculas ou minúsculas.

b)

Porque servem apenas para criar arquivos de texto simples, sem manipulação de conteúdo.

c)

Porque são usadas exclusivamente para converter números em texto.

d)

Porque só servem para contar a quantidade de arquivos em um projeto.

58.

Ao criar um novo arquivo chamado funcoesTexto.cs em um projeto C#, por que é importante adicionar a extensão .cs e o comando using static System.Console; no início do arquivo?

a)

Para que o compilador reconheça o arquivo como código C# e permita o uso de comandos do Console sem precisar referenciar a classe explicitamente.

b)

Para que o arquivo seja reconhecido como um documento de texto comum e não precise de compilação.

c)

Para que o arquivo seja executado automaticamente ao abrir o projeto.

d)

Para que o arquivo seja protegido contra alterações não autorizadas.

59.

Explique por que é vantajoso referenciar o namespace de um comando de forma estática na lista de using em uma aplicação de Console em C#.

a)

Para poder usar apenas o método desejado sem precisar digitar o namespace completo toda vez.

b)

Para aumentar o tamanho do código e facilitar a leitura.

c)

Para evitar que o método seja executado automaticamente.

d)

Para impedir que outros métodos do namespace sejam utilizados.

60.

Analise a importância do método TRIM em interações com usuários e explique como ele contribui para a consistência dos dados em sistemas de cadastro.

a)

O método TRIM remove espaços em branco antes e depois de uma expressão, garantindo que apenas a informação relevante seja capturada.

b)

O método TRIM adiciona espaços em branco para separar informações.

c)

O método TRIM altera o conteúdo da expressão para letras maiúsculas.

d)

O método TRIM substitui caracteres especiais por espaços em branco.

61.

Considere um cenário em que dados são importados de arquivos CSV para um sistema. Justifique o uso do método TRIM nesse contexto e explique as consequências de não utilizá-lo.

a)

O uso do TRIM evita inconsistências causadas por espaços em branco indesejados, melhorando a precisão dos dados importados.

b)

O uso do TRIM aumenta o tempo de processamento dos dados, tornando o sistema mais lento.

c)

O uso do TRIM impede que os dados sejam importados corretamente.

d)

O uso do TRIM converte todos os dados para o formato numérico.

62.

Explique por que é obrigatório iniciar a interpolação de strings em C# com o caractere $ (cifrão) e o que pode acontecer se esse detalhe for ignorado ao tentar exibir variáveis ou comandos em um texto.

a)

Porque o compilador só reconhece comandos entre chaves se houver o cifrão; sem ele, o texto será exibido literalmente, sem substituir as variáveis.

b)

Porque o cifrão serve apenas para estilizar o código, sem impacto na execução.

c)

Porque o cifrão é necessário apenas quando se usa números, não variáveis.

d)

Porque o cifrão ativa o modo de depuração automática do C#.

63.

Analise o trecho de código apresentado e explique a vantagem de utilizar a interpolação de strings em vez de concatenar expressões ao exibir informações ao usuário.

a)

A interpolação de strings torna o código mais limpo e fácil de entender, evitando concatenações longas e complexas.

b)

A interpolação de strings é mais lenta do que a concatenação, mas permite mais comandos.

c)

A interpolação de strings só pode ser usada com números, não com textos.

d)

A interpolação de strings impede o uso de métodos como Trim().

64.

Considere o seguinte comando em C#: WriteLine($"Nome sem espaços: {empresa.Trim()}"). Explique o papel do método Trim() nesse contexto e por que ele é utilizado.

a)

O método Trim() remove os espaços em branco antes e depois do texto armazenado na variável, deixando a informação mais precisa para exibição.

b)

O método Trim() converte o texto para letras maiúsculas.

c)

O método Trim() substitui todos os caracteres por asteriscos.

d)

O método Trim() adiciona espaços extras ao texto.

65.

Explique por que é necessário definir o elemento no arquivo de configuração do projeto C# e como isso afeta a execução do programa no VS Code.

a)

Permite ao VS Code saber qual classe deve ser executada como ponto de entrada do programa.

b)

Define o nome do arquivo de saída do projeto.

c)

Especifica a versão do .NET a ser utilizada.

d)

Indica quais bibliotecas externas devem ser carregadas.

66.

Analise o processo de execução de um programa C# no VS Code descrito no texto e explique como o menu Run e a opção Start Debugging contribuem para o desenvolvimento e depuração do código.

a)

Permitem iniciar a execução do programa e visualizar o resultado na janela DEBUG CONSOLE, facilitando a identificação de erros e o acompanhamento do fluxo do programa.

b)

Servem apenas para compilar o código sem executar.

c)

Apenas salvam o arquivo automaticamente antes de fechar o VS Code.

d)

Executam testes automatizados sem mostrar resultados ao usuário.

67.

Considerando o resultado apresentado na janela DEBUG CONSOLE, explique a importância de remover espaços em branco no início e fim do conteúdo de uma variável antes de exibi-lo.

a)

Garante que a apresentação dos dados seja limpa e precisa, evitando interpretações erradas ou formatação inadequada.

b)

Aumenta o desempenho do programa de forma significativa.

c)

Permite que o programa seja executado em qualquer sistema operacional.

d)

Evita que o código seja compilado com erros de sintaxe.

68.

Explique como o método Length pode ser utilizado em um sistema de cadastro de endereços para garantir que o campo de endereço não ultrapasse o limite de caracteres permitido. Cite um exemplo prático de como isso pode ser implementado e justifique a importância desse controle.

a)

O método Length pode ser usado para contar os caracteres digitados e impedir que o usuário digite mais do que o permitido, por exemplo, limitando o campo de endereço a 50 caracteres, o que evita problemas de armazenamento e exibição.

b)

O método Length serve apenas para remover espaços em branco, não sendo útil para limitar campos de texto.

c)

O método Length pode ser usado para traduzir textos automaticamente, facilitando o cadastro de endereços em diferentes idiomas.

d)

O método Length é utilizado apenas para contar palavras, não caracteres, então não é útil para limitar campos de endereço.

69.

Considere o seguinte trecho de código em C#: string empresa = " Microsoft Corporation "; empresa = empresa.Trim(); Explique o impacto do uso do método Trim() na variável empresa e por que isso pode ser importante em aplicações que manipulam dados de entrada do usuário.

a)

O método Trim() remove os espaços em branco antes e depois da expressão, tornando os dados mais limpos e padronizados, o que é importante para evitar erros em buscas, comparações e armazenamento.

b)

O método Trim() converte todos os caracteres para maiúsculas, facilitando a padronização dos dados.

c)

O método Trim() substitui todos os espaços por hífens, facilitando a leitura dos dados.

d)

O método Trim() adiciona espaços em branco ao início e ao final da expressão, melhorando a formatação visual.

70.

Explique como o método Trim() pode ser utilizado para contar corretamente o número de caracteres de uma expressão em C#. Dê um exemplo prático de quando isso seria importante em um sistema real.

a)

O método Trim() remove todos os caracteres especiais, facilitando a contagem de letras.

b)

O método Trim() remove espaços em branco no início e no fim da expressão, permitindo contar apenas os caracteres relevantes, como em um sistema de cadastro que precisa validar o tamanho do nome sem considerar espaços extras.

c)

O método Trim() transforma todas as letras em maiúsculas, facilitando a contagem.

d)

O método Trim() substitui espaços por sublinhados, facilitando a contagem de palavras.

71.

Analise a diferença entre o uso do método Length antes e depois da aplicação do método Trim() em uma string. Por que essa diferença pode ser relevante em aplicações que processam dados de usuários?

a)

Porque o método Length sempre retorna o mesmo valor, independentemente do Trim().

b)

Porque o método Trim() pode alterar o valor retornado por Length ao remover espaços, o que é relevante para garantir que dados como nomes ou senhas sejam armazenados sem espaços indesejados.

c)

Porque o método Length só funciona após o Trim().

d)

Porque o método Trim() adiciona caracteres, aumentando o valor de Length.

72.

Considere um cenário em que você precisa destacar informações críticas em um relatório gerado por um sistema. Justifique o uso do método ToUpper() nesse contexto e explique como ele pode ser implementado em C#.

a)

O método ToUpper() é usado para remover espaços em branco, facilitando a leitura do relatório.

b)

O método ToUpper() transforma toda a expressão em letras maiúsculas, destacando informações importantes como nomes ou cargos, e pode ser implementado usando empresa.ToUpper().

c)

O método ToUpper() converte números em letras, facilitando a compreensão dos dados.

d)

O método ToUpper() substitui letras minúsculas por sublinhados, tornando o texto mais visível.

73.

Explique como as funções TRIM, Length e ToUpper podem ser utilizadas em conjunto para processar uma string em C#. Dê um exemplo prático de uso dessas funções em sequência e justifique a ordem escolhida.

a)

Primeiro aplica-se o ToUpper, depois o Length e por fim o TRIM, pois assim garante-se que todos os caracteres estejam em maiúsculo antes de contar e remover espaços.

b)

Primeiro aplica-se o TRIM, depois o Length e por fim o ToUpper, pois assim remove-se espaços, conta-se os caracteres e converte-se para maiúsculo.

c)

Primeiro aplica-se o Length, depois o TRIM e por fim o ToUpper, pois é importante saber o tamanho antes de remover espaços e converter.

d)

Primeiro aplica-se o ToUpper, depois o TRIM e por fim o Length, pois a conversão para maiúsculo deve ser feita antes de qualquer outra operação.

74.

Considere que você recebeu uma string de uma fonte externa com espaços em branco no início e no fim, além de caracteres em caixa mista. Descreva um procedimento em C# para padronizar essa string para análise, justificando o uso dos métodos TRIM, ToUpper e ToLower conforme o objetivo desejado.

a)

Utilizar apenas o método ToUpper para padronizar, pois ele resolve todos os problemas de formatação.

b)

Utilizar TRIM para remover espaços, depois ToUpper ou ToLower conforme a necessidade de padronização, garantindo que a string esteja limpa e uniforme.

c)

Utilizar apenas o método Length para saber o tamanho da string, pois isso é suficiente para análise.

d)

Utilizar ToLower antes de TRIM, pois a ordem não influencia no resultado final.