C# é uma linguagem de programação orientada a objetos desenvolvida pela Microsoft e amplamente utilizada para construção de aplicativos na plataforma .NET. Ela oferece uma combinação de simplicidade, flexibilidade e desempenho, tornando-o uma excelente escolha para programadores. Com respeito às condições que devem ser cumpridas pela linguagem C#, analise as afirmativas a seguir: I. Um programa C# normalmente consiste em classes, métodos e instruções. II. C# oferece vários tipos de dados integrados, como inteiros, números de ponto flutuante, caracteres, booleanos e strings, que permitem armazenar e manipular diferentes tipos de informações. III. C# fornece diversas estruturas de controle, incluindo condicionais (como instruções if-else e instruções switch) e loops (como loops for, loops while e loops go-to). Está correto o que se afirma em
- A)II, apenas.
A alternativa traz apenas o item II, isto é, a ideia de que C# possui tipos de dados integrados para representar inteiros, números de ponto flutuante, caracteres, booleanos e strings. Isso está correto, porque a linguagem realmente disponibiliza esses tipos básicos para facilitar o armazenamento e a manipulação de valores diversos. O problema é que ela deixa de lado o item I, que também descreve adequadamente a organização usual de um programa em C#.
- B)I, II e III.
A alternativa afirma que I, II e III estariam corretos. Os itens I e II são compatíveis com a linguagem: em C# é comum estruturar o código em classes, métodos e instruções, e a linguagem oferece tipos embutidos como int, double, char, bool e string. O erro está no item III, porque goto não é estrutura de repetição; ele é uma instrução de salto, enquanto os laços de C# são, por exemplo, for, while, do-while e foreach.
- C)II e III, apenas.
A alternativa sustenta que apenas II e III estariam corretos. O item II realmente está bem formulado ao mencionar os tipos de dados nativos de C#, mas o item III erra ao colocar goto no grupo dos loops, já que essa instrução apenas desvia o fluxo de execução. Além disso, a alternativa ignora o item I, que também é aceito como descrição geral da estrutura de um programa C#.
- D)I e III, apenas.
A alternativa combina os itens I e III. O item I corresponde ao modo clássico de organização de um programa em C#, com classes, métodos e instruções, embora a linguagem moderna permita também top-level statements em alguns casos. Já o item III mistura estruturas corretas de decisão, como if-else e switch, com um exemplo incorreto de repetição, porque goto não é um laço.
- E)I e II, apenas.
A alternativa reúne os itens I e II, que são os que se sustentam no conteúdo cobrado. O item I descreve a forma usual de composição de um programa C#, e o item II aponta corretamente os tipos integrados da linguagem, como inteiros, ponto flutuante, caracteres, booleanos e strings. A III é a falsa, pois goto não integra o conjunto de estruturas de repetição; ele é um comando de salto no fluxo de execução.
Gabarito: E
Em C#, uma ideia básica que aparece logo no começo dos estudos é que um programa costuma ser organizado em classes, métodos e instrucoes. Isso reflete bem o modelo da linguagem, que trabalha com orientacao a objetos e com blocos de codigo bem estruturados. Então a afirmativa I faz sentido. A afirmativa II tambem esta correta. C# tem tipos integrados que voce usa o tempo todo, como int, float, double, char, bool e string. Esses tipos ajudam a guardar numeros, textos, valores logicos e outros dados sem complicacao, exatamente como a linguagem foi projetada para facilitar a vida de quem programa. A pegadinha esta na afirmativa III. C# realmente possui estruturas de controle como if-else, switch, for e while, mas "go-to" nao e um loop. goto e uma instrucao de desvio de fluxo, usada para saltar para um rotulo, e nao uma estrutura de repeticao. Por isso, a parte final da afirmativa invalida o item. Assim, somente as afirmativas I e II estao corretas, o que leva ao gabarito E.