Operadores compuestos en la programación de Arduino

En el siguiente módulo, conocerás todo sobre los operadores compuestos en la programación de Arduino. También mediante sencillos ejemplos aprenderás a visualizar mejor su uso.

Los operadores compuestos nos permiten reducir muchas líneas de código al realizar cálculos con variables con operadores matemáticos. De ésta forma tendremos un código más eficiente.

Tipos de operadores compuestos en Arduino

En total podemos hacer uso de 6 tipos de operadores compuestos en Arduino:

  • El operador de incremento.
  • Operador de decremento.
  • Suma compuesta.
  • Resta compuesta.
  • Multiplicación compuesta.
  • División Compuesta.

A continuación, te mostraremos la sintaxis y el uso de cada uno de los tipos de operadores compuestos en Arduino.

Operador de incremento

Definamos una variable «z» a la que queremos aumentar su valor en 1 en nuestro sketch.

La operación anterior podemos definirla de la siguiente manera:

z = z+1

Sin embargo, podemos resumir la línea anterior con el operador compuesto, con la siguiente sintaxis:

z++

Al utilizar los dos símbolos de suma ++ despues de la variable indicamos al Arduino el uso de un operador de incremento. No obstante el valor original de z se almacena en z.

Mediante la sintaxis ++z la variable «z» se incrementará en uno, y el nuevo valor de z con su incremento se almacena en z.

A continuación un ejemplo para que entiendas mejor el concepto:

void setup() {
  Serial.begin(9600);

  int a = 0;

  int b = 5 + (a++);

  Serial.print(b);
}

void loop() {
}

en el ejemplo anterior se define una variable entera int a y le indicamos almacenar un valor igual a 0.

Luego definimos otra variable entera int b indicando almacene el valor igual a 5 + (a++).

Finalmente se indica mostrar el valor de b en el monitor serial mediante la función Serial.print().

La salida en el monitor serial mostrará el número 5. Esto se debe a que se define un único bucle donde b = 5 + (a++) y a se incrementará en uno, pero el valor inicial de la variable a es igual a cero, de esta forma 5 + 0 = 5.

Sin embargo al utilizar el operador de incremento dentro de un bucle, a partir del segundo bucle, el valor almacenado en la variable se incrementará en 1, cada que el bucle continúe ejecutándose.

En la sección de bucles en arduino podrás visualizar mejor la utilidad de ellos.

En caso contrario si deseamos incrementar en 1 una variable en un bucle único define la sintaxis de ésta manera: ++a.

De ésta forma el incremento a la variable «a» se realiza primero, almacenando su nuevo valor en la Variable.

En el ejemplo anterior la sintaxis ++a incrementa en 1 la variable antes de realizar el cálculo. De ésta forma tendremos un valor de b igual a 6, pues 5 + 1 = 6.

El operador de decremento

Supongamos que deseamos decrementar en 1 una variable, normalmente podríamos definir la operación de la siguiente manera:

a = a-1;

Al utilizar el operador compuesto de decremento reducimos la expresión anterior:

a--

La posición de los símbolos -- antes o después de la variable, también afectará el cálculo del ejemplo anterior tal como sucede con el operador de incremento.

Veamos nuevamente el ejemplo anterior:

void setup() {
  Serial.begin(9600);

  int a = 0;

  int b = 5 + (a--);

  Serial.print(y);
}

void loop() {
}

La salida del cpodigo anterior será el número 5, pues 5 + 0 = 5. El cálculo se realiza antes de que se decremente la variable.

En caso contrario, mediante la sintaxis --a el cálculo se realiza después de que se haya decrementado la variable. De ésta forma la fórmula se convierte en b = 5 + (-1) que es 4.

Excepciones en el uso de los operadores de incremento y decremento

Solo en las variable con datos del tipo int y long es posible usar operadores de incremento y decremento.

Variables del tipo float, lógicos y char no funcionan.

Operador de suma compuesta

El tercero de los operadores compuestos es el operador de suma compuesta.

La sintaxis para utilizarlo es la siguiente: +=

Un ejemplo lo tenemos con la siguiente expresión:

b += a;

En la expresión anterior indicamos que al valor de la variable b se le suma el valor de la variable a, luego se almacena el resultado en la primera variable.

La expresión anterior reduce la expresión que utlizaríamos regularmente:

b = b + a;

A continuación visualiza mejor el uso de este operador compuesto con un ejemplo:

void setup() {
  Serial.begin(9600);

  int a = 3;
  int b = 7;

  b += a;

  Serial.print(b);
}

void loop() {
}

En el código anterior el monito en serie mostrará el número 10. Puesto que a es igual a 3 y b es igual a 7. El código ejecuta la suma de a al valor de b y almacena el nuevo valor en b.

Operador de resta compuesta

Al igual que en el caso anterior el operador de resta compuesta puede simplificar el uso de la siguiente expresión:

b = b - a;

La sintaxis del operador de resta compuesta es el siguiente: -=

O también podemos visualizarlo así:

b -= a;

Si en el código anterior reemplazamos el operador compuesto por el siguiente b -= a el monitor serial mostrará el número 4.

Pues b es igual a 7 y a es igual a 3, 7 – 3 = 4.

Operador de multiplicación compuesto

La sintaxis del operador compuesto de multiplicación en Arduino es el siguiente:

b *= a;

El operador de multiplicación compuesto toma una variable «b» y la multiplica por otra variable «a» y finalmente almacena el resultado en la primera variable.

El operador de multiplicación compuesto reemplaza a la siguiente expresión:

b = b * a; 

Al reemplazar en el código anterior el operador compuesto por b *= a, el monitor serial mostrará el número 21, pues 7 * 3 = 21.

Operador de división compuesta

Finalmente el operador de división compuesta se muestra en la siguiente sintaxis:

a /= b;

Lo anterior es la simplificación de la siguiente expresión:

b = b / a; 

El operador de división compuesto toma una variable «b» y la divide por otra variable «a» para finalmente almacenar el resultado en la primera variable.

En el último código si reemplazamos el operador porel operador compuesto de división, el monitor serial mostrará el valor de 2,33. Pues 7 / 3 = 2,33.

Esperamos que este sencillo módulo te haya mostrado el uso de los operadores compuestos al programar Arduino.

Deja un comentario

programar en arduino logo

En este sitio aprenderas a programar en Arduino de forma gratuita a través de sencillos tutoriales y distintos proyectos.