O que é uma operação associativa?

Uma operação associativa pode se referir a qualquer um dos seguintes:

1. Em matemática, uma operação associativa é um cálculo que fornece o mesmo resultado, independentemente da maneira como os números são agrupados. Adição e multiplicação são ambas associativas, enquanto subtração e divisão não são. Por exemplo, dê uma olhada nos cálculos abaixo.

Associativo

2+ (2 + 5) = 9

(2 + 2) +5 = 9

Não associativo

4- (2-1) = 3

(4-2) -1 = 1

Nos exemplos adicionais, não importa a ordem em que os números são adicionados. Seja adicionando 2 + 5 primeiro e depois adicionando 2, ou adicionando 2 + 2 primeiro e depois adicionando 5, o resultado é 9 e o torna associativo. Por outro lado, a subtração não é associativa, pois alterar o agrupamento altera o resultado.

2. Na programação, uma operação associativa ocorre quando nenhum agrupamento está presente, onde os operadores têm a mesma precedência ou serão avaliados da esquerda para a direita ou vice-versa. Se nenhum destes for o caso na linguagem de programação, então será um operador especial ou dará um erro de sintaxe como resultado.

Por exemplo, adição e subtração têm a mesma precedência e são associativas à esquerda. Assim, se não houver agrupamento entre parênteses, os operadores são avaliados da esquerda para a direita. Por exemplo, 4-3 + 1 é igual a 2, já que 4-3 é calculado primeiro, com o resultado sendo adicionado a 1. Para alterar essa ordem, o programador precisa agrupar os números para calcular a expressão como desejado. Se o programador quiser realizar o cálculo 3 + 1 primeiro, ele pode ser agrupado usando parênteses, como mostrado abaixo.

 4- (3 + 1) 

Isto força 3 + 1 a ser calculado primeiro, com o resultado (4) subtraído de 4, dando zero.

Com a maioria das linguagens, os operadores de adição, subtração, multiplicação e divisão são associativos à esquerda, enquanto os operadores de atribuição, condicional e de exponenciação são associativos à direita.

Operador, termos de programação