Ir para conteúdo

#1 - Aula de scripting Lua - logica de programação.


Poccnn

Posts Recomendados

aulaLogo.jpg

 

Logica de Programação

Eu sei que vocês estão cansados de saber disso, mas se faz muito necessário que tenham isso em mente.

Para se criar um programa de computador, tem que imaginar como será o programa, qual o objetivo do mesmo, O que é necessário para que ele funcione, Quais são os passos que terei que dar para fazê-lo...

São perguntas que tem que ser feitas e postas para podermos traçar um caminho que nos leve ao objetivo do programa.

Vamos entender um pouco sobre cada passo necessário para a criação de um programa.

 

 

LOGICA DE PROGRAMAÇÃO:

Logica de programação é a técnica de encadear pensamentos para atingir determinado objetivo.

Em outras palavras, tu tens que pensar em como a coisa vai ter que funcionar; O que é preciso para que ele funcione; qual é o proposito dele.

 

 

Exemplo:

 

Um carro caiu em um barranco; qual seria a melhor maneira de prestar socorro aos ocupantes do veiculo?

Retirar o veiculo? Com cordas? Não! com cabo de aço; puxando ou içando-o? Enviando uma equipe para lá?

São perguntas necessárias para se desenvolver a melhor maneira de resolver o problema; é nesse sentido que tem que pensar em logica de programação.

 

 

SEQUÊNCIA LOGICA:

Sequência logica são os passos executados até atingir um objetivo ou solução de um problema.

 

Os eventos seguem uma logica na qual um fator depende do outro. Não posso fazer um ovo mexido sem antes quebrar o ovo; primeiro quebra o ovo, põe na frigideira ao fogo com óleo, depois mexe; Pronto, saiu um ovo mexido.

 

INSTRUÇÕES.

Instruções é um conjunto de regras ou normas definidas para a realização ou emprego de algo. Em informática, é o que indica a um computador uma ação elementar a executar.

 

 

Dando um exemplo hipotético para descrever o que seja instruções:

 

Ir à padaria; saia pela rua x vá em frente, vire a direita na venda do seu zé, ande por 200 metros e a sua esquerda estará a padaria.

Todos estes conceitos podem ser descritos como um algoritmo, que devem ser seguidas para se cumprir uma determinada tarefa.

 

 

ALGORITMO:

Um algoritmo é formalmente uma sequencia finita de passos que levam a execução de uma tarefa.

 

 

Podemos pensar em algoritmo como uma receita, uma sequencia de instruções que dão cabo de uma meta especifica. Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas.

 

 

 PROGRAMA:

 Programa é uma sequência, uma lista na qual fica marcado todos os eventos do que se deve fazer.

 

Em outras palavras... Se tu queres fazer algo, tu deve seguir uma lista de afazeres para que esse algo seja feito.

 

 

Vamos criar uma lista de um evento hipotético:

         >> Vá à lanchonete.

         >> Peça um Xburger.

         >> Pague.

         >> Volte para casa.

 

 

As instruções são claras: ir a uma lanchonete comprar um lanche especifico e voltar pra casa.

Mas por trás existe uma serie de algoritmos, instruções, sequência e lógica de programação que são necessários para executar esse programa.

 

 

Descrevo aqui passo a passo como eu faço quando estou a desenvolver um código de programa:

Passo 1:

Idealizar o código. Por em minha mente o funcionamento dele por completo.

 

Passo2:

Dividir o código idealizado em partes; partes essa que se divide em requisitos e eventos.

 

Passo 3:

Traçar a melhor metodologia para confecção do script.

 

 

Vamos a um exemplo hipotético de criação de código.

Vamos criar um script para uma quest hipotética.

 

Primeiro vamos idealizar como seria essa quest:

 

O jogador terá que entrar em uma sala e enfrentar um monstro sozinho.

Opa, aparti daí nós já temos um requisito que seria impedir de outros entrarem na sala.

Esse requisito já vai para o passo dois no bloco de requisitos.

Pode haver outros requisitos à medida que vamos idealizando como seria tal quest.

Agora vamos imaginar os eventos que ocorrerão nessa quest:

 

Se já tiver alguém na sala, então impede dele entrar na sala e envia uma mensagem.

Não pode sair da sala.

Tem tempo para terminar a sala.

E etc...

 

 

Então chegamos a esse resultado:

Requisitos [ir sozinho a sala; ter level 100 ou mais; ser um druid, ...]

Eventos [impedir múltiplos jogadores na sala, impedir dele sair da sala, retira-lo da sala após 10 minutos, ...]

 

Agora tu escreves o código usando uma linguagem de programação, como lua que é o foco do nosso estudo, e cria o código para tal quest ou outra coisa que seja teu foco.

 

Tarefa:

Escrevam os eventos de um programa hipotético na qual o objetivo seja construir algo.

 

 

Inté a próxima aula e bons estudos.

aulaLogo.jpg.3c0db816bdf0a3c826fb0d2e25484fbe.jpg

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

Opa comecei chefe!

Obs: não acha melhor criar um grupo no skype para tirar duvidas?

 

 

 



-- Algoritmo Construção --

> Fazer a planta.
> Pegar Materiais
    > Se não tiver então, comprar.
> Colocar equipamentos de segurança.
    > Se não tiver equipamentos de segurança então, cancelar.
> Convocar a equipe.
    > Se a equipe faltou então, cancelar.
> Montar o alicerce.
> Começar a Construir.
    > Se faltar materiais então, comprar.
> Finalizar Construção.

 

Link para o comentário
Compartilhar em outros sites

Muito Bom, Deixo o meu abaixo:

 

// -- Algoritmo Construção -- //> Pegar Materiais > Não tem, compre.> Use Equipamento de Segurança > Não está, cancele e aparece mensagem pedindo pra colocar> Chame á Equipe > Não está, cancelar obra> Montar Alicerce> Erguer Paredes > Falta de Materias, então compre.> Finalizar Obra

 

Espero ter conseguido =):

Link para o comentário
Compartilhar em outros sites

>> Pegar Material para fazer a planta

>>Ver Quanto sao a Equip

>>Ver se eles possuem o Material certo

>>colocar o equipamento certo

>>se faltou 1 cancelar

>>começar a construir

>>Finalizar

pronto reformulei @Poccnn

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

42 minutos atrás, kttallan disse:

Obs: não acha melhor criar um grupo no skype para tirar duvidas?

Três motivos do porque nao faço grupo do Skype:

1 - o fórum foi feito para interação entre membros.

2 - não tenho tempo para ficar no skype.

3 - nem todos irão ficar conectados no sjype ao mesmo tempo.

 

Com relação a tarefa...

 

Primeiro: lógica.

que é  planta? Isso é  uma instrução ambígua, ou melhor, isso é  apenas o objetivo do código e não uma instrução. 

Seja mais direto em suas instruções como:

> obter requisitos para iniciar a planta:

 

Segundo: sequência lógica.

Para colocar equipamentos de segurança, requer-se ter alguém para o faze-lo, logo a instrução "> Convocar a equipe." Deve estar antes da instrução "> Colocar equipamentos de segurança.".

 

Terceiro: idealização.

O que seria construir? Construir o quê? 

Essas instruções não sabem qual seria o objetivo traçado.

> Montar o alicerce.

> Começar a Construir.

> Finalizar Construção. 

 

 

Link para o comentário
Compartilhar em outros sites

Agora, Poccnn disse:

Três motivos do porque nao faço grupo do Skype:

1 - o fórum foi feito para interação entre membros.

2 - não tenho tempo para ficar no skype.

3 - nem todos irão ficar conectados no sjype ao mesmo tempo.

 

Com relação a tarefa...

 

Primeiro: lógica.

que é  planta? Isso é  uma instrução ambígua, ou melhor, isso é  apenas o objetivo do código e não uma instrução. 

Seja mais direto em suas instruções como:

> obter requisitos para iniciar a planta:

 

Segundo: sequência lógica.

Para colocar equipamentos de segurança, requer-se ter alguém para o faze-lo, logo a instrução "> Convocar a equipe." Deve estar antes da instrução "> Colocar equipamentos de segurança.".

 

Terceiro: idealização.

O que seria construir? Construir o quê? 

Essas instruções não sabem qual seria o objetivo traçado.

> Montar o alicerce.

> Começar a Construir.

> Finalizar Construção. 

 

 

Thanks =):

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, America disse:

Muito Bom, Deixo o meu abaixo:

 

// -- Algoritmo Construção -- //> Pegar Materiais > Não tem, compre.> Use Equipamento de Segurança > Não está, cancele e aparece mensagem pedindo pra colocar> Chame á Equipe > Não está, cancelar obra> Montar Alicerce> Erguer Paredes > Falta de Materias, então compre.> Finalizar Obra

 

Espero ter conseguido =):

 

Idem meu comentário sobre o script do katallan.

1 minuto atrás, ZikaLord disse:
>> Andar ate x SQM (bloco,tile sla)>>Ser Teleportado para x lugar>>pegar x item>>andar ate x tile>>ser teleportado para x sala>>matar x monsters em x time>>ser teleportado a x lugar>>pegar premio>>ser teleportado para x lugar apos pegar premio

 

Não é a tarefa que eu pedi.

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

Segunda Tentativa:

 

// -- Algoritmo Construção -- //

> Pedir para o Engenheiro Civil fazer á planta
 > Pagar pela Planta, Convocar Equipe para obra e reunir materias
> Convocar á Equipe
 > Não está, cancelar obra
> Pegar Materiais
 > Não tem, compre.
> Chame á Equipe
 > Não está, cancelar obra
> Toda Equipe colocar Equipamento de Segurança
 > Não está, cancele e aparece mensagem pedindo pra colocar.
> Equipe Verificar Equipamento de Segurança
 > Não estão com Equipamento, cancelar obra
> Montar Alicerce
 > Falta de Materias, Então Compre
> Erguer Paredes
 > Falta de Materias, Então Compre
> Finalizar Obra
 > Receber Pagamento, Dividir pagamento com integrantes da equipe.

@Poccnn e agora? ta certo?

Link para o comentário
Compartilhar em outros sites

@America.

Alguns pontos que precisam ser tratados:

Desvincule tu do script.

Script não pode ser ambíguo e nem subjetivo. 

Não use termos como "pedi", use termos mais impositivos como "obter".

 

Desmembre os eventos; reunir a equipe é um evento, reunir materiais é outro.

Convocar Equipe para obra e reunir materias

Repetição do mesmo evento:

Tu chamou o evento convocar equipe três vezes seguidas.

 

Tenta fazer da seguinte forma:

Desmembra os requisitos dos eventos.

Primeiro faz uma lista do que é  preciso e depois outra lista do que será feito.

Link para o comentário
Compartilhar em outros sites

Agora, Poccnn disse:

@America.

Alguns pontos que precisam ser tratados:

Desvincule tu do script.

Script não pode ser ambíguo e nem subjetivo. 

Não use termos como "pedi", use termos mais impositivos como "obter".

 

Desmembre os eventos; reunir a equipe é um evento, reunir materiais é outro.

Convocar Equipe para obra e reunir materias

Repetição do mesmo evento:

Tu chamou o evento convocar equipe três vezes seguidas.

 

Tenta fazer da seguinte forma:

Desmembra os requisitos dos eventos.

Primeiro faz uma lista do que é  preciso e depois outra lista do que será feito.

 

OK =):

 

e agora?

 

// -- Algoritmo Construção -- //> Obter planta com Engenheiro Civil. > Pagar pela Planta.> Convocar á Equipe > Não está, cancelar obra> Obter Materiais > Não tem, compre.> Toda Equipe colocar Equipamento de Segurança > Não está, cancele e aparece mensagem pedindo pra colocar.> Verificar Equipamento de Segurança > Não estão com Equipamento, cancelar obra> Montar Alicerce > Falta de Materias, Então Compre> Erguer Paredes > Falta de Materias, Então Compre> Finalizar Obra > Obter Pagamento, Dividir pagamento com integrantes da equipe.

 

 

Link para o comentário
Compartilhar em outros sites

@America.

Não insira coisas subjetivas ou muito específicas como: pagar pela planta. Se for um engenheiro já da propria empreiteira que construirá a obra, não necessariamente será "pago" pela planta.

 

 

Use termos mais concretos, diretos e impositivos.

 

-- requisitos

> obter planta para construção. 

> obter equipe.

> obter materias.

> obter equipamentos.

 

-- eventos

> preparar terreno.

> fazer a fundação. 

> construir as paredes.

> construir o teto.

> colocar piso, portas e janelas.

> Finalizar acabamento interior e exterior.

 

Básicamente seria uma casa, Mas as instruções foram precisas.

 

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

@Poccnn

Blz

 

Terceira Tentativa

 

// -- Algoritmo Construção -- //> Obter planta > Se não tiver, cancele á obra.> Obter Equipe > Se não tiver, cancele á obra.> Obter Materiais > Não tem, compre.> Toda Equipe colocar Equipamento de Segurança > Não está, cancele e aparece mensagem pedindo pra colocar.> Verificar Equipamento de Segurança > Não estão com Equipamento, cancelar obra> Preparar terreno. > Se não preparar, cancele á obra. > Falta de Materias, Então Compre> Montar Alicerce > Falta de Materias, Então Compre   Se não erguer alicerce, cancele á obra.> Erguer Paredes > Falta de Materias, Então Compre > Se não erguer, cancele á obra.> Erguer Tetos > Falta de Materias, Então Compre > Se não erguer, cancele á obra.> Colocar Pisos > Falta de Materias, Então Compre > Se não colocar, cancele á obra.> Finalizar Acabamento Interior e Exterior > Falta de Materias, Então Compre > Se não finalizar, cancele á obra.> Finalizar Obra, Entregar á construção pronta.

 

Creio que sejá isso =):

Link para o comentário
Compartilhar em outros sites

@America.

A sequência lógica ficou boa, mas perceba como ficou exaustivo o script.

 

Repetições.

Veja quantas vezes tu usou o termo "falta de materiais".

Tu poderia ter feito isso uma única vez. 

> obter materiais para a obra.

>> não tem; obra parada.

 

Assim tu não precisa ficar repetindo o mesmo evento em cada parte do script.

Link para o comentário
Compartilhar em outros sites

Spoiler

>> Pegar Material para fazer a planta

>>Ver Quanto sao a Equip

>>Ver se eles possuem o Material certo

>>colocar o equipamento certo

>>se faltou 1 cancelar

>>começar a construir

>>Finalizar

 

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

×
×
  • Criar Novo...