SA-MP Forums Archive
[Tutorial] Operadores Relacionais e Lуgicos - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tutorial] Operadores Relacionais e Lуgicos (/showthread.php?tid=357684)



Operadores Relacionais e Lуgicos - .FuneraL. - 08.07.2012

Operadores Relacionais

Bom, como o prуprio titulo jб diz, sгo operadores que sгo usados para comparar mais de um itйm dentro de uma mesma funзгo IF, vou explicar basicamente como usar cada um deles, e darei exemplos, caso estiver faltando alguma coisa, favor me avisar, que vou tentar fazer este tutorial, completo sobre o assunto... Bom, Vamos Iniciar:

Comparador: " == ", Significado: Igual
Explicaзгo: Bom, este comparador como jб diz no prуprio significado, compara funзхes igualadas, Vou dar um exemplo prбtico, usando nнveis de administrador.

Exemplo Prбtico:

pawn Код:
if(PlayerInfo[playerid][pAdmin] == 1)

// Estб Afirmando que Nesta Funзгo, o Nнvel de Administrador nгo й nem menor nem maior, й igualado ao valor 1.
Comparador: " < ", Significado: Menor
Explicaзгo: Bom, este comparador, como ja diz no significado, verifica se algo й menor que o valor denominado em alguma funзгo.

Exemplo Prбtico:

pawn Код:
if(PlayerInfo[playerid][pAdmin] < 1)

// Novamente, Aн nesta funзгo, verificarб se o valor de administrador, estб setado abaixo de 1 para o jogador, ou seja, se ele for menor que nнvel 1 de administrador, retornarб uma mensagem, ou outra coisa a escolha do programador.
Comparador: " > ", Significado: Maior
Explicaзгo: Quase a mesma coisa do menor, porйm este comparador verificarб se o valor seja de administrador, ou de quaisquer outra vбriavel й maior que a determinada, aqui vou utilizar um exemplo com dinheiro.

Exemplo Prбtico:

pawn Код:
if(GetPlayerMoney(playerid) > 5000)

// Bom, aqui nos permite executar alguma funзгo qualquer escolhida, se o valor de dinheiro do jogador ser maior que 5000, caso contrбrio, terб uma falha na execuзгo.
Comparador: " <= ", Significado: Menor ou Igual
Explicaзгo: Bom, este comparador verificarб quase a mesma coisa que os outros citados acima, porйm hб uma diferenзa, este comparador verifica se o valor determinado й igualado ao valor que serб digitado, ou menor que ele.

Exemplo Prбtico:

pawn Код:
if(GetPlayerScore(playerid) <= 500)

// Aqui, ele executarб funзхes apenas para maiores que isto, ou para menores tambйm, vai depender do que o programador fizer, й normal, quase todos os casos, os mesmos proнbirem a aзгo com menos que o valor especificado.
Comparador: " >= ", Significado: Maior ou Igual
Explicaзгo: Bom, este comparador verificarб quase a mesma coisa que os outros citados acima, porйm hб uma diferenзa, este comparador verifica se o valor determinado й igualado ao valor que serб digitado, ou maior que ele.

Exemplo Prбtico:

pawn Код:
if(GetPlayerScore(playerid) >= 500)

// Aqui, executarб funзхes, para valores maiores ou iguais que 500, que й o definido na funзгo, mas como eu disse anteriormente, vai depender muito do programador.
Comparador: " != ", Significado: Diferente
Explicaзгo: Bom, esse й o ponto onde mais tive dъvidas nesse estudo sobre os Operadores, bom, ele verifica basicamente, se algo й diferente de outro.

Exemplo Prбtico:

pawn Код:
if(Organizacao[playerid] != Org1)

// Bom, aн ele verificarб certamente a variбvel Organizaзгo, verificarб se й diferente da definiзгo "Org1", caso for diferente, executarб uma proibiзгo de algo, definido pelo programador, caso nгo for diferente, executarб a funзгo normal a ser executada.
Operadores Lуgicos

Operador: " || " - Significado: Ou.
Explicaзгo: Basicamente, ele pega duas variбveis definidas na funзгo e verifica se й uma "OU" outra, caso contrбrio, retorna false, independente dos casos.

Exemplo Prбtico:

pawn Код:
if(PlayerInfo[playerid][pAdmin] > 1 || IsPlayerAdmin(playerid));

// Aqui, ele verificarб se o Nнvel definido do Administrador й maior que 1, ou se ele й master admin, ou seja Administrador RCON, Caso contrario, serб executado false na funзгo.
Operador: " && " - Significado: E.
Explicaзгo: Basicamente, ele faz a mesma funзгo da anterior, porйm com uma diferenзa, || Diz se й uma OU outra, esta aqui, verifica as duas dizendo, Esta e Esta, Caso Contrбrio, nгo й verdadeiro.

Exemplo Prбtico:

pawn Код:
if(PlayerInfo[playerid][pAdmin] > 1 && IsPlayerAdmin(playerid));

// Mesma Funзгo utilizada no outro, porйm essa verificarб se ele й administrador nнvel maior que 1 e Admin RCON, Caso contrбrio retornarб false.
Operador: " ! " - Significado: NOT.
Explicaзгo: Este operador basicamente verifica se o que vocк definiu й falso, caso contrбrio executarб a funзгo:

Exemplo Pratico:

pawn Код:
if(!IsPlayerInAnyVehicle(playerid))

// Caso vocк nгo estiver em um veнculo, retornarб uma mensagem dizendo que vocк necessita estar em um veнculo para executar a funзгo, caso contrбrio, executarб normalmente a funзгo
Funзгo Lуgica "AND" - E.
Explicaзгo:Uma funзгo AND assume o valor 1 se todas as variбveis lуgicas de entrada assumirem o valor 1. Ou seja, ela й verdadeira se, e somente se, todas as variбveis de entrada forem verdadeiras. Ela й escrita para duas variбveis de entrada, A e B.

pawn Код:
Formato: S = A.B (Le-se: S Igual a A AND B ou S й Igual a A e B)
o Simbolo Utilizado para Representaзгo do Mesmo й " . "
Tabela-verdade:

Funзгo Lуgica "XOR", Tambйm chamada de Exclusive-OR ou Exclusivo.
Explicaзгo Bбsica: a Funзгo XOR permite que seja feito um teste de igualdade entre valores, por exemplo, para testar de modo rбpido se duas palavras forem iguais, caso forem iguais, as saнdas do circuito XOR serгo todas falsas.

pawn Код:
Exemplo de Operaзгo Lуgica usando XOR:

A = 0 , B = 1, Calculando: X = A xor B

Soluзгo:

A = 0 e B = 1, entгo 0 e 1 = 1
Resultado: X = A xor B = 1
Funзгo Lуgica "OR" - Ou
Explicaзгo: Uma funзгo OR assume o valor de 1 se pelo menos uma das variбveis de entrada assumir o valor 1. Ou seja, Ela й verdadeira se pelo menos uma das variбveis de entrada for verdadeira. Ela й escrita para duas variбveis, A e B.

pawn Код:
Formato: S = A + B (Le-se: S й igual a A or B ou S й igual a A ou B)
Simbolo: O Simbolo + й Usado para Representar a Operaзгo OR.
Tabela Verdade:

Funзгo Lуgica "NAND"
Explicaзгo: A Porta NAND й o circuito lуgico que executa o inverso da funзгo Lуgica AND, ou seja, a saнda apresenta nнvel lуgico 1 se pelo menos uma das variбveis de entrada assumir o valor 0.

Simbolo / Funзгo Lуgica e Tabela-verdade:



Re: Operadores Relacionais e Lуgicos - Edu33 - 08.07.2012

Muito bom velho parabйns


Re: Operadores Relacionais e Lуgicos - dPlaYer_ - 08.07.2012

Parabens Nyga.


Re: Operadores Relacionais e Lуgicos - Urubu_Rei - 08.07.2012

Parabйns Amigo, ficou muito bom!


Re: Operadores Relacionais e Lуgicos - Kon_BR - 08.07.2012

Precisa-se de muitos tutoriais explicando detalhes pequenos como este ... Eu jб tinha uma ideia do que era, mбs nгo exatamente ... Um tutorialzinho desse explicando oq e como usar funзхes identicas fica perfeito !

Nice!
Rated.


Re: Operadores Relacionais e Lуgicos - .FuneraL. - 08.07.2012

Quote:
Originally Posted by Edu33
Посмотреть сообщение
Muito bom velho parabйns
Thanks Edu

Quote:
Originally Posted by dPlaYer_
Посмотреть сообщение
Parabens Nyga.
Thanks Player :P

Quote:
Originally Posted by Urubu_Rei
Посмотреть сообщение
Parabйns Amigo, ficou muito bom!
Vlw

Quote:
Originally Posted by Kon_BR
Посмотреть сообщение
Precisa-se de muitos tutoriais explicando detalhes pequenos como este ... Eu jб tinha uma ideia do que era, mбs nгo exatamente ... Um tutorialzinho desse explicando oq e como usar funзхes identicas fica perfeito !

Nice!
Rated.
Como й o primeiro tutorial, deu pra explicar a maioria do meu conhecimento sobre o assunto


Re: Operadores Relacionais e Lуgicos - zSuYaNw - 08.07.2012

Faltou o NAND, XOR.

http://pt.wikipedia.org/wiki/Operadores_l%C3%B3gicos


Re: Operadores Relacionais e Lуgicos - paulor - 08.07.2012

Vai ajudar muitos, mais poderia ter mostrado a tabela da Verdade e dizer que os operadores sгo booleanos soh trabalham com valores verdadeiro e falso. Mais ta legal...


Re: Operadores Relacionais e Lуgicos - .FuneraL. - 08.07.2012

Quote:
Originally Posted by [Full]Garfield[XDB]
Посмотреть сообщение
Vou estudar mais sobre esses operadores, para poder tirar uma explicaзгo prуpria ficando assim melhor pra que seja um aprendizado prуprio, com um entendimento extra a passar pro restante do pessoal.

Quote:
Originally Posted by paulor
Посмотреть сообщение
Vai ajudar muitos, mais poderia ter mostrado a tabela da Verdade e dizer que os operadores sгo booleanos soh trabalham com valores verdadeiro e falso. Mais ta legal...
Thanks paulo.


Re: Operadores Relacionais e Lуgicos - rjjj - 08.07.2012

Faltou apenas o operador NOT lуgico (!) .



O XOR e o NAND, que sгo abordados no artigo que o Garfield indicou, em Pawn, nгo se encaixam na classificaзгo dos operadores lуgicos.



Espero ter ajudado .