Questão nº 87
Questão de Auditoria em Tecnologia da Informação · FCC Prefeitura de São Luís 2018 (nº 87)
FCC2018Auditor Fiscal de Tributos I - Área Tecnologia da Informação (TI)Auditoria em Tecnologia da Informação
Gabarito: Aver comentário ↓
Em um programa construído na linguagem C# da plataforma Microsoft .NET, um Auditor se deparou com uma condição `if(x && y)`, em que x e y são valores booleanos (bool). Na instrução `if`,
- Acaso x seja false, y não será avaliado. (alternativa correta)
- Btanto x quanto y serão sempre avaliados.
- Ccaso y seja true, x não será avaliado.
- Dsomente x será avaliado.
- Esomente y será avaliado.
Resposta comentada
Gabarito Alternativa A
Em C#, operadores lógicos como && (AND) e || (OR) utilizam um mecanismo chamado avaliação de curto-circuito, onde a segunda parte da expressão só é avaliada se for estritamente necessário para determinar o resultado final.
- (A) Correta: Se
xforfalse, a expressãox && yjá éfalse(poisfalseAND qualquer coisa éfalse), entãoynão precisa ser avaliado, economizando processamento. - (B) Incorreta: Isso contraria o princípio da avaliação de curto-circuito, que otimiza a execução ao evitar avaliações desnecessárias.
- (C) Incorreta: A avaliação de
ysó ocorreria sexfossetrue. Sexforfalse,ynão é avaliado, independentemente do seu valor. A armadilha da banca aqui é sugerir que o valor dey(sejatrueoufalse) poderia influenciar a avaliação dexou a própria avaliação deyquandoxjá tornou a expressãofalse. - (D) Incorreta: Se
xfortrue,yprecisa ser avaliado para determinar o resultado final da expressãox && y. - (E) Incorreta: Em uma expressão
x && y,xé sempre avaliado primeiro.
Fonte: FCC Prefeitura de São Luís 2018 Auditor Fiscal de Tributos I - Área Tecnologia da Informação (TI) (Caderno Tipo 001). Reproduzida para fins de estudo.