Pular para o conteúdo principal

Questão de TI - Desenvolvimento de Sistemas — Linguagem C# ("CSharp) — Avança SP 2026

TI - Desenvolvimento de SistemasLinguagem C# ("CSharp)
Código
qa431970
Banca
Avança SP
Órgão
CM Francisco Morato
Ano
2026
Cargo
Tec ( )

{

int R, A, B;

A = Convert.ToInt32(textBox1.Text);

B = Convert.ToInt32(textBox2.Text);

R = A + B;

if (R > 10)

{

Labe13.Text = Convert.ToString(R);

}

}

O fragmento de código acima foi escrito na linguagem C#. Dessa forma, é correto afirmar o seguinte:
  1. AÉ possível identificar um desvio condicional simples.
  2. BExiste pelo menos uma variável do tipo ponto flutuante.
  3. CAs variáveis A e B são strings.
  4. DA expressão R = A + B; ocasionará um erro.
  5. ETodos os nomes de variáveis estão incorretos.
Revelar gabarito e comentário

GabaritoA — É possível identificar um desvio condicional simples.

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”.

Estruturas de controle em C#: desvio condicional simples

Gabarito: letra A. O fragmento apresenta um desvio condicional simples — a estrutura if (R > 10) { ... } executa um bloco de comandos apenas se a condição for verdadeira, sem alternativa else. As demais alternativas são incorretas: não há variável de ponto flutuante (todas são int), A e B são inteiros (não string), a expressão R = A + B; é válida e os nomes das variáveis (R, A, B) são identificadores válidos em C#.

O desvio condicional é uma das estruturas de controle fundamentais em programação. Ele permite que o fluxo de execução do programa tome caminhos diferentes conforme uma condição lógica. Em C#, a forma mais básica é o if simples, que tem a seguinte sintaxe:

if (condição)
{
    // bloco executado se a condição for verdadeira
}

Quando não há else, dizemos que o desvio é simples — ou seja, o bloco é executado ou ignorado, sem alternativa. Se houvesse else, seria um desvio condicional composto. Essa distinção é clássica em provas de lógica de programação.

No código apresentado, temos:

  • Declaração de três variáveis inteiras: int R, A, B;

  • Leitura de valores do usuário via Convert.ToInt32(textBox1.Text) e Convert.ToInt32(textBox2.Text) — convertendo o texto digitado em um número inteiro.

  • Soma R = A + B;

  • Estrutura if (R > 10) que, se verdadeira, exibe o valor de R no Label3.

A condição R > 10 é uma expressão booleana. Se o resultado da soma for maior que 10, o bloco é executado; caso contrário, nada acontece. Não há else, portanto é um desvio condicional simples.

A pegadinha da banca está em confundir o tipo de dado das variáveis. Como os valores vêm de textBox1.Text e textBox2.Text (que são strings), o candidato pode pensar que A e B são strings. Mas a conversão explícita com Convert.ToInt32 transforma o texto em número inteiro, então A e B são int. Da mesma forma, R é int, não ponto flutuante (float, double, decimal).

Outro ponto: a expressão R = A + B; é perfeitamente válida — soma dois inteiros e atribui a um inteiro. Não há erro de compilação nem de execução (desde que os valores digitados sejam numéricos).

Por fim, os nomes R, A e B são identificadores válidos em C#: começam com letra, não são palavras reservadas e seguem as regras da linguagem. Portanto, a alternativa E também está incorreta.

Guarde a fronteira entre desvio simples (sem else) e desvio composto (com else): é exatamente nela que as alternativas se dividem.

  1. 1if (condição)
  2. 2Sem else = simples
  3. 3Com else = composto
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

A estrutura if (R > 10) { ... } é um desvio condicional simples, pois contém apenas o if, sem else. O bloco é executado somente se a condição for verdadeira. Não há ramo alternativo, caracterizando o desvio simples.

Alternativa B — ❌ Incorreta

Não existe variável de ponto flutuante. Todas as variáveis (R, A, B) são declaradas como int, que é um tipo inteiro. Ponto flutuante seria float, double ou decimal. A conversão Convert.ToInt32 retorna int, não ponto flutuante.

Alternativa C — ❌ Incorreta

As variáveis A e B são int, não string. Embora os valores venham de textBox1.Text e textBox2.Text (que são strings), a conversão explícita com Convert.ToInt32 transforma o texto em número inteiro. Portanto, A e B são inteiros.

Alternativa D — ❌ Incorreta

A expressão R = A + B; é válida. Soma dois inteiros e atribui o resultado a uma variável inteira. Não há erro de compilação nem de execução, desde que os valores digitados sejam numéricos. Se o usuário digitar texto não numérico, ocorreria uma exceção em Convert.ToInt32, mas a expressão em si não é um erro.

Alternativa E — ❌ Incorreta

Os nomes R, A e B são identificadores válidos em C#. Começam com letra, não são palavras reservadas e seguem as regras de nomenclatura da linguagem. Não há nenhum nome incorreto.

NÃO CAIA NESSA!

Para identificar o tipo de desvio condicional, procure pela presença de else. Se houver else, é composto; se não, é simples. E lembre-se: Convert.ToInt32 converte texto em inteiro — não confunda o tipo da variável com o tipo do controle de interface.

Gabarito: letra A

Link permanente: /questoes/qa431970