Ir para conteúdo

[aula 1] lógica de programação


Caronte

Posts Recomendados

ipcgUqq.pnglua.gif
Aula - Lógica de programação
fala pessoal, essa aula é a primeira do conjunto que estarei criando para ensinar programação através da linguagem LUA, e depois, aprender como aplicar no tibia. 
 
as informações apresentadas a seguir são fundamentais para o apropriado entendimento da logica de programação, porém...
Caso você esteja buscando a parte mais prática, pule para: Criando Algoritmos
 
     Sem mais delongas, precisamos entender o que é o conceito de lógica de programação, 
Lógica está contida em um conjunto de atitudes/eventos que tem um sentido por trás, lógica pode tomar várias formas e definições, porém, a que vamos aprender é Lógica de Computador, ela é EXTREMAMENTE necessária para você poder criar scripts, e programar códigos de qualquer tipo e linguagem. A lógica de computador não pode ser argumentada, essa lógica tudo é ou não é, não existe o meio termo ou argumento, ela pode ser entendida na Lógica de Aristóteles com a lei da não contradição, ou é verdadeiro, ou falso.
 
    Nós somos quase totalmente diferentes de máquinas, apesar do nosso cérebro funcionar também por eletricidade, a voltagem é fraca e ele não depende só de eletricidade, mas isso não vem ao caso, o que interessa é a nossa maneira de pensar e agir, aí sim, é totalmente diferente de um computador, Porque Será?
 
    Ao pensarmos, nosso cérebro trabalha no consciente e inconsciente, alguns cientistas acreditam que a decisão acontece já no inconsciente, através de experiências já vividas e considerações, ou seja, você não sabe que seu cérebro já tomou a decisão, até ficar consciente dela (não acredito 100% nisso, essa informação não tem muita base, tem deduções), mas o que temos que entender é que a gente avalia de acordo com o nosso conhecimento já adquirido, e por meio disso, a decisão é tomada através do nosso conhecimento de certo ou errado, e a decisão não precisa ser exata.
 
   Já o computador trabalha através de instruções de linguagens não sofisticadas (códigos de máquina, exemplo: código binário, 0 ou 1), algo que é praticamente incompreensível para os humanos (se não fosse compreensível, não existiria computador), por causa da dificuldade de programar em código de máquina foi criada uma linguagem chamada Assembly que torna muito mais fácil programar, e depois dessa linguagem, foram criadas outras mais sofisticadas.
 
Criando Algoritmos.
 
   Agora o que precisamos entender é que a nossa maneira de pensar na resolução de problemas é diferente de como devemos escrever para um computador entender, o computador é muito mais burro na hora de interpretar as ideias, pois ele não tem quase nada para se basear além das suas instruções.
 
   Para explicar, vou criar um algoritmo simples para mandar um humano fazer uma determinada tarefa, comprar pão, e depois, vou explicar porque um computador não pode usar o mesmo algoritmo.
 
Vou usar os seguintes substantivos:

  • Pão
  • Dinheiro
  • Troco
  • Casa
  • Padaria
  • Compra

Vou usar os seguintes verbos:

  • Pegar
  • Ir / Voltar
  • Fazer
  • Dar

Essas são as palavras chaves.
Os verbos numa linguagem normal são geralmente chamados de Sintaxe (ou parte dela), ela é quem dirige a logica, e que faz o script ter sentido.
 
     Já os substantivos são dados valiosos, são variáveis! , variável é uma incógnita sobre o qual você tem controle, e sabe o valor , ela serve para você resumir dados e guardar, vão ser muito usadas se você quiser programar bastante, ela ajuda a identificar dados, e tornar o programa mais legível.  
 
Vamos ao algoritmo:
 
7jl7PSq.png
 
       Bom, uma tarefa com instruções tão gerais não poderia ser seguida por um computador. A menos que sejam funções, porém isso não é assunto para agora. O fato é que essas instruções são bem mais do que a quantidade necessária para um humano, você pode falar: “Vá à padaria comprar pão”, e ele irá executar perfeitamente.
 
      Porém, se você quer dar um algoritmo de como ir para a padaria para um computador executar terá que ser bem mais específico e falar todas as tarefas que ficam subentendidas para um humano, mas que não são nem um pouco claras para um computador.
 
      Para o computador entender algo parecido do que o humano entende, seria necessária muita inteligência artificial, o que não contamos quando vamos programar em LUA, novamente falo, o computador é burro.
 
   Agora vamos ao algoritmo mais próximo do que um computador precisa, vamos precisar adicionar mais termos ao nosso vocabulário:
 
Expressões condicionais:
 
3dMreHg.png
E alguns verbos e termos a mais. Vamos ao algoritmo:
 
8cLnRVI.png
 
      As expressões condicionais servem para verificar antes de fazer alguma tarefa, assim, evitamos possíveis erros, por exemplo, caso não tenha dinheiro! Se você mandar o computador pegar o dinheiro e o valor dinheiro não existe, irá gerar erros no seu script.
      Expressões condicionais não servem somente para verificar, servem para selecionar também, por exemplo, uma Quest que precise de level 20 para entrar. 
ItPlq32.png
 
      Esse algoritmo acima já dá uma parte de script, se escrito como LUA.
A expressão condicional que acabei de passar é considerada fácil, mas para uma Quest é simplesmente isso e mais algumas coisas simples.
 
     Bom, esse é o final da aula de algoritmos, gostaria de saber se fui claro em relação ao tutorial e se alguma coisa passou despercebida que merece alguma atenção a mais, assim posso editar o tópico para ficar melhor.
 
Exercício:
xWNan0f.png
 
Resposta:

Spoiler

 

Se o Player tem esse item, então:    Remova esse item,    Dê aquele item,Senão:    Dê mensagem de erro,Fim. 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

primeiramente quero agradecer pela essa belíssimas aulas que vc estará postando :D vou acompanhar todas :D

Caronte, fiz assim.

n sei se ficou muito certo kk :thinking:

 

 

 
Spoiler

 


Se o player tiver o item 2160,
Então remova-o e adicione 2159,
Senão: Dê mensagem de erro,
Fim.

 


 

 

Link para o comentário
Compartilhar em outros sites

 

 

se o jogador tiver itemX então
   Remove itemX e adicione itemY
caso contrario
envie uma mensagem para ele dizendo: Você não tem itemX
finalize
 

 

 

 

 

uma coisa eu sei é mais facil para quem entende um pouco do ingles :v

Editado por valakas
Link para o comentário
Compartilhar em outros sites

Aewhooo começou as aulas com o sensei caronte :


 

Spoiler


Inicio        Se player tiver itemX Então:        player recebe itemN        remove itemX de player    Senão:        player recebe mensagem de erro    FimFim 

 


 

 

Link para o comentário
Compartilhar em outros sites


Bom, já faz tempo que n faço scripts em LUA, então creio que tenha uma ou outra coisa errado kkk

Spoiler


if getPlayerItem(cid, x) >= 1 then    doPlayerRemoveItem(cid, x, 1)    doPlayerAddItem(cid, y, 1)else    doPlayerSendCancel(cid, "Você não tem este item")end

 


 

Obs: Eu sei que era pra fazer um algoritmo, mas não sou mt bom em algoritmos sem uma linguagem e comandos definidos kkkkkkkkkkkkkkkkkkkkk (n tenho paciência kkkk)

Link para o comentário
Compartilhar em outros sites

Essa era a Logica?
Aqui esta meu "Algoritimo"

 

Se o Player tiver O ItemA:

Ele recebe o ItemB
Senão:
Da mensagem de erro

 



Em Script

 

 

 

if getPlayerItem(cid, A) >=1 then
doPlayerRemoveItem(cid, A,1)
doPlayerAddItem(cid, B, 1)
else
doPlayerSendCancel(cid, "Voce não tem o ItemA")
end

 

 

Editado por Str00per
Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...