Les variables en programació són fonamentals per emmagatzemar i manipular dades. Aquestes dades guardades poden ser les entrades que donen els sensors (posició, temperatura, distància a un obstacle...), o dades calculades o creades pel robot que van canviant durant el procés que fa el robot (números a l'atzar, textos, etc). També es poden fer servir per controlar bucles o estats d'un procés.
VARIABLES COM A EMMAGATZEMENT DE DADES
EXEMPLE
En el programa de sota, es mesura la intensitat de la llum i la distància a una bombeta, i a més d'encendre llums de colors diferents segons la intensitat de la llum, s'escriu en pantalla aquesta intensitat (I), i es calcula la energia lumínica (E) que rep el robot (que és E=I/d*d). Tenim dos problemes (mira la seqüència SENSE VARIABLES):
La seqüència d'ordres es fa molt llarga i difícil de llegir.
La dada mesurada serà diferent en cada bloc (encara que el temps entre blocs sigui petit).
Per arreglar-ho, utilitzem dos variables llum i dist, i només començar el bucle, assignem a aquestes variables el que ha mesurat (mira més abaix la seqüència AMB VARIABLES)
VARIABLES COM A CONTROL D'ESTATS
Comptadors o controladors de bucles:
Utilitat: Les variables poden ser utilitzades com a comptadors per controlar el nombre de repeticions d'un bucle o per seguir el progrés d'una determinada tasca.
Exemple 1: Una variable "contador" per controlar el nombre de vegades que un robot ha d'executar una seqüència d'accions, com ara moure's endavant i enrere diverses vegades.
Exemple 2: Una variable "index" per accedir a elements d'una llista o d'un array. Per exemple, recórrer una llista de destinacions amb un índex que augmenta en cada iteració.
Emmagatzematge d'estats o condicions del programa:
Utilitat: Les variables poden ser utilitzades per emmagatzemar estats o condicions del programa, com ara si una tasca ha estat completada o si s'ha activat una certa condició.
Exemple 1: Una variable "tasca_completada" per indicar si una tasca específica ha estat realitzada amb èxit pel robot.
Exemple 2: Una variable "mode" per emmagatzemar el mode de funcionament actual del robot, com ara mode manual o mode automàtic.