Diferença de formataçao e motivos dos erros?

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

Diferença de formataçao e motivos dos erros?

Mensagem por moisesBR em Qui 12 Abr 2012, 13:25

Criei um tópico anterior, para tentar resolver um problema com minha engine(IA), e dentro desse tópico, fiz uma pergunta que deveria ser sido postada em outro tópico, pois dependendo da resposta iria ajudar muitos outros que tivessem a mesma dúvida mas nao soubessem explicar de outro modo, ou procurar Sendo assim, decidi postar este tópico, incluindo tanto a minha pergunta quanto a resposta obtida. Talvez sejam úteis e é claro, acrescentada por voces e seus pontos de vista. Nao quero ser egoísta, vamos aprender juntos!

Caso lhe interesse este é o tópico:Codigos anulando outro?
E aqui está motivo deste novo tópico (no meu caso a dúvida foi elucidada):[quote="moisesBR"](...)Queria tambem entender a diferença de formataçao e os motivos dos erros:
Código:
formato1:
se algo = isso entao faça isso
se algo = isso entao faça isso
se algo = isso entao faça isso

formato2
começo
se algo = isso entao faça isso
se algo = isso entao faça isso
fim

formato3
começo
se algo = isso entao faça isso
else
se algo = isso entao faça isso
else
se algo = isso entao faça isso
fim[/quote]
Resposta do user:
Saim escreveu:Diferença entre os formatos
1 e 2: Nenhuma
1-2 e 3: Nos primeiros casos, o código verifica cada uma das declarações "if" e, se todas forem verdadeiras, executas todas elas.
Se a execução significa definir o valor de uma variável, essa variável pode ser definida várias vezes
No terceiro caso, o código vai procurando alguma declaração verdadeira e pára assim que encontra ela, executando o que estiver dentro dela.

Por exemplo, se estiver chovendo, você define vspeed como "+5", se estiver ventando, como "-5". Note que os eventos não estão relacionados, pode ocorrer só um, ambos ou nenhum. Agora, vejamos o comportamento dos seus códigos:

Nos primeiros casos:
se chove { vspeed = 5}
se venta { vspeed = -5}
se estiver chovendo e ventando, o valor de vspeed final será -5. Não é porque não está chovendo, é porque o código passa pela chuva, define vspeed como 5, depois olha o vento e muda o valor da variável.

No último caso:
se chove { vspeed = 5}
senão, se venta {vspeed = -5}
Agora, o código faz o seguinte: se esitver chovendo, ele define vspeed pro valor de 5 e fim. Não quer mais saber do "senão". Ele diz "hm, se está chovendo... opa, está chovendo, deixa eu obedecer aqui! Pronto, que mais? Senão... ah, quero nem saber, não é o caso!". Aí, se não estiver chovendo - só se não estiver chovendo - o código prossegue e verifica se está ventando e, se estiver, define vspeed como -5.

Nos dois casos, se não estiver chovendo nem ventando, vspeed permanece como estava.
Foi isso! Nao sabia onde postar isso, entao como o assunto era de ajuda, postei aqui. Espero que isso seja útil para alguem. Vale lembrar, que esse post, pode ser acrescentado, e deve adicionar suas experiencias sobre este assunto, tal como links para tópicos relacionados. O termo que eu nao sabia era Identação!
Tomei a liberdade de colocar alguns links de posts que li sobre o assunto:
Do Pedro: Identacao nos codigos

Do Fudêncioo: [url=http://gmbr.forumeiros.com/t397-identacao-para-que-serve-e-como-usar?highlight=identa%E7ao ]identacao para que serve e como usar?[/url]

(...)Ei você! Alguem aí, sabe como colocar download do 4shared aqui sem ter que ir para o Adfly?


Última edição por moisesBR em Qui 12 Abr 2012, 14:49, editado 1 vez(es)

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Diferença de formataçao e motivos dos erros?

Mensagem por Milton_camp em Qui 12 Abr 2012, 13:32

Desculpa, vc não poderia me explicar melhor Question Eu não entendí seu tópico, mas agora fiquei com ele encucado na minha cabeça.

Milton_camp

Número de Mensagens : 20
Idade : 22
Data de inscrição : 12/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Diferença de formataçao e motivos dos erros?

Mensagem por moisesBR em Qui 12 Abr 2012, 14:53

Xi! fiz foi complicar mais as coisas! Espere um pouco ... [Ok! Editado]

Como disse; ja tinha sido respondido, mas achei por bem postar aqui, já que a pergunta fugia do tópico em questaotentando ajudar e responder também, dúvidas parecidas com a minha, postei aqui!
Veja-o para entender o contexto:
http://gmbr.forumeiros.com/t21935-diferenca-de-formatacao-e-motivos-dos-erros

Eu desejava saber se o modo de dispor os mesmos códigos, mudava alguma coisa na execuçao, e o Sain me mostrou que sim! No meu exemplo coloquei algo assim tipo uma traduçao:

O normal seria:
if (keyboard_check(vk_rigth)) then {move_toyard_point(5,0,sprite)}
Traduzido:
se (pressionar (seta para direita)) entao {move(5 pixeis para a dieita)}

Entao minha duvida era se ao mudar ou acrescentar marcadores no mesmo codigo mudava algo, e assim fiz meu exemplo mais resumido, traduzido (tem um termo para isso... lógica?):
(Obs: nao tente colocar isso é só um exemplo, uma traduçao)

Modo de montar o codigo1 (normal como eu usava):
Código:
Se teclo algo, entao faz isso!
Se teclo algo, entao faz isso!
Se teclo algo, entao faz isso!
Modo de montar o codigo2 (adicionando begin e end = começo e fim):
Código:
begin
Se teclo algo, entao faz isso!
Se teclo algo, entao faz isso!
Se teclo algo, entao faz isso!
end
Modo de montar o codigo3 (acrescentando else = "ou"):
Código:
começo
Se teclo algo, entao faz isso!
  ou
      Se teclo algo, entao faz isso!
        ou
              Se teclo algo, entao faz isso!
fim
É isso! Percebi neste exato momento que, tem sim, algo a ver com o contexto do outro tópico! Pois meu problema era justamente o codigo cancelando outro o qual era do tipo do exemplo 3!

Entendi que:
E que no exemplo 1 e 2 o resultado é o mesmo!
e no exemplo 3, só o primeiro comando verdadeiro é reconhecido! É isso.

"Arguem!!! Sarva ieu aí! Ajudi ieu ixpricá!!!!"


Última edição por moisesBR em Qui 12 Abr 2012, 15:05, editado 1 vez(es) (Razão : corrigindo algo)

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Diferença de formataçao e motivos dos erros?

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


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