Pular para o conteúdo principal

Questão de Programação — C Sharp — FGV 2022

ProgramaçãoC Sharp
Código
fg051454
Banca
FGV
Órgão
SEAD-AP
Ano
2022
Nível
Superior
Cargo
Perito Criminal - Ciência da Computação - Analista de Sistema
Assinale a estrutura correta de acordo com a sintaxe do C#.
  1. A56_a.png 293×152
  2. B56_b .png 295×150
  3. C56_c.png 308×185
  4. D56_d.png 305×185
  5. E56_e.png 309×153
Revelar gabarito e comentário

GabaritoD — [imagem]

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Estrutura de um programa em C#

Gabarito: letra D. A estrutura correta em C# exige a declaração de um namespace (opcional, mas comum), a definição de uma class e um método static void Main(string[] args) como ponto de entrada, respeitando a hierarquia de chaves {} para encapsular cada bloco de código.

Um programa C# é composto por blocos de construção fundamentais. O namespace organiza os tipos, a class define o comportamento e os dados, e o método Main atua como o ponto de entrada obrigatório para a execução do programa. A sintaxe exige que o método Main seja estático (static), não retorne valor (void) e aceite um array de strings como parâmetro (string[] args), garantindo que o compilador identifique corretamente onde o processamento deve iniciar.

Estrutura de um programa C#
  • 1using (diretiva)
  • 2namespace
    • class
      • static void Main(string[] args)
        • ponto de entrada obrigatório
  • 3Erros comuns
    • namespace sem chaves (file-scoped)
    • parâmetro genérico "parameters"
    • palavra-chave "proc"
    • "class static Main"
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Embora pareça correta, a sintaxe de declaração do namespace em C# tradicionalmente utiliza chaves {} para delimitar seu escopo. A forma apresentada (namespace HelloWorld;) é uma sintaxe de "escopo de arquivo" (file-scoped namespace) introduzida em versões mais recentes, mas a alternativa D apresenta a estrutura clássica e completa de encapsulamento que é o padrão de referência para a sintaxe da linguagem em provas.

Alternativa B — ❌ Incorreta

O erro reside na assinatura do método Main. O parâmetro (parameters) é inválido; o método Main deve obrigatoriamente receber um array de strings (string[] args) ou não receber parâmetros, mas nunca um identificador genérico como "parameters" sem definição de tipo.

Alternativa C — ❌ Incorreta

Utiliza a palavra-chave proc para definir o método Main, o que não existe na sintaxe do C#. A definição de métodos em C# é feita diretamente pelo nome do método, precedido pelo tipo de retorno (ou void) e modificadores de acesso/escopo.

Alternativa D — ✅ Correta ⟵ GABARITO

Esta alternativa apresenta a estrutura sintática correta e completa: diretiva using, namespace delimitado por chaves, definição de class e o método static void Main(string[] args) corretamente encapsulado, seguindo as regras de hierarquia e tipagem da linguagem.

Alternativa E — ❌ Incorreta

A declaração class static Main está sintaticamente errada. static é um modificador de método, não de classe, e não pode ser utilizado dessa forma na declaração da classe. A estrutura correta exige que o modificador static preceda o método Main dentro da classe.

PEGA ESSA DICA!

Para não errar a estrutura básica, lembre-se da hierarquia: using (fora) → namespace { class { static void Main { ... } } }.

Link permanente: /questoes/fg051454