15.03.2011, 15:20
(
Последний раз редактировалось LuxurioN™; 15.03.2011 в 22:51.
)
Como tenho percebido, vбrios membros nгo conhecem todo o potкncial, quais sгo e como funcionam os Operadores. A maioria em si atй conhece os operadores comums (Multiplicaзгo, Divisгo, Subtraзгo, Adiзгo), porйm, eles vгo alйm, e muito, alйm.
Menu
- Introduзгo
- Operador de Atribuiзгo
- Operadores Aritmйticos
- Operadores de Atribuiзгo Compostos
- Incremento & Decremento
- Operadores Relacionais
- Operadores Lуgicos
- Operador Condicional
- Operadores de Bits
- Precedкncia
Operador de Atribuiзгo
O operador de atribuiзгo (=) ou, na matemбtica, de igualdade, tambйm faz parte dos Operadores Aritmйticos, contudo, o mesmo requer uma seзгo apenas para si, apesar de ser simples, й, acredito eu, o mais importante. Digamos que ele seja o inicio!
Seu objetivo й simples: Atribuir um valor especifico para uma variavel!
Код:
Var = 4
Regras:
- Tudo o que esta sobre a esquerda do operador (No nosso exemplo, "Var") chamamos em C++ de "Left Value", e tudo que estб a direita logicamente de "Right Value".
- Nгo importa a situaзгo, a esquerda deve sempre ser uma Variбvel, e a direita, contudo, pode ser uma outra variбvel, um resultado de uma combinaзгo de valores, ou apenas um valor especifico. Lembrando que o valor dado na direita serб sempre o valor que sera atribuido a variбvel da esquerda.
- Operaзхes utilizando "=" sempre devem ser lidas da esquerda para a direita!
Код:
Var = Var2
Operadores Aritmйticos
Код:
+ Adiзгo (2+2=4) - Subtraзгo (2-2=0) * Multiplicaзгo (2*2=4) / Divisгo (2/2=1) % Mуdulo
Operadores de Atribuiзгo Compostos
Код:
+=, -=, *=, /=, %=, >>=, <<=, &=, ^=, |=
Код:
x += 3: que й igual a: x = x + 3 (Ex: 6 = 6+3) x -= 3: que й igual a: x = x - 3 (Ex: 6 = 6-3) x /= 3: que й igual a: x = x / 3 (Ex: 6 = 6/3) x *= b: que й igual a: x = x * 3 (Ex: 6 = 6*3 ou "x = 2+5" x=x*2+5) E assim por diante...
Код:
(++) Incremento. (--) Decremento.
Exemplo:
Код:
new Var = 5; Var++ (+1 Var == 6) Ou Var += 1 Que resultarб na mesma coisa!
Код:
++Var prefixo
Код:
Var++ sufixo
Um exemplo no qual podemos perceber a diferenзa:
Код:
Prefixo Var2=5; Var1=++Var2; Var1 serб igual a 6 Var2 tambйm serб igual a 6
Код:
Sufixo Var2=5; Var=Var2++; Var1 serб igual a 5 Var2 serб igual a 6
Operadores Relacionais
Код:
> Maior >= Maior ou igual < Menor <= Menor ou igual == Igual a != Diferente
Exemplos:
Код:
(10 < 10) Retornaria false: 10 nгo й menor que 10. (9 < 10) Retornaria true: 9 й menor que 10. (10 > 10) Retornaria false: 10 nгo й maior que 10. (10 > 9) Retornaria true: 10 й maior que 9. (10 == 10) Retornaria true: 10 й igual a 10. (9 == 10) Retornaria false: 9 nгo й igual a 10. (10 != 10) Retornaria false: 10 nгo й diferente de 10. (10 != 9) Retornaria true: 10 й diferente de 9. (10 >= 10) Retornaria true: 10 nгo й maior que dez, porйm й igual. (10 >= 9) Retornaria true: 10 nгo й igual a 9, porйm й maior.
Exemplo:
Код:
Suponhamos que Var1=1, Var2=2, Var3=3: (Var1*Var2 >= Var3) = 1*2 >= 3 = False!
- O Operador '=' nгo й igual ao operador '=='. No primeiro caso ele apenas atribui um valor ('=' Operador de Atribuiзгo), e no segundo caso ('==' Operador Relacional), й responsбvel por comparar duas funзхes e verificar se sгo iguais.
Operadores Lуgicos
Estes sгo um pouquinho mais complicados de se entender, entгo, vamos por partes. Os operadores sгo:
Код:
! && ||
Reprensenta que a funзгo a seguir e falsa (Nгo, parte de uma funзгo booleana: Not), й claro que existem casos que ele poderб retornar a true. Veremos algums exemplos:
Код:
!(10 == 10) A expressгo acima retornarб false pois: (10 == 10) й [color=blue]true[color]. !(11 <= 10) A expressгo acima retornarб true pois: (11 <= 10) й [color=blue]false[color]. [color=green]Sempre lembrando que o "!" resultarб sempre no resultado inverso![/color !true serб false. !falseserб true.
Tais operadores (Reprentaзгo Booleana: AND e OR) sгo bem simples. '&&' repesenta "AND" ou "e", e '||' representa "OR" ou "ou". Seus resultados dependeram sempre da ordem em que os valores estгo operando. Vejamos algums exemplos a seguir;
Код:
&& x = 10; if(x < 20) && (x == 10); (Retornaria true, pois 10(x) й menor que 20 e й igual a 10) Caso "x for maior que 20" E "x for igual a 10" a funзгo a seguir se executaria. || x = 10; if(x < 20) && (x != 10); (Retornaria false/true, pois 10(x) й menor que 20, porйm nгo й diferente de 10) Caso "x for maior que 20" OU "x for difente a 10" a funзгo a seguir se executaria.
Й como um "resumo". O operador de condicional й capaz de, com simplicidade, verificar se a expressгo retornou em true ou false e aplicar uma funзгo. Vejamos algums exemplos:
Код:
Condiзгo ? Resultado1 : Resultado2 Condiзгo: true, Resultado1. Condiзгo: false, Resultado2. 10==5 ? 20 : 15 Retornaria a 15 pois 10 nгo й igual a 5. 10==10 ? 20 : 15 Retornaria a 20 pois 10 nгo й igual a 10. 10>=20 ? 20 : 15 Retornaria a 15 pois 10 nгo й maior ou igual a 20. 10<=20 ? 20 : 15 Retornaria a 20 pois 10 nгo й menor que 20.
Operadores de Bits
A classe dos operadores de Bits (Vocк ja viu alguns deles acima) nгo sгo muito utilizados em SA-MP, e por isso nгo vou dar tamanha importвncia a eles como nos outros. Caso vocк se intresse, sгo perfeitamente e muito usados em C++.
Код:
& | ^ ~ << >>
Код:
& AND "E lуgico" | OR "Ou Lуgico" ^ XOR "Exclusivo ou Lуgico" ~ NOT "Complemento de Um" << SHL "Deslizar/passar a esquerda" >> SHR "Deslizar/passar a direita"
Entretanto, caso alguйm se interesse por como eles funcionam. Jб existe um tutorial (Em Inglкs) com uma уtima explicaзгo:
Binary operators.
Precedкncia
Precedкncia ou "Prioridade de Operadores" й a ordem, das quais os operadores devem ser avaliados. Em grandes expressхes poderiamos nos confundir em qual operador usar primeiro, e qual operador serб avaliado primeiro. E, й para isso que existe a procedкncia, й como uma ordem. Й a prioridade que o compilador executarб o operador. Caso os operadores tenham o mesmo nнvel de precedкncia eles sгo analisados da esquerda para direita.
Segue-se abaixo uma tabela com a prioridade dos operadores. (Vale lembrar que a tabela abaixo de aplica diretamente a linguagem c, e nгo a SA-MP):
Finalizaзгo
Tais sгo as explicaзхes que abordam todos os operadores de maior uso, e atй os de pouco, em SA-MP. Desdк uma explicaзгo teуrica atй um exemplo prбtico. Nгo basta apenas ler e decorar. Treine, tente, faзa, isso faz aprender. Caso tenha alguma dъvida, como eu disse anteriormente, sinta-se livre para dizer, contando que seja relacionada ao assunto.