# Bloques de valores Los bloques de esta categoría describen valores. Hay distintos tipos de valores. Cada tipo tiene un rango de valores que un elemento de dicho tipo puede tomar. Por ejemplo, un elemento de tipo _número_ puede tomar los valores 0, 1, -5, 2.5 y un elemento de tipo _valor de verdad_ sólo puede tomar los valores _verdadero_ y _falso_, pero un elemento de tipo _número_ no puede tomar el valor _verdadero_ así como un elemento de tipo _valor de verdad_ no puede tomar el valor _5_. ## Número BLOCK:math_number@123: BLOCK:math_number@25: BLOCK:math_number@m2: Este bloque describe un elemento de tipo número. El valor del elemento puede ser asignado escribiendo en el campo de texto dentro del bloque. Se pueden ingresar números enteros como fracciones (usando el punto para separar la parte entera y la parte decimal). También se puede usar el signo de resta '-' para generar números negativos. ## Binario BLOCK:logic_boolean@true: BLOCK:logic_boolean@false: Este bloque describe un valor binario o un valor de verdad. Sólo puede valer _verdadero_ o _falso_. El valor del elemento puede ser asignado utilizando el menú desplegable dentro del bloque. Se usa para verificar condiciones. ## Corriente Eléctrica BLOCK:io_highlow@true: BLOCK:io_highlow@false: Este bloque describe el estado binario de un pin Arduino como un nivel de corriente eléctrica. Como el bloque binario, tiene dos únicos valores: _HIGH_ (alto) and _LOW_ (bajo), donde _HIGH_ significa que la corriente puede pasar y _LOW_ significa que no. El valor del elemento puede ser asignado utilizando el menú desplegable dentro del bloque. También se puede usar para verificar condiciones interpretando _HIGH_ como _verdadero_ y _LOW_ como _falso_. ## Texto BLOCK:text: BLOCK:text@123: BLOCK:text@sig: Este bloque describe una cadena de texto. El valor del elemento puede ser asignado escribiendo en el campo de texto dentro del bloque. Si bien se pueden escribir números, el elemento resultante no será el número sino el texto equivalente. Por ejemplo, al ingresar el texto _"00123"_ el resultado será ese mismo texto con 5 letras y no el número 123. También se pueden ingresar cualquier cantidad de caracteres especiales. ## Lista BLOCK:lists_create_with@empty: BLOCK:lists_create_with@3: Este bloque describe una lista de elementos. Por defecto se genera una lista vacía pero se pueden agregar elementos abriendo el mutador del bloque (el ícono del engranaje a la izquierda del bloque) y agregándole entradas. Para que la lista sea válida todos los elementos tienen que ser del mismo tipo. ## Rango BLOCK:range: Este bloque describe un rango de números. Toma dos operandos numéricos que definen los límites del rango. Si los dos números son enteros, el rango contiene a todos los números enteros entre ellos. Si uno de ellos (o ambos) es una fracción, el rango contiene a todos los números (enteros y fracciones) entre ellos. ## Valor personalizado En ocasiones es útil definir nuevos valores aunque sean sólo renombres de los ya existentes. Por ejemplo, si se quiere definir un umbral, es útil crear un valor llamado "umbral" que describa al número elegido como umbral. Usando el bloque de definición de nuevo valor, se le puede asignar un nombre a un valor existente. BLOCK:define_def: Luego, usando el bloque de uso de valor se puede utilizar el nombre para referirse al valor previamente definido. BLOCK:define_use: