{"id":739,"date":"2026-04-08T22:51:57","date_gmt":"2026-04-08T22:51:57","guid":{"rendered":"https:\/\/hackcuba.net\/?p=739"},"modified":"2026-04-08T22:51:57","modified_gmt":"2026-04-08T22:51:57","slug":"los-arreglos","status":"publish","type":"post","link":"https:\/\/hackcuba.net\/?p=739","title":{"rendered":"Los Arreglos"},"content":{"rendered":"\n<p>Un arreglo simple es, a mi entender, una de las cosas m\u00e1s f\u00e1ciles de entender en la programaci\u00f3n. Como todo lleva un nivel de abstracci\u00f3n, pero no es tan alto como para lograr entender aspectos m\u00e1s dif\u00edciles como pudiera ser la herencia. &nbsp;Aunque existen varios tipos nos centraremos en los lineales.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>&nbsp;Para tener una idea de lo que es, piensen en ellos como en un edificio que en cada piso tiene una sola habitaci\u00f3n y viven personas con las mismas caracter\u00edsticas. Como en todo edificio normal, existen escaleras o elevadores permitiendo pasar de un apartamento a otro mientras se visitan todos los que est\u00e1n entre estos. Continuando con el ejemplo, en un edificio al igual que en un arreglo, se pueden hacer cambios o mudanzas, d\u00e1ndole la oportunidad al que esta en el piso x desplazarse hasta el y mientras que el y toma el lugar de x. Otra cosa com\u00fan entre los arreglos y edificios es vaciar o llenar los pisos pero\u2026 \u00bfCu\u00e1les son las diferencias?.<\/p>\n\n\n\n<p>Las diferencias consisten m\u00e1s bien en aspectos t\u00e9cnicos, como por ejemplo la inserci\u00f3n de un elemento en un arreglo (en caso de que sea din\u00e1mico). Pero esto no nos har\u00e1 olvidar el ejemplo, s\u00f3lo lo modificaremos un poco, y en lugar de un edificio, imaginemos una cuadra, en la que est\u00e1 la casa #50, al lado la casa #51, y por&nbsp; cosas de la vida a alguien se le ocurre crear de un espacio vacio entre ambas una casa la que tendr\u00eda el n\u00famero 50-A. Tambi\u00e9n existe la eliminaci\u00f3n (en caso igualmente que sea din\u00e1mico) de un elemento, lo que no ser\u00eda otra cosa en nuestro ejemplo que desalojar a los moradores de la casa #50-A y escoger ese espacio ahora vacio para hacer una CADECA (por ejemplo). B\u00e1sicamente los Array funcionan de esta forma.<\/p>\n\n\n\n<p>\u00bfQu\u00e9 guardan?:: Como dijimos anteriormente los arreglos guardan un solo tipo de dato. Podemos crear un arreglo para guardar las edades de los estudiantes de un aula (entero), o los nombres de un grupo de personas (cadena de texto), o un nuevo tipo de dato que creemos (estructura), incluso hasta podemos hacer un arreglo de clases. Los arreglos guardan cualquier cosa, siempre que en cada posici\u00f3n se guarde el mismo valor.<\/p>\n\n\n\n<p>\u00bfC\u00f3mo se programan?:: Es un poco complejo hablar de programar un arreglo, ya que tendr\u00eda que mencionar todas las formas de darle vida a estos \u00fatiles elementos de la programaci\u00f3n y adem\u00e1s analizar las peculiaridades de cada lenguaje, y eso como comprender\u00e1n no es tarea f\u00e1cil. Pero un Array b\u00e1sicamente esta conformado por el nombre, el tipo de datos que va a almacenar y la cantidad de elementos que este va a contener en su inicio. Igualmente se puede llenar o dejar vacio, eso ya es cosa de la necesidad que tenga el programador.<br>Una forma escrita en pseudoc\u00f3digo podr\u00eda ser:<br>Tipo_de_Dato Nombre_de_Arreglo[Cantidad_de_Elementos]<\/p>\n\n\n\n<p>Operaciones:: Con un arreglo se pueden hacer todas las operaciones, al menos las m\u00e1s comunes: suma, resta, multiplicaci\u00f3n, divisi\u00f3n, limpiar, llenar, mover, etc. Teniendo siempre en cuenta que para esto, de forma obligatoria se debe tener la posici\u00f3n o \u00edndice sobre el cual se va a trabajar.<br>Si por ejemplo se quiere hacer una sumatoria de todos los elementos que contiene un arreglo, lo primero que se debe hacer es construir un ciclo For que lo recorra, y a\u00f1ada a una variable el valor de cada posici\u00f3n. Ser\u00eda algo como:<\/p>\n\n\n\n<p>Total = 0<br>Desde el primer elemento hasta el \u00faltimo elemento<br>Total = Total +Arreglo[posici\u00f3n]<\/p>\n\n\n\n<p>De esta forma, al terminar la instrucci\u00f3n, el valor final de la variable Total va a contener la sumatoria de todos los elementos del arreglo (en caso que este sea num\u00e9rico).<br>De igual forma se puede sumar s\u00f3lo las posiciones 3 y 4:<br>Total = Arreglo[3] + Arreglo[4]<br>Ventajas<br>Los que ya se hayan enfrentado a un lenguaje de programaci\u00f3n visual, y hayan utilizado las listas, quiz\u00e1s no le vean utilidad a los arreglos, pero los que gustan de trabajar en consola, donde no existe nada que sea capaz de almacenar datos, y luego hacer operaciones con estos, ver\u00e1n en el arreglo su fiel amigo. Entre una de las ventajas que nos ofrecen, esta la de poder utilizarlos para organizar datos por un orden espec\u00edfico. Adem\u00e1s de eso, para la m\u00e1quina, pasar en un arreglo de un elemento a otro es muy f\u00e1cil, ya que s\u00f3lo tiene que ir hasta la pr\u00f3xima direcci\u00f3n de memoria.<\/p>\n\n\n\n<p>Desventajas:: Los arreglos como tal consumen mucha memoria si no son bien implementados, se suele hacer por parte de los programadores un abuso de memoria a\u00fan sabiendo que el programa no lo requerir\u00e1. En la mayor\u00eda de las ocasiones, es m\u00e1s factible crear un arreglo din\u00e1mico, de forma tal que su tama\u00f1o aumentar\u00e1 a medida que se valla haciendo necesario.<\/p>\n\n\n\n<p>Matrices:: Las matrices son una especie especial de arreglo. Su forma m\u00e1s f\u00e1cil de entender es verla como un tablero de ajedrez, donde cada fila es un arreglo en si, y toidas juntas forman la matriz. El trabajo con matrices es id\u00e9ntico al trabajo con los arreglos, s\u00f3lo que para recorrerlas se necesitar\u00edan dos coordenadas en lugar de una. Digamos que tenemos una matr\u00edz de 6 filas y 9 columnas (Matriz[8,5], la forma de representar filas y columnas puede variar), para ubicar una posici\u00f3n dentro de esta, se hace imprescindible tener ambas coordenadas, una en el eje de las X y otra en el de las Y. Digamos por ejemplo posici\u00f3n[5,4].<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"441\" src=\"https:\/\/hackcuba.net\/wp-content\/uploads\/2026\/04\/Art_61.png\" alt=\"\" class=\"wp-image-740\" srcset=\"https:\/\/hackcuba.net\/wp-content\/uploads\/2026\/04\/Art_61.png 624w, https:\/\/hackcuba.net\/wp-content\/uploads\/2026\/04\/Art_61-300x212.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n\n\n\n<p><strong>Nota:<\/strong> F\u00edjense que cada matr\u00edz o arreglo que se valla a crear, a la hora de implementarlo se debe escribir un n\u00famero menor del que se tiene pensado, ya que la m\u00e1quina empieza a contar a partir de 0, no de 1.<\/p>\n\n\n\n<p>Escrito por Alien [blackhat4all@gmail.com]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un arreglo simple es, a mi entender, una de las cosas m\u00e1s f\u00e1ciles de entender en la programaci\u00f3n.<\/p>\n","protected":false},"author":2,"featured_media":510,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,36],"tags":[224,225,58,38],"class_list":["post-739","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacion","category-proyecto-blackhat","tag-array","tag-arreglos","tag-programacion","tag-proyecto-blackhat"],"_links":{"self":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/739","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=739"}],"version-history":[{"count":1,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/739\/revisions"}],"predecessor-version":[{"id":741,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/739\/revisions\/741"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/media\/510"}],"wp:attachment":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=739"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=739"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}