SóProvas


ID
5555719
Banca
IUDS
Órgão
IF-RJ
Ano
2021
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

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?

Alternativas
Comentários
  • Meio estranho esse gabarito...

    Aqui [1] fala que "Function Call" tem precedência sobre "Multiplication"

     

    [1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#table

  • Todos os operadores de comparação têm precedência igual; ou seja, eles são avaliados na ordem da esquerda para a direita na qual aparecem.

    Os operadores aritméticos tem a seguinte ordem:

    exp (^),

    negação (-),

    multiplicação (*) e divisao(/),

    divisão inteira(\),

    mod,

    adição (+) e subtração (-) ,

    concatenação de caracteres.

  • discordo do gabarito, como vai executar x * func(x) sem antes conhecer o valor de func(x)? Só pensar nos algoritmos recursivos, as chamadas das funções são empilhadas até que o valor de uma delas seja conhecido.

  • Os operadores aritméticos têm precedência sobre os relacionais.

  • Estranha a questão, sabendo que pode-se operar com multiplicação com funções diretamente. Exemplo: X * func(x), e func(x) apenas retorna um número, return 10. Na hora de empilhar os resultados vem primeiro o retorno de func(x), questão mau elaborada, mas que pega o conceito elementar de prioridade de execução, bem ao pé da letra.