Questão de TI - Desenvolvimento de Sistemas — Linguagem C# ("CSharp) — Avança SP 2026
TI - Desenvolvimento de Sistemas›Linguagem 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:
AÉ possível identificar um desvio condicional simples.
BExiste pelo menos uma variável do tipo ponto flutuante.
CAs variáveis A e B são strings.
DA expressão R = A + B; ocasionará um erro.
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.
1if (condição)
2Sem else = simples
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.