3.1
Introducción a Flowol |

|
Flowol es un lenguaje de
programación orientado al manejo de interfaces de control en entornos
educativos. Se trata de un lenguaje:
-
esencialmente
imperativo
(consta de un conjunto de instrucciones que se ejecutan
consecutivamente);
-
gráfico, tomando
el aspecto de un ordinograma o diagrama de flujo (no es, por tanto,
textual, como Basic o C, y las instrucciones no son de texto, sino
elementos gráficos);
-
proporciona elementos del
diseño
descendente, de forma que es posible utilizar
subprogramas;
-
ofrece una forma elemental de
concurrencia o paralelismo,
de modo que proporciona la posibilidad de programar procesos
simultáneos. Esta es una característica propia de los lenguajes
orientados al control automático y la robótica.
De hecho, el propio nombre del lenguaje recoge sus
características más notables, ya que parece ser una contracción de
diagrama de flujo (flow chart) y control.
Permite programar las entradas y salidas de
distintas interfaces comerciales educativas de control, y no
está pensado para la
presentación de pantallas de texto o de pantallas gráficas. El que permita
la programación de varias interfaces es una
notable propiedad, dado que la mayoría de lenguajes de estas
características se "entienden" con un único interfaz de control.
Es muy sencillo, pues cuenta con un conjunto de
instrucciones muy limitado, no tratándose de un leguaje de propósito general. Esto, al
contrario de ser un inconveniente, supone una ventaja a la hora de su
utilización en el aula, dado que hace descender considerablemente la curva de aprendizaje
del lenguaje.
Se trata de un
lenguaje
interpretado (no compilado), de forma que el programa se
interpreta y ejecuta instrucción a instrucción.
Flowol puede operar también en
modo simulación, de modo que los alumnos pueden desarrollar
y probar los programas sin necesidad de conexión directa con una interfaz
de control.
La versión 2.80 de este lenguaje, se encontraba
totalmente en lengua inglesa,
mientras que la versión 2.91 se halla ya traducida al castellano. La
versión 2.92 ha corregido algunos defectos de la traducción y algunos errores
internos en la programación.
La programación con Flowol se realiza mediante:
-
la acción de arrastrar y soltar bloques en un
diagrama,
-
la configuración de las características de dichos
bloques utilizando ventanas de diálogo sencillas, y
-
la interconexión de los diferentes bloques entre sí.
El programa más sencillo que se puede escribir con
Flowol es el siguiente:
Como podemos intuir, este programa, con sólo principio
(Inicio) y fin (Alto), no hace nada, pero se ejecuta
correctamente y nos da una idea de que no se necesita mucho para empezar a
programar en Flowol.
Un programa algo más complicado, pero que hace algo, es
el siguiente:

Con él, transcurrido 1 segundo desde en inicio de la
ejecución del programa, activamos durante 2 segundos una salida digital de
un dispositivo (no especificado por el momento), y anunciamos previamente
la activación de la salida mediante un sonido.
En este programa observamos algunos de los principales
elementos de la programación gráfica con Flowol como son los bloques
terminadores,

los bloques de realización de un proceso (por
ejemplo, una espera),

los bloques que activan alguna salida,

las líneas (flechas) que conectan los distintos
bloques y las etiquetas (texto en letra cursiva a la derecha de los
bloques), que constituyen los comentarios del lenguaje.
Como se observa, un programa
de Flowol es simplemente una pantalla gráfica en la que se acumulan de
forma ordenada bloques que se conectan secuencialmente mediante líneas
con flechas. No existe un archivo fuente "legible" en el que se encuentre
en forma de texto el contenido de dicho programa (las instrucciones se
encuentran en un formato codificado "no legible").
En la siguiente tabla se recogen la nomenclatura y la representación
gráfica de los distintos elementos del lenguaje Flowol, que serán objeto
de estudio detallado en
los próximos temas (así que no te preocupes si no comprendes ahora
completamente algunos de los conceptos que se utilizan en la tabla):
Elemento |
Definición |
Terminador (Inicio/
Alto/
Páralo Todo)
 |
Bloque que marca el inicio o el fin del código de un programa
o de un subprograma.
Un programa debe empezar necesariamente por un bloque Inicio y
terminar con Alto (o Páralo Todo).En caso de que haya más de un bloque
Inicio en el programa, de modo que existan varios procesos
ejecutándose simultáneamente, el bloque Páralo Todo los detiene
a todos.
|
Salida
 |
Bloque que realiza una acción sobre alguna salida de control
de una interfaz de control: activación/desactivación de un actuador,
cambio del sentido de giro de un motor ... |
Proceso

|
Bloque que realiza una operación en el programa. Puede ser de
tres clases:
- asignación de valores a variables (bloque Fijar)
- retardo -espera durante un determinado período de tiempo-
(bloque Tardar)
- llamada a
subprograma (bloque Sub)
|
Decisión

|
Bloque que permite bifurcar el flujo del programa en función
del resultado de una expresión condicional que depende de:
- el valor instantáneo de las entradas de la interfaz de
control
(analógicas y/o digitales), o
- las variables
En definitiva, este bloque permite realizar lo que se denomina un
control de
flujo en el programa. |
Línea de
flujo

|
Conecta secuencialmente dos bloques ejecutables. Puede ser
de tres clases:
- línea ("siempre")
- línea "SI"
- línea "NO"
Las líneas SI y NO sólo se aplican a las salidas del bloque
Decisión, mientras que las líneas ("siempre") se aplican a la
entrada y la salida de cualquier bloque (excepto a las salidas del
bloque decisión). |
Etiqueta,
comentario
ej.
 |
No ejecuta ninguna
acción en el programa.
Se utiliza como un texto explicativo que contribuye a
clarificar el código y a recordar más tarde lo que se hizo. |
Número |
Designa a valores
numéricos enteros que toman valores entre 0 y 9.999.999 |
Variable |
Una variable es un "contenedor" con nombre (por ejemplo, a, b, c, d, n, x, y,
z) para un número. Son el medio para que el programa "recuerde"
valores.
A la variable se le puede asignar un valor entero, o el resultado de
una operación entre dos variables o entre una variable y un número
entero. |
Operador |
Hace referencia a una operación matemática. Los operadores pueden ser:
- aritméticos: +, -, *, /
- relacionales: =, != , <, >
|
Referencias y fuentes
Control y Robótica. Tema:
El lenguaje de control Flowol. Curso provincial. Víctor R. González,
Asesoría de Tecnología y FP, CFIE
Valladolid II.
Tecnologías de la Información y de la Comunicación. Capítulo 6, Programación
y control de procesos. Juan A. Alonso, Santiago
Blanco A., Santiago Blanco S., Roberto Escribano, Víctor R. González, Santiago
Pascual, Amor Rodríguez. Editorial Ra-Ma, 2004.
volver a Inicio
|