Últimos assuntos
» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

» Ajuda para mecanismo do jogo
por Willy Dom 16 Jul 2017, 15:54

Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220918 mensagens em 30411 assuntos

[TRFN]Lógica de Programação

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

[TRFN]Lógica de Programação

Mensagem por TRFN em Dom 03 Fev 2013, 01:02

Sobre o tutorial

Esse tutorial foi desenvolvido por mim na tentativa de ajudar aqueles que não compreendem muito bem a programação e como ela funciona. Espero que gostem do tutorial. Esse tutorial está baseado naquilo que aprendi ao longo do tempo buscando conhecimento. Esse tutorial está mais voltado ao Game Maker , porém decidi escreve-lo de forma que fosse possível abranger para outras formas de programar. Vale lembrar que aqui não estou ensinando comandos para programar , mas sim estou tentando mostrar a essência básica dessa arte.

Conceito Inicial

Na programação , existe um raciocínio , cujo é desenvolvido encima de um sistema pre-definido combinado a um leque de opções que dispõe a você. Existem incontáveis formas de raciocínio lógico , logo , na programação é a mesma coisa , já que cada programador tem sua forma/metodologia para trabalhar. Mas tem uma coisa em comum que todo programador
segue : a lógica de programação. Essa lógica-base é uma forma de pensar , que trabalha segundo sua necessidade. Essa lógica não tem formula mágica que a traduz , mas sim algumas regras para a projeção dela. Vale lembrar que a programação está diretamente ligada a matemática.

Lógica Básica

Em toda linguagem de programação você terá um princípio essencial : estruturas condicionais. Temos por exemplo o IF (SE) que serve para checar uma condição e executar determinada ação. Mas o meu foco não é ensinar sobre cada uma delas , pois já tem tutoriais bem mais explicados sobre cada estrutura , e por isso , vou apenas mostrar a lógica estrutural.

Geralmente você deve pensar em eventos e reações. Como por exemplo :

Estou sem camisa para sair. Comprei uma camisa, vou vestir ela. Se estou vestido com uma
camisa bonita e nova posso ir para festa. Se eu não tiver uma camisa bonita não vou a festa, vou ficar em casa.


Nesta frase aleatória que fiz , eu defini um ponto inicial , defini os acontecimentos e as reações/condições. Observe :

1. Estou sem camisa para sair.
2. Comprei uma camisa , vou vestir ela.
3. Se estou vestido com uma camisa bonita e nova posso ir para festa.
4. Se eu não tiver uma camisa bonita não vou a festa , vou ficar em casa.


Ou seja , esse raciocínio de acontecimentos é a essência de programar. Ai está o macete , pensar em eventos que podem sofrer uma reação ocasionada por uma condição ou acontecimento , as vezes até mesmo como uma reação em cadeia. O resto é apenas variação de funcionalidades... Nada que um breve estudo da linguagem de seu interesse não resolva. Esse exemplo pode ser facilmente transformado em uma estrutura condicional simples (SE) já que tem uma sequencia completa.

1 = Ponto inicial.
2 = Fato que pode ocorrer.
3 = Se esse determinado fato ocorrer , faço isso.
4 = Senão , faço aquilo.


Bom , como já falei um pouco da lógica , vou dar um exemplo de sua aplicação , mostrando de uma forma mais clara :

Código:
DECLARA a; // Ponto inicial.
DEFINE "a" PARA "1"; // Comprei a camisa (exemplo).

SE ("a" FOR IGUAL A "1") {
    vou_na_festa; // Se estou vestido com uma camisa bonita e nova posso ir para festa
    }

SENÃO {
    fico_em_casa; // Se eu não tiver uma camisa bonita não vou a festa , vou ficar em casa.
    }
E essa mesma lógica tem uma forma de realização/aplicação , ou seja , toda condição que faça sentido é possível , como mostra o exemplo acima. Essa aplicação se abrange até mesmo as estruturas condicionais repetitivas (PARA , ENQUANTO , ESCOLHA , etc...). Não há limite condicional , mas vale lembrar que está estrutura formulada por você tem que fazer um sentido , por exemplo você não pode criar uma condição onde você diz e contra-diz ao mesmo tempo o que está analisando, porque senão essa estrutura condicional será inválida.

Comandos

Cada uma das plataformas tem seus comandos específicos , sua organização própria e sua metodologia particular , e logo , cada linguagem tem seus comandos próprios e suas funções próprias nas quais sempre resultam na mesma. Os comandos podem ser considerados referências , para executar ações pre-determinadas. No Game Maker por exemplo temos funções , que servem para executar ações (internas ou externas) ou orientar objetos. O mais importante e que você use esse conjunto de comandos em harmonia com a sua metodológica forma de programar/trabalhar.

Algumas dicas

Quando fores programar , lembre-se sempre que você deve pensar em acontecimentos antes de tudo , porque se não há ação não há analise e consequentemente não há reação. Tudo é feito em uma ordem retilínea. Uma dica é também assimilar algumas palavras em português para inglês ou linguá que sua plataforma de trabalho exige. "Mover" por exemplo é "move" no inglês e escrevendo "move" abre-se uma sequencia de comandos que você pode utilizar dentro do Game Maker por exemplo. Vale lembrar que obter essa "lógica ao programar" não é do dia para noite , depende de cada um , pois cada um tem seu modo de fazer arte.

Outra coisa que é fundamental é que você tenha organização , porque senão você pode se perder dentro do seu próprio raciocínio. Já aconteceu comigo por exemplo.

Não aprofundei muito não , porque minha meta era apenas mostrar a base da programação. Não falei de TRUE ou FALSE , VARS ou CONSTANTS pelo fato de já conter tutoriais bem explicados aqui no fórum , apenas mostrei o trabalho mental que existe por traz desses comandos pre-definidos.

Curiosidades

Você sabia que as estruturas condicionais podem ser transformadas em formulas aritméticas segundo a matemática de bool ? Por exemplo , as estruturas condicionais tem seus conectivos em todo caso , seja ele "=" , "&&" (e) , "||" (ou) , ">" (maior que) , "<" (menor que) , "!" (não). Vou mostrar a formula de cada uma na matemática :

"=" : A - B (se resultar zero , continua);

"&&" : A * B (Se resultar um , continua);

"||" : A + B (Se algum dos valores for um , continua);

">" : A - B (Se resultar positivo , continua);

"<" : A - B (Se resultar negativo , continua);

"!" : A (Se era positivo passa a ser negativo e vice-versa);

Escrito por Túlio Rodrigues de Freitas Nascimento


Até mais ver galera Happy


Última edição por TRFN em Sex 01 Mar 2013, 10:01, editado 17 vez(es)
avatar
TRFN

Ranking : Nota C
Notas recebidas : C
Data de inscrição : 16/01/2012
Número de Mensagens : 970
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 2

Ver perfil do usuário http://trfnsite.com

Voltar ao Topo Ir em baixo

Re: [TRFN]Lógica de Programação

Mensagem por theguitarmester em Dom 03 Fev 2013, 01:25

o Tutorial é bom, porém ele é MUITO curto, mal comecei a ler e já acabei, ele não explica muita coisa, apenas como aplicar a lógica, só que, isso é algo que é relativamente até fácil, não demorei muito a aprender esta lógica, mas do mais, é sempre bom ver um outro ensino similar(via alguns).



---eu queria um Tutorial de Lógica de IA, melhor, se for de Luta, mas um avançado Smile.
avatar
theguitarmester

Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1

Prêmios
   : 2
   : 2
   : 1

Ver perfil do usuário http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: [TRFN]Lógica de Programação

Mensagem por TRFN em Dom 03 Fev 2013, 01:32

Complementei ele e obrigado por ler. Esse tutorial é só para dar uma base , porque tem muita gente que não tem e se frusta ao programar. É só para estender o entendimento do assunto para os experientes e alavancar aquele que nunca teve contato ou não tem afinidade com essa questão.



Última edição por TRFN em Dom 03 Fev 2013, 02:04, editado 1 vez(es)
avatar
TRFN

Ranking : Nota C
Notas recebidas : C
Data de inscrição : 16/01/2012
Número de Mensagens : 970
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 2

Ver perfil do usuário http://trfnsite.com

Voltar ao Topo Ir em baixo

Re: [TRFN]Lógica de Programação

Mensagem por theguitarmester em Dom 03 Fev 2013, 01:48

Gostei dessa ultima parte, não havia pensado muito nessa lado de transformar em mátemática os sinais.
avatar
theguitarmester

Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1

Prêmios
   : 2
   : 2
   : 1

Ver perfil do usuário http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: [TRFN]Lógica de Programação

Mensagem por TRFN em Sex 01 Mar 2013, 10:01

@theguitarmester escreveu:Gostei dessa ultima parte, não havia pensado muito nessa lado de transformar em matemática os sinais.
E por isso que eu acho que a lógica vem antes de saber os comandos. Entender com o que se trabalha e fundamental para qualquer tipo de linguagem de programação. Primeiro a lógica , depois a adaptação.

avatar
TRFN

Ranking : Nota C
Notas recebidas : C
Data de inscrição : 16/01/2012
Número de Mensagens : 970
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 2

Ver perfil do usuário http://trfnsite.com

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