Arreglos (Arrays) son muy utilizados en projectos electrónicos, donde se necesitan bases de datos, analisis y estadistica de información, adquisición y recolección de datos. etc. en lenguaje de programacion para microcontroladores, los arreglos también son conocidos como: matrices, listas o arrays. en el siguiente capitulo hacemos una introducción a los arreglos y como crearlos y programarlos.

 

En capítulos anteriores estudiamos las variables (datos) y observamos que en memoria de datos (RAM), podemos almacenar información. Recordemos que era necesario crear las variables, primero, dándoles un “nombre” y luego podíamos asignarle algún “valor”. Por ejemplo: en la siguiente figura, tenemos una variable llamada: “numeroEquipo”, la cual tiene asignado el valor: “372”. O la variable: “usuario”, la cual tiene asignado el valor: “jhon”. Observe la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

Pero estas variables, solo pueden almacenar “un” solo dato. Que pasa si necesitamos una variable que contenga mas de un dato. Ahí es donde podemos usar arreglos (arrays), pues estas son variables que permiten almacenar más de un dato de alguna información. Observe la siguiente figura donde hemos creado un arreglo llamado: “KilometrosRecorridosLista” y otro llamado: “TransportesLista”:

 

 

 


| Clique na imagem para ampliar |

 

 

Estos arreglos son almacenados en la memoria de datos y tienen algunas características que es importante conocer. La primera es: un arreglo es formado por “elementos”. En la siguiente figura, tenemos un arreglo con 8 elementos:

 

 


 

 

 

Otra característica de los arreglos, es: que, para acceder a algún elemento, usamos un “índice” basado en cero (0). Esto quiere decir que el primer elemento tiene el índice: “cero”, el segundo elemento el índice: “1”, el tercer elemento tiene el índice: “2” y así sucesivamente. Por ejemplo, en el siguiente arreglo, el índice “4”, tiene un valor de: “72”. El elemento en el índice: “6” tiene un valor de: “102”

 

 

 


 

 

 

El arreglo anterior es de tipo numérico y estos datos, pueden representar la cantidad de kilómetros recorridos por algún automóvil, con adquisición de lectura a cada 10 minutos, como muestra la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

 

También podemos crear arreglos de texto. Por ejemplo, supongamos que estoy creando un proyecto donde necesito una lista de los tipos de transportes, como la siguiente:

 

Carro

Avión

Motocicleta

Bicicleta

Patines

Barco

Patineta

Tren

Helicóptero

 

El arreglo en la memoria de datos seria similar al mostrado en la siguiente figura:

 


 

 

 

Entonces resumiendo, para leer o escribir en los elementos de un arreglo, es necesario usar un índice. Así, los elementos del siguiente arreglo usan un índice del 0 hasta el 8:

 

 


| Clique na imagem para ampliar |

 

 

El siguiente arreglo de texto usa un índice de 0 hasta el 9, como muestra la siguiente figura:

 


| Clique na imagem para ampliar |

 

 

Otro concepto usado en arreglos, es la: “Longitud”, el cual significa, la cantidad de elementos de un arreglo. Por ejemplo, el siguiente arreglo tiene una longitud de 8 elementos:

 

 


 

 

 

El siguiente arreglo tiene una longitud de 9 elementos, como muestra la siguiente figura:

 


 

 

Con estas bases, ya podemos comenzar a programar bloques con arreglos. Los bloques que nos permiten crear y manipular arreglos, los podemos encontrar en el menú: “Avanzado->Arreglos” como muestra la siguiente figura:

 


| Clique na imagem para ampliar |

 

 

 

 

Crear arreglos.

 

 

Como dicho anteriormente, existen básicamente 2 tipos de arreglos, los de tipo “numérico” y “texto”. Para crear un arreglo de tipo numérico, vaya al menú: “Arreglos” y seleccione el bloque: “establecer lista para matriz de” como muestra la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

Después arrastre el bloque hasta que encaje el bloque: “al iniciar”, como muestra la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

El bloque: “al iniciar” aparecerá como mostrado en la siguiente figura:

 

 


 

 

 

Por defecto el compilador “MakeCode”, nombra los arreglos numéricos con el nombre de: “lista”. Es necesario cambiar este nombre, para un otro nombre indicando la clase de datos que va almacenar el arreglo. Por ejemplo: si los datos que se van almacenar son de un sensor de temperatura, podemos llamar este arreglo: “temperaturaLista”. Otro ejemplo, puede ser, cuando el arreglo almacena nombres de usuarios, entonces podemos llamar al arreglo: “usuariosLista”. Así, es más fácil para entender el programa que se está haciendo, aunque es posible colocar cualquier nombre que se desee. Algunos programadores acostumbran a usar la palabra: “Lista”, al final del nombre de los arreglos, para un mejor entendimiento y claridad del programa o proyecto. Para cambiar el nombre del arreglo, que por defecto es creado (lista), vaya hasta el menú desplegable del bloque: “establecer para matriz de” y seleccione el ítem: “Renombrar la variable…”. Aparecerá una ventana donde es posible cambiar el nombre del arreglo, como muestra la siguiente figura:

 

 


 

 

 

Hemos cambiado el nombre por defecto: “lista”, por el nombre: “KilometrosRecorridosLista”, como muestra la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

Ahora vamos a llenar el arreglo: “KilometrosRecorridosLista”, como mostrado en la siguiente figura:

 

 


 

 

 

Para esto puede agregar más elementos al arreglo, clicando en el botón adición (+), como mostrado en la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

El arreglo quedara como mostrado en la siguiente figura:

 

 


 

 

 

Mas adelante en este capítulo, vamos a leer y modificar este arreglo y así entender cómo funciona.

 

Ahora vamos a crear un arreglo de tipo texto. Si lo desea, cree un nuevo proyecto para trabajar con los arreglos de tipo texto. Para esto vamos al menú: “Arreglos” y seleccionamos el bloque: “establecer lista de texto para matriz de”, como mostrado en la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

Arrastre este bloque hasta que encaje en el bloque: “al iniciar”, como mostrado en la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

El compilador “MakeCode” por defecto, nombra los arreglos de texto con el nombre: “lista de texto”. Cambiemos este nombre por uno más intuitivo de acuerdo a el proyecto que se esté creando. Para el ejemplo de este capítulo, vamos a llamar el arreglo de texto con el nombre: “TransportesLista” como mostrado en la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

Para cambiar el nombre, puede seguir los mismos pasos mostrados con el arreglo numérico, creado anteriormente en este capítulo. Ahora, vamos a llenar el siguiente arreglo de texto como mostrado en la siguiente figura.

 

 

Para esto, llene los elementos con los respectivos nombres y para agregar más elementos en el arreglo, seleccione el botón adicionar (+), como mostrado en la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

El arreglo: “TransportesLista”, cuando este llenado, se mostrará como en la siguiente figura:

 

 


 

 

 

Ahora que ya están creados los arreglos, podemos leerlos, modificarlos y mostrar en la pantalla de LEDs de 5x5. Es importante, para el buen funcionamiento del proyecto, verificar con cada bloque donde usemos arreglos: que se haya seleccionado el correcto arreglo, pues es muy común, olvidarse y dejar el que “MakeCode”, usa por defecto (lista), como muestra la siguiente figura:

 

 


 

 

 

Por ejemplo, si el bloque va ha ser ejecutado sobre el arreglo: “TransportesLista”, entonces, vaya al menú desplegable del bloque y selecciónelo, como es mostrado en la siguiente figura:

 


| Clique na imagem para ampliar |

 

 

Todos los bloques que usan arreglos, tienen la opción para seleccionar el nombre del arreglo sobre el cual se va a ejecutar ese bloque.

 

 

 

Dimensión de un arreglo.

 

Para conocer la dimensión de un arreglo podemos utilizar bloque: “longitud del arreglo”, como muestra la siguiente figura:

 

 


 

 

 

Para usar este bloque, selecciónelo y arrástrelo hasta encajar en un bloque: “mostrar número”, como en la siguiente figura:

 


| Clique na imagem para ampliar |

 

 

Ahora, en el menú desplegable del bloque: “longitud del arreglo”, seleccione el arreglo: “KilometrosRecorridosLista”, como muestra la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

Por ejemplo, el siguiente bloque, mostrara en la pantalla de LEDs, el numero: “8” pues esa es la longitud del arreglo: “KilometrosRecorridosLista”:

 

 


 

 

 

 

 

Leer los elementos de un arreglo.

 

Para leer un elemento de un arreglo, podemos usar el bloque de código: “obtener el valor en”. Este bloque recibe un parámetro que es el índice, es decir: la posición donde queremos leer y retorna el dato encontrado en ese índice. La siguiente figura muestra el bloque: “obtener el valor en” el cual se encuentra en el menú: “Arreglos”, como muestra la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

Ahora, para utilizar el bloque: “obtener el valor en”, puede seleccionarlo y arrastrarlo para el bloque: “mostrar número”, el cual se encuentra en el menú: “Básico”, como muestra la siguiente figura:

 

 


 

 

 

Ahora en el menú desplegable del bloque: “obtener el valor en”, seleccione el arreglo: “KilometrosRecorridosLista”, como es mostrado en la siguiente figura:

 

 


 

 

 

Listo, ya podemos verificar los valores que contiene el arreglo numérico. El bloque de código debe ser similar al mostrado en la siguiente figura:

 

 


 

 

 

Al ejecutarse este programa aparecerá en la pantalla de LEDs, el valor numérico: “17”, porque recordemos la primera posición del arreglo, está en el índice 0.

 

Los siguientes bloques, mostraran en la pantalla de LEDs, el valor: “55”.

 

 


 

 

 

Los siguientes bloques, mostraran en la pantalla de LEDs, el valor: “102”.

 

 


 

 

 

Y así es como podemos leer el arreglo numérico. Lo mismo podemos hacer con el arreglo de texto.

 

 

 

Eliminar elementos de un arreglo.

 

Para eliminar elementos de un arreglo podemos usar el bloque: “eliminar valor en”. Este bloque también retorna el valor que ha sido eliminado.

 

 


| Clique na imagem para ampliar |

 

 

Los siguientes bloques de código, eliminan el elemento de la posición: “3” el cual contiene el valor: “55”.

 

 


| Clique na imagem para ampliar |

 

 

Antes de ejecutar la instrucción, el arreglo tiene todos los elementos, es decir su longitud es de 8 elementos. Después de ejecutada la instrucción, es eliminada la posición: “3” y el arreglo queda con una longitud de 7 elementos, como muestra la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

El bloque: “mientras”, se encuentra en el menú: “Bucles”. En el menú desplegable cambie la condición para: “verdadero”, como mostrado en la siguiente figura:

 

 


 

 

 

En el bloque de código: “obtener el valor en”, seleccione el arreglo: “KilometrosRecorridosLista”, como muestra la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

El bloque de código: “remover value at” hace lo mismo que el bloque: “eliminar valor en”, con la diferencia que: no retorna el valor del elemento eliminado. La siguiente figura muestra el bloque: “remover value at”.

 

 


| Clique na imagem para ampliar |

 

 

En el menú: “Arreglos” hay un bloque que nos permite eliminar el primer elemento de un arreglo, devolviendo el valor encontrado y otro bloque para eliminar el último elemento del arreglo, también devolviendo el valor del elemento eliminado. La siguiente figura muestra estos bloques:

 

 


| Clique na imagem para ampliar |

 

 

El bloque para eliminar el primer elemento en un arreglo, se llama: “obtener y eliminar el primer valor de”. Los siguientes bloques eliminan el primer elemento en el arreglo numérico:

 

 


| Clique na imagem para ampliar |

 

 

La siguiente figura muestra lo que sucede cuando usamos este bloque:

 

 

 


| Clique na imagem para ampliar |

 

 

El bloque para eliminar el ultimo elemento de un arreglo se llama: “obtener y eliminar el ultimo valor de”. Los siguientes bloques eliminan el último elemento del arreglo:

 

 


| Clique na imagem para ampliar |

 

 

La siguiente figura muestra lo que sucede cuando se ejecuta este programa:

 

 


| Clique na imagem para ampliar |

 

 

Note que en el bloque: “obtener el valor en”, usamos el índice: “6” para leer la ultima posición del arreglo. Esto es porque la dimensión del arreglo ha cambiado y el último elemento está en el índice “6”.

 

Los siguientes bloques hacen lo mismo que los 2 últimos bloques, vistos en este capítulo, con la diferencia que no retorna el valor del elemento eliminado:

 

 


| Clique na imagem para ampliar |

 

 

Estos bloques funcionan igual en los arreglos de texto, puede experimentar con el arreglo: “TransportesLista” y ver los resultados en la pantalla de LEDs de 5x5.

 

 

 

Modificar los elementos de un arreglo.

 

 

Se pueden modificar los valores de los elementos de un arreglo con el bloque: “establecer el valor en a”. Este bloque recibe 2 parámetros: El índice donde se desea modificar y el nuevo valor que será almacenado. La siguiente figura muestra este bloque:

 

 


| Clique na imagem para ampliar |

 

 

El siguiente programa, modifica el elemento de la posición: “2”, el cual tiene un valor de: “41”, con el valor de “39”.

 


| Clique na imagem para ampliar |

 

 

Para hacer esto es necesario crear una nueva variable y asignarle un valor. Así, hemos creado una variable con el nombre: “nuevoValor” y le hemos asignado el valor de: “39”, como se muestra en la siguiente figura:

 

 


 

 

 

Y este es el bloque que se encarga de modificar el elemento, como muestra la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

Así queda el arreglo después de ejecutarse este bloque:

 

 


| Clique na imagem para ampliar |

 

 

 

 

Insertar elementos en un arreglo.

 

Podemos insertar elementos nuevos en un arreglo. El bloque que se encarga de insertar un nuevo elemento se llama: “insertar en valor” y lo podemos observar en la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

El bloque: “insertar en valor”, recibe 2 parámetros, el primero es el índice donde se desea insertar el nuevo elemento y el segundo es el valor que se desea guardar. El siguiente programa inserta un nuevo elemento en el índice: “4” con un valor de: “61”

 

 


| Clique na imagem para ampliar |

 

 

El arreglo se modificar como muestra la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

Note que ahora el arreglo numérico tiene una longitud es de “8”. De esta manera es posible insertar elementos en cualquier índice del un arreglo. Hay un bloque de código que permite insertar un nuevo elemento en el principio del arreglo, sin tener que pasar el índice. La siguiente figura muestra este bloque:

 

 


| Clique na imagem para ampliar |

 

 

El primer bloque: “insertar al principio”, retorna la nueva longitud del arreglo. El segundo bloque: “insertar al principio”, no retorna la longitud. Hay un bloque que permite insertar un nuevo elemento al final del arreglo, llamado: “añadir valor al final”. La siguiente figura muestra este bloque:

 

 


| Clique na imagem para ampliar |

 

 

 

Operaciones en arreglos.

 

Una operación que se puede hacer en un arreglo, es buscar el índice o posición de la primera aparición de un valor. Este bloque se llama: “encontrar índice de”. Observe la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

Otra operación que podemos hacer es invertir los elementos de un arreglo. El bloque llamado: “invertir” es el encargado de hacer esto y lo podemos ver en la siguiente figura:

 

 


 

 

 

Existe un bucle llamado: “para el elemento de”, el cual recorre secuencialmente todo el arreglo, uno a uno. La siguiente figura muestra este bloque que se encuentra ubicado en el menú: “Bucles”, como muestra la siguiente figura:

 

 


 

 

 

Así, la variable: “value”, toma el valor de cada elemento del arreglo, uno a uno y ejecuta los bloques especificados.

 

El siguiente programa, hace un recorrido por el arreglo: “KilometrosRecorridosLista”, después invierte el array y hace otro recorrido por el arreglo, demostrando como funciona el bloque: “invertir”

 

 


 

 

 

 

 


 

 

 

En la siguiente figura, podemos observar lo que sucede al arreglo después de ejecutarse el bloque: “invertir”:

 

 


| Clique na imagem para ampliar |

 

 

El siguiente programa invierte el arreglo: “TransportesLista”.

 


 

 

 

 


 

 

 

En la siguiente figura, podemos observar lo que sucede al ejecutarse el bloque: “invertir” en el arreglo: “TransportesLista”:

 

 


| Clique na imagem para ampliar |

 

 

Así, dependiendo del proyecto podemos usar arreglos y manipularlos para agregar o quitar elementos, como también modificar los valores de los elementos. En adquisición de datos, es muy común usar un temporizador y leer algún sensor o variable que represente información, almacenándola en un arreglo. Cuando se necesita seleccionar algún ítem de una lista, es muy común usar arreglos para hacer la selección. Así, con la práctica se comprenderá y entenderán mejor los arreglos.

 

 

 

 

 

Buscador de Datasheets



N° de Componente