Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — IUDS 2021

Algoritmos e Estrutura de DadosAlgoritmos
Código
qq664116
Banca
IUDS
Órgão
IF-RJ
Ano
2021
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Em qualquer tipo de expressão em um algoritmo temos uma ordem a ser seguida que é chamada de ordem de precedência. Das alternativas, a seguir, qual tem maior precedência, ou seja, qual vai ter a prioridade de execução?
  1. AComparações.
  2. BFunções.
  3. C*
  4. D<=
Revelar gabarito e comentário

GabaritoC — *

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 em Expressões

Gabarito: letra C. O operador de multiplicação (*) possui maior precedência que os operadores relacionais (<=) e comparações, sendo executado antes deles em qualquer expressão que siga a ordem padrão de precedência.

A ordem comum de precedência em algoritmos e linguagens de programação é: (1) operadores unários e chamadas de função, (2) exponenciação, (3) multiplicação e divisão, (4) adição e subtração, (5) operadores relacionais (como <, >, <=, >=, ==, !=), (6) operadores lógicos. Assim, entre as alternativas, o * (multiplicação) ocupa o terceiro nível, enquanto <= e comparações estão no quinto. Funções (chamadas de função) frequentemente estão no nível mais alto, mas a banca considerou * como a resposta correta, possivelmente por entender que a pergunta se restringe a operadores infixos comuns da aritmética e relacionais.

  1. 11. Parênteses
  2. 22. Expoentes
  3. 33. Multiplicação/Divisão (*)
  4. 44. Adição/Subtração
  5. 55. Relacionais (<=, <, >)
  6. 66. Lógicos
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Comparações (como ==, !=, <, >) são operadores relacionais e possuem precedência inferior à dos operadores aritméticos como *. Em nenhuma tabela de precedência padrão as comparações vêm antes da multiplicação.

Alternativa B — ❌ Incorreta

Embora chamadas de função (por exemplo, f(x)) tenham a maior precedência em muitas linguagens, a questão não as considera como uma categoria que supere * neste contexto. O gabarito aponta *, indicando que, entre as opções, a multiplicação é a de maior prioridade.

Alternativa C — ✅ Correta ⟵ GABARITO

O operador * (multiplicação) é um operador aritmético de alta precedência, executado antes de operadores relacionais. Em qualquer expressão que combine esses operadores, a multiplicação é resolvida primeiro.

Alternativa D — ❌ Incorreta

O operador <= é relacional, com precedência inferior à dos operadores aritméticos. Não pode ser o de maior prioridade.

PEGA ESSA DICA!

Para memorizar a ordem de precedência, use a sigla PEMDAS (Parênteses, Expoentes, Multiplicação/Divisão, Adição/Subtração) e lembre-se de que relacionais e lógicos vêm depois. Em questões de algoritmo, fique atento ao que a banca considera como operador — funções podem ou não ser incluídas na hierarquia.

Gabarito: letra C — o operador * tem a maior precedência entre as alternativas listadas.

Link permanente: /questoes/qq664116