Questão de Algoritmos e Estrutura de Dados — Algoritmos — CESPE / CEBRASPE 2023
Algoritmos e Estrutura de Dados›Algoritmos
Código
ce159986
Banca
CESPE / CEBRASPE
Órgão
SEFIN de Fortaleza - CE
Ano
2023
Nível
Superior
Cargo
Analista Fazendário Municipal - Área de Conhecimento: Ciência da Computação, Informática/Processamento de Dados
real c, b, d;real x, y;c = 5;b = 8;d = 3;x = (c < b) ou (b < d) e (c < d);y = ((c < b) ou (b < d)) e (c < d);escreva(x);escreva(y);Com base no algoritmo precedente, julgue o item a seguir, relativo a operadores e expressões.Após a execução desse algoritmo, os valores das variáveis x e y serão diferentes.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoC — Certo
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”.
Precedência de operadores lógicos – expressões com AND e OR
Gabarito: CERTO. Os valores de x e y são diferentes porque a precedência do operador e (AND) sobre ou (OR) altera o resultado das expressões, a menos que parênteses modifiquem a ordem de avaliação. Na expressão de x, o AND é avaliado primeiro, resultando em verdadeiro; já em y, os parênteses forçam o OR primeiro, resultando em falso.
Análise detalhada
Valores iniciais:
c = 5, b = 8, d = 3
Comparações:
(c < b) = 5 < 8 = verdadeiro
(b < d) = 8 < 3 = falso
(c < d) = 5 < 3 = falso
Expressão de x:
x = (c < b) ou (b < d) e (c < d);
Sem parênteses, a precedência do e (AND) é maior. Então primeiro avalia-se (b < d) e (c < d) = falso AND falso = falso. Depois: (c < b) ou (falso) = verdadeiro OR falso = verdadeiro.
Portanto, x recebe verdadeiro (1 ou true).
Expressão de y:
y = ((c < b) ou (b < d)) e (c < d);
Os parênteses internos forçam o OR primeiro: (c < b) ou (b < d) = verdadeiro OR falso = verdadeiro. Depois: (verdadeiro) e (c < d) = verdadeiro AND falso = falso.
Portanto, y recebe falso (0 ou false).
Conclusão
Os valores de x (verdadeiro) e y (falso) são diferentes, confirmando a afirmativa do item.
NÃO CAIA NESSA!
A banca explora a precedência padrão dos operadores lógicos – o e (AND) tem prioridade sobre o ou (OR). Sem os parênteses, muitos candidatos avaliam a expressão da esquerda para a direita, o que levaria a um resultado incorreto. Lembre-se: em pseudocódigo e na maioria das linguagens, AND precede OR.
PEGA ESSA DICA!
Em provas de algoritmo, quando houver expressões lógicas sem parênteses, identifique primeiro os operadores de maior precedência (AND, NOT) antes de avaliar OR. Use parênteses para evitar ambiguidades.