Programación en Netlogo Integrantes Edwin Maza Mayra Montalván 03/06/09 Simulcaión de Sistemas
PROCEDIMIENTOS: <ul><li>En NetLogo existen dos métodos de comunicación con los agentes: los  comandos  y los  reporters . ...
PROCEDIMIENTOS: <ul><li>Los comandos y reporters que vienen construidos en NetLogo se llaman primitivas, mientras que aque...
Procedimientos con entradas <ul><li>Para crear un procedimiento que acepta argumentos de entrada basta incluir una lista c...
Procedimientos con entradas <ul><li>que hará que cada tortuga dibuje un octógono de lado igual a su identificador.  </li><...
Procedimientos de Tipo Reporter <ul><li>Para definir un reporter se sigue un método similar a los procedimientos normales,...
VARIABLES <ul><li>Las variables en NetLogo, como en cualquier lenguaje de programación, son objetos que nos permiten almac...
VARIABLES <ul><li>Además, en NetLogo existen variables que dependen de los agentes. La diferencia principal entre estas va...
Definir variables <ul><li>Una forma directa de definir variables globales se realiza por medio de la inclusión de selector...
Definir variables <ul><li>Por ejemplo: </li></ul>03/06/09 Simulcaión de Sistemas turtles-own lista-variables patches-own l...
Lectura y modificación <ul><li>En general, para acceder al valor de una variable basta usar su nombre (el uso de las varia...
Lectura y modificación <ul><li>Las variables globales, como hemos dicho, son accesibles en cualquier momento por cualquier...
Variables Locales <ul><li>Una variable local se define y usa en el contexto de un procedimiento particular o una parte suy...
Upcoming SlideShare
Loading in...5
×

Programacion Netlogo

4,481

Published on

Published in: News & Politics, Business
1 Comment
0 Likes
Statistics
Notes
  • Necesito hacer un programa en netlogo que de un archivo .doc me tome una lista de numeros y dependiendo del numero se impriman los patches de un color diferente
    ejemplo: 1=red, 2=blue, 3=green, 4= yellow
    me podrian ayudar??
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
4,481
On Slideshare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
82
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Programacion Netlogo

  1. 1. Programación en Netlogo Integrantes Edwin Maza Mayra Montalván 03/06/09 Simulcaión de Sistemas
  2. 2. PROCEDIMIENTOS: <ul><li>En NetLogo existen dos métodos de comunicación con los agentes: los comandos y los reporters . Un comando es una acción que el agente debe llevar a cabo, mientras que un reporter calcula un valor y lo devuelve. </li></ul><ul><li>Normalmente, en el lenguaje de NetLogo suelen diferenciarse ambos por el tipo de palabra usada. Así, habitualmente los comandos empiezan con verbos (son acciones, tales como create, die, jump, inspect, clear ), mientras que los reporters son nombres o frases. </li></ul>03/06/09 Simulcaión de Sistemas
  3. 3. PROCEDIMIENTOS: <ul><li>Los comandos y reporters que vienen construidos en NetLogo se llaman primitivas, mientras que aquellos que define el usuario para un modelo concreto se llaman procedimientos. Cada procedimiento se define por un nombre precedido de la palabra clave to y acaba con la palabra clave end. </li></ul><ul><li>Tanto los comandos como los reporters pueden recibir entradas que puede usar para llevar a cabo la acción o cálculo que desarrolla. </li></ul><ul><li>En NetLogo debes especificar qué conjunto de agentes debe ejecutar cada comando, en caso contrario, el sistema presupone que el comando debe ser ejecutado por el observador. Hay comandos (como ca y ctr ) que solo pueden ser ejecutados por el observador, otros (como fd solo por las tortugas, y otros (como set ) que pueden ejecutarlos todos los tipos de agentes. </li></ul>03/06/09 Simulcaión de Sistemas
  4. 4. Procedimientos con entradas <ul><li>Para crear un procedimiento que acepta argumentos de entrada basta incluir una lista con los nombres con los que se usarán en su ejecución tras el nombre del procedimiento. Por ejemplo: </li></ul><ul><li>Una vez definido, en cualquier otra parte del código del mismo modelo puedes usar el procedimiento definido, por ejemplo: </li></ul>03/06/09 Simulcaión de Sistemas to dibuja-poligono [num-caras longitud] pd repeat num-caras [ fd longitud rt (360 / num-caras)] end
  5. 5. Procedimientos con entradas <ul><li>que hará que cada tortuga dibuje un octógono de lado igual a su identificador. </li></ul>03/06/09 Simulcaión de Sistemas ask turtles [dibuja-poligono 8 who]
  6. 6. Procedimientos de Tipo Reporter <ul><li>Para definir un reporter se sigue un método similar a los procedimientos normales, salvo que se usa el comando to-report para su definición, y en el cuerpo del procedimiento se usa el comando report para devolver el valor requerido. Por ejemplo: </li></ul>03/06/09 Simulcaión de Sistemas to-report valor-abs [numero] if-else numero >= 0 [report numero] [report 0 - numero] end
  7. 7. VARIABLES <ul><li>Las variables en NetLogo, como en cualquier lenguaje de programación, son objetos que nos permiten almacenar valores (como números, texto, etc.). Normalmente, cuando estamos trabajando en un lenguaje de programación que admite la definición de programas por medio de un conjunto de procedimientos y funciones, las variables se distinguen entre: </li></ul><ul><li>GLOBALES: cuando se definen al principio del programa y todos los procedimientos y funciones que lo componen pueden acceder al contenido de la variable para leerlo o para modificarlo; y </li></ul><ul><li>LOCALES: cuando se definen para un procedimiento o función en particular y solo se puede acceder a ella por medio del código de ese procedimiento </li></ul>03/06/09 Simulcaión de Sistemas
  8. 8. VARIABLES <ul><li>Además, en NetLogo existen variables que dependen de los agentes. La diferencia principal entre estas variables y las globales es que si una variable es global, existe un único valor de la misma, pero si una variable es de agente (o patch), entonces para cada uno de los agentes la variable puede tener un valor distinto (por ejemplo, la variable sexo que definimos en el ejemplo de introducción al sistema). </li></ul><ul><li>El sistema viene ya con algunas variables definidas para los agentes, por ejemplo, la variable color que almacena en las tortugas el color que muestra, o su equivalente pcolor para los patches (suele ser habitual que las variables con significado común entre tortugas y patches se diferencian porque para estos últimos empiezan con la letra &quot;p&quot;). Ejemplos de otras variables asociadas a agentes que trae el sistema son: xcor, ycor, heading (en tortugas) y pxcor, pycor (en patches). </li></ul>03/06/09 Simulcaión de Sistemas
  9. 9. Definir variables <ul><li>Una forma directa de definir variables globales se realiza por medio de la inclusión de selectores deslizantes y switches. Para definir variables globales basta usar el comando globals, y proporcionar la lista de variables que se quieren definir como globales entre corchetes: </li></ul><ul><li>Por ejemplo: </li></ul><ul><li>Para definir variables asociadas a agentes tenemos dos comandos (dependiendo de si son variables asociadas a tortugas, a links o a patches) que se usan de igual forma: </li></ul>03/06/09 Simulación de Sistemas globals lista-variables globals [Pasos Temperatura]
  10. 10. Definir variables <ul><li>Por ejemplo: </li></ul>03/06/09 Simulcaión de Sistemas turtles-own lista-variables patches-own lista-variables links-own lista-variables turtles-own [energia velocidad] patches-own [rozamiento] links-own [peso]
  11. 11. Lectura y modificación <ul><li>En general, para acceder al valor de una variable basta usar su nombre (el uso de las variables asociadas a agentes debe realizarse desde dentro de un entorno que especifique a qué agente nos referimos, y en ese caso, el nombre de la variable devolverá el valor de la variable asociada a dicho agente). </li></ul><ul><li>Para modificar el valor de una variable, se debe hacer uso del comando: </li></ul><ul><li>Por ejemplo: </li></ul>03/06/09 Simulcaión de Sistemas set nombre-variable valor set Temperatura 35 set Temperatura (Temperatura + 1)
  12. 12. Lectura y modificación <ul><li>Las variables globales, como hemos dicho, son accesibles en cualquier momento por cualquier agente. Las tortugas pueden leer y modificar los valores del patch sobre el que están directamente. Así, por ejemplo: </li></ul><ul><li>provoca que los patches sobre los que hay tortugas se pongan de color azul. (Debido a que las tortugas pueden modificar las variables de los patches, el NetLogo no permite llamar de igual forma a variables de estos dos tipos de agentes). </li></ul>03/06/09 Simulcaión de Sistemas ask turtles [set pcolor blue]
  13. 13. Variables Locales <ul><li>Una variable local se define y usa en el contexto de un procedimiento particular o una parte suya (un conjunto de comandos enmarcado entre corchetes). Para crear una variable local se usa el comando let, que permite asignarle directamente el valor: </li></ul><ul><li>Por ejemplo: </li></ul>03/06/09 Simulcaión de Sistemas let variable valor to intercambia-colores [tortuga1 tortuga2] let temp [color] of tortuga1 ask tortuga1 [set color [color] of tortuga2] ask tortuga2 [set color temp] end
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×