Operador (TI)

Na programação de computadores , um operador é uma função especial cujo identificador é geralmente escrito com caracteres não permitidos para o identificador de funções comuns. Freqüentemente, eles são equivalentes aos operadores matemáticos de uma linguagem de programação .

Os operadores podem realizar operações aritméticas, booleanas ou atuar em strings . Ao contrário das funções, os operadores geralmente fornecem as operações primitivas da linguagem. Seu nome consiste em caracteres de símbolo ou pontuação. A terminologia varia de idioma para idioma, no entanto.

Em ciência da computação, o uso da palavra operador vai além dos operadores aritméticos comuns.

A linguagem C , por exemplo, também suporta operadores como & , ++ e sizeof . Operadores como sizeof são alfanuméricos em vez de símbolos ou caracteres de pontuação; eles às vezes são chamados de operadores nomeados .

Operadores em C são operações primitivas da linguagem que o compilador pode traduzir de forma relativamente direta em instruções do microprocessador. Ao contrário, em algumas linguagens de programação, como C ++ ou Haskell , os operadores podem ser definidos ou sobrecarregados para facilitar a escrita e a releitura do código.

Em linguagens como Haskell e Prolog , os operadores são açúcar sintático puro . Qualquer combinação de símbolos e caracteres de pontuação pode ser usada como um operador, e a precedência e associatividade de tal operador podem ser definidas .

Haskell só permite definir novos operadores binários, enquanto Prolog permite definir operadores que são binários ou unários e que podem ser prefixados, infixados ou pós-fixados. Em Haskell, podemos definir e aplicar um operador como uma função e vice-versa pelo uso de parênteses e acentos graves .

Em algumas linguagens de programação, como PostScript , o uso da palavra operador tem um significado mais preciso. Um operador é um item executável na pilha .

Uma vez que os operadores são sempre escritos pós-fixados como em qualquer idioma que usa notação polonesa reversa , o uso de parênteses é opcional.

Classificação

Podemos classificar os operadores de acordo com o número de operandos que eles aceitam. Portanto, uma operação unária aceita um único argumento, uma operação binária aceita dois argumentos e um operador ternário aceita três argumentos. Por exemplo, o unário menos (-) e o unário mais (+) são operadores unários que permitem obter o oposto (-1) e a identidade (+1) de um número, o multiplicado (*) e o dividido (/) os operadores binários codificam a multiplicação (2 * 3) e a divisão (5/7), o operador "? : "Um operador ternário está retornando condicionalmente um resultado (verdadeiro? 1: 2).

Os operadores também podem ser classificados de acordo com a ordem de avaliação dos argumentos (geralmente de acordo com a associatividade à direita ou à esquerda dos operadores matemáticos) ou sua notação: prefixo (++ i), infixo (i + j) ou postfix (i ++). Também há uma ordem de precedência entre os operadores para eliminar a ambigüidade da avaliação de expressões onde elas são misturadas como 1 + 4/5 * 2.

Exemplos

Linguagens de programação frequentemente (mas nem sempre) têm os seguintes operadores:

Veja também

Notas e referências