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