Introducao a programacao em netlogo

Disponível somente no TrabalhosFeitos
  • Páginas : 9 (2094 palavras )
  • Download(s) : 0
  • Publicado : 2 de agosto de 2012
Ler documento completo
Amostra do texto
Introdução à programação em NetLogo
Secções do NetLogo
O netlogo está dividido em várias secções:
Interface | secção onde está disponível o aspecto gráfico e de interface da simulação |
Information | secção onde está disponível informação acerca do conteúdo do modelo e instruções de utilização |
Procedures | secção onde está disponível o código fonte do modelo |
Errors | secção ondesurgem mensagens de erro durante o desenvolvimento dos modelos |
Do ponto de vista do utilizador de um modelo, apenas interessam as secções "Interface" e "Information". Mas do ponto de vista de quem constrói o modelo, é indispensável utilizar as secções "Procedures" e os "Errors".
Em qualquer linguagem de programação os programas são constituídos por instruções que são executadas de formasequencial.
No caso do netlogo, podem-se escrever instruções directamente na linha de comandos (command center) que são executados apenas quando introduzidas no momento. Ou podem-se escrever listas de instruções (funções) na secção "Procedures" que são executadas cada vez que se pressiona um botão da secção "Interface"
Vamos começar por ver as instruções mais simples.
Crie um modelo novo selecionando"New" no menu "File".
Linha de comandos e as instruções set e ask
Escreva a instrução seguinte na linha de comandos (caixa existente na secção "Interface" com o nome de "command center"):
ask patches [ set pcolor brown ]
Repare que a caixa de simulação se tornou castanha
Escreva agora a seguinte instrução:
ask patch 0 0 [ set pcolor red ]
Note que apareceu um quadrado (célula ou patch)pintado de vermelho no centro da caixa de simulação. Vejamos como se escrevem estas instruções.
Podemos separar a primeira instrução em duas partes:
ask patches que significa "pedir às células"
set pcolor brown alterar a propriedade pcolor para castanho
O comando ask tem a forma geral de:
ask objecto [ instruções ]
instruções é a lista de uma ou mais instruções
E o comando set a forma:
setvariável/propriedade valor
Este último comando é bastante intuitivo, atribui o valor à variável ou propriedade.
Estamos agora em posição de compreender melhor a segunda instrucção usada anteriormente.
ask patch 0 0 "pedir à célula na posição 0 0" que execute a instrução set pcolor black
Experimente agora a seguinte instrução:
ask patches with [ pcolor = black ] [ set pcolor red ]
Esta é outraforma do comando ask que permite executar instruções apenas para as células que verificam a condição entre parentesis rectos a seguir à palavra with
O formato geral deste comando é:
ask objecto with [ condição ] [ instruções ]
Podem-se construir condições mais complexas com a ajuda dos operadores booleanos and,or,not (e,ou,não)
Objectos e propriedades
Escrevendo set pcolor green directamentena linha de comandos causa o seguinte erro:
ERROR: You can't use PCOLOR in an observer context, because PCOLOR is turtle/patch-only.
Isto acontece porque qualquer instrução é sempre executada do ponto de vista (contexto) de um objecto, e cada objecto possuí umas dadas propriedades.
Existem 3 tipos principais de objectos o Observer, as Turtles e as Patches. A instrução anterior dá erro porque éexecutada no contexto do Observer que não possuí nenhuma propriedade pcolor, apenas as Patches possuem essa propriedade.

Ao executar a instrução ask patches [ instruções ] as instruções são executadas do ponto de vista dos patches que, essas sim, possuem a propriedade pcolor.
Tambem algumas instruções existem apenas em determinados contextos, como o forward que existe apenas no contexto dasturtles ou o sprout que existe apenas no contexto dos patches.
para mais informações acerca das propriedades e instruções existentes para cada contexto, veja o manual de referência do netlogo que se encontra aqui
Clicando onde aparece "O >" na linha de comandos, pode-se escolher o contexto em que se executam as instruções. A utilização da tecla "Tab" é outra forma de trocar de contexto na...
tracking img