viernes, 25 de agosto de 2017

Programación - Operadores

Los operadores permiten realizar operaciones como si se tuviera una calculadora. Entre otras operaciones, se puede sumar, restar, multiplicar y dividir.

También hay operadores que permiten saber si un número es igual, mayor, o menor que otro.

A veces puede pasar que el robot deba tomar una decisión dependiendo de varias condiciones. Por ejemplo: "avanza si no hay obstáculo y además está de bajada" o "da vuelta si el piso es amarillo, rojo o verde" o "detente si no hay paso al frente". En estos casos, cuando se tienen que combinar condiciones, se utilizan los operadores andor y not, que en español significan "y", "o" y "no", respectivamente.

A continuación se muestra como usar los operadores con los robots MakeBlock mBot y Lego MindStorms EV3.

MakeBlock mBot


Los operadores se usan con los comandos etiquetados como "+", "=", "y", "no", "resto de ... ". 



Cada uno de estos se puede cambiar para usar las siguientes operaciones:

Aritméticas: suma, resta, multiplicación, división, potencia, módulo (módulo significa "residuo de una división"). Se pueden usar, por ejemplo, para asignarle un valor de velocidad a un motor o un tiempo en segundos.

Lógicas: "and", "or", "not" ("y", "o", "no"). Se usan para hacer comparaciones, por ejemplo, para combinar el resultado de las lecturas tomadas por dos sensores.

Comparaciones: igual, diferente, mayor, menor, mayor o igual, menor o igual. Se usan para comparar dos números y saber cual de ellos es mayor, menor, etc.

Lego MindStorms EV3

Los operadores se usan con los comandos "Matemática", "Comparar" y "Operaciones lógicas".

El comando "Matemática" se usa para las operaciones de suma, resta, multiplicación, división, raíz cuadrada y exponente, entre otros. Trabaja solo con números, y se puede usar, por ejemplo, para asignarle un valor de velocidad a un motor o un tiempo en segundos.



El comando "Operaciones lógicas" se usa para realizar operaciones "y", "o" y "no". Trabaja con resultados de comparaciones, por ejemplo, para combinar el resultado de las lecturas tomadas por dos sensores.




El comando "Comparar" se usa para comparar dos números y saber cual de ellos es menor o mayor, o si son iguales o diferentes, o si alguno de ellos es mayor o igual, o menor o igual que el otro.



Ejemplos


MakeBlock mBot. Aquí se usa una variable para almacenar el valor de la velocidad a la que correrá el robot, con un valor inicial de 50. El robot avanza durante 2 segundos. Después se multiplica la velocidad por 2, obteniendo un valor de 100, que se asigna de nuevo a la variable velocidad. El robot avanzará a esa nueva velocidad durante otros 2 segundos.









Lego MindStorms EV3. Aquí se tiene una variable llamada "tiempo" con un valor inicial de 2. Esa variable se usa entonces para que el motor se encienda durante 2 segundos. Después se multiplica por 2, y el resultado (esto es, 4) se toma para que el motor se encienda en sentido contrario.







Lego MindStorms EV3. Aquí se tiene una variable llamada "velocidad". Se utiliza un operador de comparación para saber si es menor que 20, y el resultado se pasa al condicional "Si...". De esta forma, cuando la variable tenga un valor menor que 20, se le asignará el valor 20; y después se tomará ese valor para usarlo como velocidad al momento de encender el motor.



Lego MindStorms EV3. Aquí se obtienen los estados del sensor táctil y del sensor de color. El sensor táctil se verifica para saber si está presionado y el sensor de color se verifica para saber si está situado sobre un color verde. Y después se utiliza el operador "or", para saber si alguno de los dos cumple con lo esperado. El resultado de la operación se utiliza después con el condicional "Si...", donde se enciende el motor en caso de ser cierto.



Enlaces