Análise de código C#: desvio condicional e tipos de dados
Gabarito: letra A. O fragmento de código em C# apresenta um desvio condicional simples, caracterizado pela estrutura if sem o else, que executa um bloco de instruções apenas quando a condição é verdadeira. As demais alternativas apresentam afirmações incorretas sobre os tipos das variáveis e a operação de atribuição.
O desvio condicional é uma estrutura fundamental em programação que permite ao programa tomar decisões com base em condições. Em C#, a forma mais básica é o if, que avalia uma expressão booleana e, se verdadeira, executa o bloco de código associado. Quando não há else, o desvio é chamado de simples, pois apenas um caminho é definido para o caso verdadeiro; caso a condição seja falsa, o fluxo simplesmente continua após o bloco.
No fragmento apresentado, a presença de um if sem else confirma que se trata de um desvio condicional simples. As variáveis A e B, por sua vez, são declaradas com valores numéricos inteiros, e a operação R = A + B realiza uma soma aritmética normalmente, sem gerar erro. A alternativa que afirma a existência de variável de ponto flutuante está incorreta, pois não há declaração com tipo float, double ou decimal no código.
A banca explora a confusão entre tipos de dados e a interpretação da operação de soma. É comum que candidatos confundam a atribuição com concatenação de strings, mas em C#, quando ambas as variáveis são numéricas, o operador + realiza soma aritmética. A distinção entre tipos primitivos e a sintaxe correta de declaração são pontos-chave para resolver a questão.
Alternativa A — ✅ Correta ⟵ GABARITO
A alternativa está correta porque o código contém uma estrutura if sem else, caracterizando um desvio condicional simples. O if avalia uma condição e, se verdadeira, executa o bloco; caso contrário, o fluxo segue sem desvio. Essa é a definição exata de desvio condicional simples.
Alternativa B — ❌ Incorreta
A alternativa afirma que existe pelo menos uma variável do tipo ponto flutuante. No código, as variáveis A e B são declaradas com valores inteiros, e não há declaração de float, double ou decimal. Portanto, não há variável de ponto flutuante no fragmento.
Alternativa C — ❌ Incorreta
A alternativa afirma que as variáveis A e B são strings. No código, as variáveis são declaradas com valores numéricos inteiros, não com aspas que caracterizariam strings. Em C#, strings são declaradas com aspas duplas, o que não ocorre no fragmento.
Alternativa D — ❌ Incorreta
A alternativa afirma que a expressão R = A + B ocasionará um erro. Como A e B são variáveis numéricas inteiras, a operação de soma é válida e não gera erro. O operador + em C# realiza soma aritmética quando os operandos são numéricos.
Alternativa E — ❌ Incorreta
A alternativa afirma que todos os nomes de variáveis estão incorretos. Os nomes A, B e R são identificadores válidos em C#, seguindo as regras de nomenclatura da linguagem. Não há erro nos nomes das variáveis.
Gabarito: letra A