[Carlos - Tutorial] Operadores Relacionais.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Qualidade [Carlos - Tutorial] Operadores Relacionais.

Mensagem por Carlos L. em Qui 07 Abr 2011, 14:14

Nome: Operadores Relacionais.
Descrição: Uma breve explicação sobre "Operadores Relacionais".
Nível de dificuldade: Iniciante.
Requerimentos: Game Maker 8.

O que são "Operadores Relacionais"?

  • Operadores Relacionais como o próprio nome cita, é a relação entre seus operandos onde essa relação dará uma expressão lógica, mas ai você me pergunta "O que são operandos?".
    Operando e um dos argumentos de uma relação.
NOOOOOSSA, não entendi nada! Veja a imagem que da para entender melhor.

OBS.: Operadores Relacionais também são Operadores Binários, pois, eles atuam sobre dois operandos.

Agora que já sabemos o que são operadores relacionais vamos ver quais são eles.

  • Diferença (<> ou !=):
Esse operador verifica se dois "operandos" são diferentes caso essa verificação seja verdadeira ele resultará em um comando definido pelo programador.
// Exemplo do uso do operador de diferença.
var i, j; // Declara-se as variáveis.
i = 12;// Atribui-se um valor a elas.
j = 11;

if (i <> j) then // Faço a comparação e caso ela retorne um valor verdadeiro executa uma ação.
{
draw_set_halign(fa_center); // Alinha o texto ao cento na horizontal.
draw_set_valign(fa_center); // Alinha o texto ao cento na vertical.
draw_text(room_width / 2, room_height / 2, 'i <> j'); // Desenha o texto no centro da tela.
}

Entendendo o que foi feito:
Declara-se as variáveis e atribui-se um valor a cada uma das duas, no caso acima(12, 11), agora vem a relação entre seus operandos que no caso acima pergunta se elas são diferentes, como a expressão e verdadeira(comparação resulta em um resultado lógico) ele mostrará uma mensagem na tela.


  • Menor que(<):

Esse operador verifica se o primeiro operando e menor que o primeiro, caso sim resultará em uma ação.
// exemplo do uso do operador menor que.
var i, j;
i = 10;
j = 11;

if (i < j) then
{
draw_set_halign(fa_center);
draw_set_valign(fa_center);
draw_text(room_width / 2, room_height / 2, 'i < j');
}

Entendendo o que foi feito:
Declara-se as variáveis, executa-se a checagem entre as mesmas caso o resultado seja verdadeiro mostra o resultado na tela, que foi o caso acima.


  • Maior que(>):

Esse operador é o contrario do operador < (menor que), nesse caso ele verifica se o primeiro operando e maior que o primeiro, caso sim resultará uma ação.
// exemplo do uso do operador maior que.
var i, j;
i = 11;
j = 10;

if (i > j) then
{
draw_set_halign(fa_center);
draw_set_valign(fa_center);
draw_text(room_width / 2, room_height / 2, 'i < j');
}

Entendendo o que foi feito:
Declara-se as variáveis, executa-se a checagem entre as mesmas caso o resultado seja verdadeiro mostra o resultado na tela, que foi o caso acima.


  • Menor ou igual a (<=) e Maior ou igual a(>=):

Esses operadores irão executar uma checagem, que no caso do menor ou igual a verificará se uma declaração citada e menor ou igual a outra declaração, e depois executará um comando.
Já no caso do maior ou igual a que ele irá fazer o contrário do menor ou igual a, ou seja, ele verificará se uma primeira declaração e maior ou igual a uma segunda, para depois executar um comando. Observe que ambas as sentenças resultará em um resultado lógico.

//Exemplo do Operador Menor ou igual a.
var i, j;
i = 11;
j = 12;

if (i <= j) then
{
draw_set_halign(fa_center);
draw_set_valign(fa_center);
draw_text(room_width / 2, room_height / 2, 'i <= j');
}
//Exemplo do Operador Maior ou igual a.
var i, j;
i = 12;
j = 12;

if (i >= j) then
{
draw_set_halign(fa_center);
draw_set_valign(fa_center);
draw_text(room_width / 2, room_height / 2, '>=');
}


Entendendo o que foi feito:
Nos dois casos ele checou o resultado das variáveis no caso da primeira se era menor ou igual, e no caso da segunda se era maior ou igual, e posteriormente executou uma ação.


  • Igualdade(= ou ==):

Por fim nós temos o sinal de igualdade cujo nome dispensa qualquer explicação, pois ele verifica se ambas as declarações são iguais.

var i, j;
i = 12;
j = 11;

if (i == j) then
{
draw_set_halign(fa_center);
draw_set_valign(fa_center);
draw_text(room_width / 2, room_height / 2, 'i == j');
}

Entendendo o que foi feito:
Nesse caso o programa lê as variáveis verifica as variáveis e caso elas forem iguais mostra o resultado na tela.
OBS.: Caso você for fazer uma declaração nunca se esqueça de usar o (=), pois o (==) e mais usado para fazer comparação entre valores, variáveis distintas

Ufa terminei, e isso a e pessoal espero que gostem foi uma explicação breve que creio eu que poderá ajudar alguém.

Edit.: Adicionado a legenda no primeiro exemplo, explicando o código, não adicionei em todos, pois eles são iguais a única coisa que muda é a comparação feita, e também adicionei a observação sobre o uso das igualdade.



Última edição por Carlos L. em Qua 20 Abr 2011, 09:21, editado 4 vez(es)

Carlos L.

Ranking : Nota C
Número de Mensagens : 270
Data de inscrição : 26/09/2010
Notas recebidas : C
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: [Carlos - Tutorial] Operadores Relacionais.

Mensagem por Alex FC em Qui 07 Abr 2011, 19:16

Ótimo tutorial, o que falta para o pessoal é entender lógica. É o que estava faltando. Só acho que os exemplos deviam ser mais simples. Mas ok, esta muito bom.

Creio que o pessoal vai gostar muito, Good job man!

FLWS!


Última edição por Alex FC em Qui 07 Abr 2011, 22:34, editado 1 vez(es)

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Qualidade Re: [Carlos - Tutorial] Operadores Relacionais.

Mensagem por .:Allison:. em Qui 07 Abr 2011, 19:24

Eu concordo com o AlexFC, se eu fosse iniciante eu não entenderia nada, está muito complicado.

.:Allison:.

Ranking : Nota B
Número de Mensagens : 630
Idade : 20
Data de inscrição : 25/07/2010
Notas recebidas : B
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://clubmaker.forumeiros.com

Voltar ao Topo Ir em baixo

Qualidade Re: [Carlos - Tutorial] Operadores Relacionais.

Mensagem por Super Games em Qui 07 Abr 2011, 21:49

Desculpa dizer, mas não entendi nada sobre está coisa de Operadores Relacionais, alguém pode explicar um pouco mais?

Super Games

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: [Carlos - Tutorial] Operadores Relacionais.

Mensagem por vinians em Qui 07 Abr 2011, 21:59

Alex FC escreveu:Ótimo tutorial, o que falta para o pessoal é entender lógica. É o que estava faltando. Só acho que os exemplos deviam ser mais simples. Mas ok, esta muito bom.

Creio que o pessoal vai gostar muito, Good job man!

Edit:

O GM não aceita (dependendo do caso) "==", destaque isso no tutorial. Vlw?

FLWS!
O GM sempre aceita '==' desde que seja usado como operador relacional (relação de igualdade). Para atribuição sempre use o '='. Mesmo que o '==' não seja obrigatório, ele facilita e leitura do código pois diferencia uma relação de uma atribuição.

Quanto ao tutorial está ótimo. Ficou bem formatado e bem simples de entender. Você pode inclusive fazer uma sequência de tutoriais relacionados a GML pois embora já existam muitos tutoriais desse tipo nunca são demais, pois uma pessoa pode não entender a didática de outro tutorial e entender a sua e vice-versa.
Flws!

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Qualidade Re: [Carlos - Tutorial] Operadores Relacionais.

Mensagem por Alex FC em Qui 07 Abr 2011, 22:33

Falha minha. Testei com uma sprite, por isso não funciono.
spr==spr_morto
Sorry tonto

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Qualidade Re: [Carlos - Tutorial] Operadores Relacionais.

Mensagem por Carlos L. em Sex 08 Abr 2011, 05:46

Alex FC escreveu:Ótimo tutorial, o que falta para o pessoal é entender lógica. É o que estava faltando. Só acho que os exemplos deviam ser mais simples. Mas ok, esta muito bom.

Creio que o pessoal vai gostar muito, Good job man!

Edit:

O GM não aceita (dependendo do caso) "==", destaque isso no tutorial. Vlw?

FLWS!

Opa primeiramente valeu pelos comentários, também acho que o pessoal poderia dar uma estudada em lógica, fazer um escopo do que quer antes de começar um jogo, um programa para não se perder. Sobre os exemplos eu procurei simplificar ao máximo vou adicionar uma legenda nas funções para o pessoal entender melhor.
E no caso dos sinais foi que eu esqueci de adicionar a observação mais também já vou endireitar.

X-Games escreveu:Eu concordo com o AlexFC, se eu fosse iniciante eu não entenderia nada, está muito complicado.

Eu particularmente não achei que ficou complicado mais como falei acima vou colocar umas legendas para o melhor entendimento do pessoal.

Super Games escreveu:Desculpa dizer, mas não entendi nada sobre está coisa de Operadores Relacionais, alguém pode explicar um pouco mais?

Opa isso não tem segredo e só a manipulação do sinal correto para chegar a um resultado final. Por exemplo.

if (distance_to_point(500, 80) > 20) then
{
// Executa uma ação;
}

Ou seja quando estiver a uma posição maior do que 20 dos pontos citados ele executa uma ação, simples e fácil. Do mesmo jeito que usei o maior poderia usar qualquer um dos operadores relacionais para obter resultado desejado.

vinians escreveu:
Alex FC escreveu:Ótimo tutorial, o que falta para o pessoal é entender lógica. É o que estava faltando. Só acho que os exemplos deviam ser mais simples. Mas ok, esta muito bom.

Creio que o pessoal vai gostar muito, Good job man!

Edit:

O GM não aceita (dependendo do caso) "==", destaque isso no tutorial. Vlw?

FLWS!
O GM sempre aceita '==' desde que seja usado como operador relacional (relação de igualdade). Para atribuição sempre use o '='. Mesmo que o '==' não seja obrigatório, ele facilita e leitura do código pois diferencia uma relação de uma atribuição.

Quanto ao tutorial está ótimo. Ficou bem formatado e bem simples de entender. Você pode inclusive fazer uma sequência de tutoriais relacionados a GML pois embora já existam muitos tutoriais desse tipo nunca são demais, pois uma pessoa pode não entender a didática de outro tutorial e entender a sua e vice-versa.
Flws!

Opa grande vinians eu tinha esquecido de postar esse pequeno detalhe mais como falei vou dar um edit para o pessoal.
Sobre a formatação eu gosto das coisas bem formatadas pois eu acho que a organização e tudo principalmente em um tutorial onde sem uma boa escrita e uma boa formatação o assunto pode ser o melhor do mundo mais ninguém vai entender.
Sobre a sequência de tutoriais tenho que ver pois esse ano tenho vestibular e tenho que estudar pois quero passar, mais creio eu que de para tentar postar um tutorial a cada semana.


flw

Carlos L.

Ranking : Nota C
Número de Mensagens : 270
Data de inscrição : 26/09/2010
Notas recebidas : C
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: [Carlos - Tutorial] Operadores Relacionais.

Mensagem por Conteúdo patrocinado Hoje à(s) 03:03


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum