Programación en Winlogo.
 
 

| Introducción | Primitivas | Recursividad | Micromundo REESS | Programación de la Controladora |

Cómo realizar programas para el control del entorno con la controladora REESS.

La primitiva Si

Formato:
Si 
Pred  [órdenes]

Acción:
Ejecuta la lista de instrucciones, indicada en órdenes, en caso de que pred sea CIERTO.

Ejemplos:
Si entrada 3=0 [escribe “Pérez]
Si entrada 3=1 [escribe “Rodríguez]
Si entrada 5=0 [tono 200 100]

Otra forma del condicional SI es:

Formato:
Si 
Pred  [órdenes1] [órdenes2]

Acción:
Ejecuta la lista de instrucciones, indicada en órdenes, en caso de que pred sea CIERTO. Si pred es FALSO, se ejecuta el el conjunto de instrucciones indicado en órdenes2.

Chequeo continúo de una entrada mediante un procedimiento recursivo.

Ejemplo de una sirena que se activa al poner a 1 la entrada 3.
Al procedimiento lo podemos llamar “sonido”.

Para sonido
Si entrada 3=1 [tono 100 30]
sonido
fin

El condicional de la entrada debe crearse en un procedimiento recursivo. Al accionar un pulsador conectado a la entrada 3, se escuchará un tono a 1000 Hz. durante 3 décimas de segundo que seguirá sonando hasta que se deje de accionar el pulsador.

Formas de activar una salida al accionar el pulsador conectado a una de las entradas.

Ejemplo 1º.

Si entrada 3=1 [conecta1]

Al ejecutar la orden con la tecla “intro”, si la entrada 3 está a 1 se conectará la salida 1 y ésta quedará conectada hasta desactivarla con otra orden.

Ejemplo 2º.

Para interruptor
si entrada 3=1 [conecta 1]
interruptor
fin

Cuando ejecutamos el procedimiento “interruptor”, al accionar el pulsador conectado a la entrada 3, se conectará la salida 1 y ésta quedará conectada hasta desactivarla con otra orden. Como vemos realiza la misma operación que el ejemplo1º pero dentro de un programa.

Ejemplo 3º.

Para pulsador
si entrada 3=1 [conecta 1] [apaga 1]
pulsador
fin

Si el valor del predicado es cierto (entrada 3=1), ocurre lo que tenemos en el primer corchete en caso contrario ocurre lo del segundo corchete.

Otras actividades que puedes realizar son las siguientes:

# Crear un procedimiento que active y desactive la salida 1 mediante dos pulsadores.
# Crear un procedimiento de pulsador de marcha.
# Crear un procedimiento de pulsador de paro.
# Crear un procedimiento que active la salida 1 de forma intermitente siempre que esté pulsada la entrada 1. Añadir dos tonos para realizar el efecto sirena.

Paso de un procedimiento a otro, mediante un evento en una entrada.

Cuando queremos controlar una máquina que realiza distintas acciones, podemos definir los distintos estados en que puede encontrarse la máquina y como pasar de uno a otro.

Ejemplo 1º.
Una máquina tiene dos estados:

y queremos pasar de un estado a otro al accionar las entradas 1 y 2.
Para ello crearemos dos procedimientos, uno para cada estado y en ellos siempre han de estar definidos los siguientes eventos
   # Las acciones que han de producirse (apaga, conecta etc.).
   # Como se sale de él (mediante la entrada x).
   # Hacia donde debe de ir (otro procedimiento).

Esto se puede complicar bastante, dependiendo del número de estados que tenga la máquina, además en otros cursos estudiarás lenguajes de programación más avanzados, de todas formas recuerda que:
«Programar es analizar, dividir un problema en pequeños módulos, engarzados entre sí por medio de unas sentencias condicionales».
Un programa, estará formado por un conjunto de procedimientos que se van ejecutando según el orden que hayamos establecido y que en un principio sería el mismo que llevamos al leer o escribir en Castellano, de izquierda a derecha y de arriba abajo, a no ser que en cualquier línea del programa se nos mande a otro o, como hemos visto, cuando hablamos de la recursividad, a sí mismo.
Habrá momentos en que el camino a seguir no será único, aparecerán bifurcaciones. En esos casos, el paso de un procedimiento a otro, vendrá determinado por el cumplimiento o no de una serie de alternativas que habremos incluido en unas sentencias condicionales dentro de los propios procedimientos.
Para terminar hagamos un ejemplo de cambio de procedimientos algo complejo:

Acciona el pulsador correspondiente para el cambio de estado y verás como evoluciona el diagrama.
| Ver a pantalla completa | Cerrar ventana |

 

 

 

 

 

 

 

 

 

 

 

 

 

 

El programa de la actividad anterior es:

Para estado1
conecta 3
apaga 5
conecta 6
Si entrada 1 = 1 [estado2]
estado1
Fin

Para estado2
conecta 1
conecta 2
apaga 3
apaga 4
Si entrada 3=1 [estado3]
Si entrada 4=1 [estado1]
estado2
fin

Para estado3
conecta 7
conecta 5
conecta 4
Si entrada 2=1 [estado1]
Si entrada 5=1 [estado4]
estado3
fin

Para estado4
enviaocteto 0
Si entrada 5=1 [espera 500 estado1]
estado4
fin

Para arrancar el programa partiremos del estado que se desee, es decir, se escribe en la ventand de trabajo estado“x” y pulsamos intro. El el caso de la simulación se ha partido del procedimiento 1, es decir, el estado1.

Entrada 1

Entrada 2

Entrada 3

Entrada 4

Entrada 5

Salida 1 Salida 2 Salida 3 Salida 4 Salida 5 Salida 6 Salida 7

  Subir                                                                      | Página actualizada el 18 Mayo, 2003 | © Proyecto REESS | Realizado en Béjar en el curso 2002/2003 |