top of page

Arreglos

 

Un Arreglo es una estructura de datos que almacena bajo el mismo nombre (variable) a una colección de datos del mismo tipo.

 

Los arreglos se caracterizan por:

 

  • Almacenan los elementos en posiciones contiguas de memoria

  • Tienen un mismo nombre de variable que representa a todos los elementos. Para hacer referencia a esos elementos es necesario utilizar un índice que especifica el lugar que ocupa cada elemento dentro del archivo.

  • compuesta por elementos del mismo tipo de dato

 

Los arreglos se clasifican de acuerdo a su dimensión así:


 Unidimensionales o vectores.
 Bidimensionales o matrices.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Explicaciòn


El miembro izquierdo de la asignación corresponde a la declaración del arreglo, y se explicita el tipo de datos del arreglo, su nombre y cantidad de dimensiones (cantidad de pares de corchetes vacíos); la parte derecha hace referencia al dimensionamiento del arreglo, es decir, al espacio de memoria que utilizará el arreglo.


<tipo_dato>: Es el tipo de datos del arreglo. Puede ser un tipo estándar (entero, real, caracter, logico, cadena)


nomArreglo: Es el nombre dado al arreglo, que debe cumplir todas las características para la construcción de identificadores.
 

[ ] [[ ]… [ ]]: Son pares de corchetes, donde cada par indica una nueva dimensión del arreglo; del segundo al último son opcionales.


nuevo: Es una palabra reservada del seudo lenguaje con la cual se solicita memoria para el arreglo. Como se verá, con esta misma palabra se podrán crear objetos.


[d1] [[d2]… [dn]]: Son números enteros que determinan la máxima capacidad de cada dimensión del arreglo. No hay un límite para la cantidad de dimensiones, simplemente se debe tener claro que n > 0.


Si se quiere definir un vector se especifica sólo la dimensión d1, para una matriz se especifican las dimensiones d1 y d2, para un arreglo de tridimensional las dimensiones d1, d2 y d3, y así sucesivamente.
 

Ejemplos:
 

entero valores[ ] = nuevo entero[100]
real numeros[ ] [ ] = nuevo real[4] [5]
cadena nombres[ ] [ ] [ ] = nuevo cadena[2] [3] [5]

 

En el primer ejemplo se ha declarado el vector valores de 100 enteros, en el segundo la matriz numeros de 20 reales (en cuatro filas y 5 columnas) y en el tercero el arreglotridimensional nombres con 30 cadenas (2 filas, 3 columnas y 5 planos).

 

 

Arreglos Unidimensionales(Vectores)

 

 

Es un arreglo unidimensional, es decir, cada elemento se diferencia del otro mediante un subíndice.

En nuestro caso, la primera posición será la posición 0 (cero).

 

 

 

 

 

 

 

 

Para este caso, el vector se llama Edades, tiene 6 elementos enteros, los números   0, 1, 2, 3,4 y 5 representan las posiciones del vector. 18, 15, 20, 10,12 y 30 son los elementos que están dentro del vector.

 

 

¿Cómo se declara un Vector?

 

Como los vectores en la POO son objetos se deben de instanciar

 

<Tipo de dato> <nombre del vector> < [ ]>= nuevo <tipo de dato> < [tamaño]>    

 

Entero Edades [] = nuevo Entero [6]

 

valores constantes (el compilador deduce automáticamente la dimensión del array) 

 

Entero Edades[] = {1,2,3,4}

 

NOTA  Si se desea crear un vector tipo Atributo permitiendo al usuario dimensionarlo por medio de teclado, se debe declararlo fuera del metodo y dimensionarlo dentro del metodo

 

Ejemplo

 

Clase ejemplo

 

    entero vector[]

   metodo principal()

       entero n

       imprima("digite tamaño del vector")

       lea n

       vector= nuevo entero[n]

   fin  metodo

fin clase

 

 

¿Cómo se ingresa un dato al vector?

 

 Lea <nombre del vector> < [posición]>   

EJEMPLO:

Lea Edades [3]

 

¿Cómo se muestra un dato del vector?

 

Muestre <nombre del vector> < [posición]>

EJEMPLO:

Muestre Edades [2]

 

Nota: La posición del vector debe ser un número entero, una variable entera o el resultado entero de un cálculo matemático.

 

Observación: podemos usar el atributo length quien nos determina la longitud del vector

Ejemplo n= vector.length

 

 

EJEMPLO:

 

Realice un algoritmo que cree un vector con 10 edades y luego las muestre desde la última edad ingresada hasta la primera.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A continuacion se muestra un ejemplo utilizando los diferentes conceptos vistos en eesta unidad

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Mètodos de Ordenamiento y Busqueda

 

 

 

 

 

 

Arreglos Bidimensionales(Matrices)

 

 

Matrices son un arreglo bidimensional, rectangular de datos dispuestos en filas y columnas, es decir se manejan dos subíndices

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

¿Cómo se declara una Matriz?

 

Como las matrices en la POO son objetos se deben de instanciar

 

<Tipo de dato> <nombre de la matriz> < [ ][ ]>=nuevo <nombre de la matriz> [fila] [columna] 

 

 Entero Edades [ ][ ] = nuevo Entero[5 ][6 ]

Valores constantes (el compilador deduce automáticamente la dimensión del array) 

 

entero Edades[][] = {  {1,2,3}, {4,5,6}  }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NOTA  Si se desea crear una matriz tipo Atributo permitiendo al usuario dimensionarlo por medio de teclado, se debe declararlo fuera del metodo y dimensionarlo dentro del metodo

 

Ejemplo

 

Clase ejemplo

 

    entero matriz[][]

   metodo principal()

       entero n,m

       imprima("digite tamaño de la matriz")

       lea n

       lea m

       matriz= nuevo entero[n][m]

   fin  metodo

fin clase

 

 

¿Cómo se ingresa un dato a la matriz?

 

 Lea <nombre de la matriz> < [fila][columna]>   

EJEMPLO:

Lea Edades [3][2]

 

¿Cómo se muestra un dato de la matriz?

 

Muestre <nombre de la matriz> < [fila][columna]>

EJEMPLO:

Muestre Edades [2][3]

 

Nota: La posición de la matriz debe ser un número entero, una variable entera o el resultado entero de un cálculo matemático.

 

Observación: podemos usar el atributo length quien nos determina la cantidad de filas de la matriz

Ejemplo n= matriz.length

 

para obtener la cantidad de columnas de cada fila se utiliza el atributo length de la siguiente forma

 Ejemplo      m= matriz[i].length

 

OTRA FORMA DE CREAR MATRICES EN JAVA

 

Se crean de forma similar a los arrays unidimensionales, añadiendo un índice.

 

Por ejemplo:

 

matriz de datos de tipo entero llamado ventas de 4 filas y 6 columnas:

entero [][] ventas = nuevo entero[4][6]; 

 

matriz de datos real llamado temperaturas de 3 filas y 4 columnas:

real [][] temperaturas = nuevo real[3][4];

 

En Java se pueden crear arrays irregulares en los que el número de elementos de cada fila es variable. Solo es obligatorio

indicar el número de filas.

 

Por ejemplo:

 

entero [][] m = nuevo entero[3][];

crea una matriz m de 3 filas.

A cada fila se le puede asignar un número distinto de columnas:

m[0] = nuevo entero[3];

m[1] = nuevo entero[5];

m[2] = nuevo entero[2];

 

Gráficamente podemos representar la disposición real en memoria del array anterior así:

 

 

 

 

 

 

 

 

 

Para recorrer arrays irregulares como el siguiente:

 

entero [][] a = {{6,7,5,0,4}, {3, 8, 4}, {1,0,2,7}, {9,5}};

 

Usaremos siempre length para obtener el número de columnas que tiene cada fila:

 

para (i = 0 hasta a.length-1,1)  //número de filas

     para (j = 0 hasta a[i].length-1,1 //número de columnas de cada fila

          imprima(a[i][j] , " ")

     fin para

  fin para

 

 

 

EJEMPLO:

 

Hacer un algoritmo que almacene números en una matriz de 5 * 6. Imprimir la suma de los números almacenados en la matriz.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ejercicios Resueltos

Ejercicio1

Almacenar 150 números en un vector, almacenarlos en otro vector en orden inverso al vector original e imprimir el vector resultante

Ejercicio2

Se tienen almacenados en la memoria dos vectores M y N de cien elementos cada uno. Hacer un algoritmo que escriba la palabra “Iguales” si ambos vectores son iguales y “Diferentes” si no lo son.

Ejercicio 3

Se tiene el vector A con 100 elementos almacenados. Diseñe un algoritmo que escriba “SI” si el vector esta ordenado ascendentemente o “NO” si el vector no está ordenado

Please reload

Ejercicio 4

Elaborar un algoritmo que lea una matriz de orden N x N y que calcule el promedio de los elementos de la diagonal principal

Ejercicio 5

Elaborar una matriz de orden N con datos numéricos crear un vector con los valores que son múltiplos de 3

Ejercicio 6

Elaborar un algoritmo que lea una matriz numérica de orden A x B y permita buscar el mayor de la matriz

Please reload

Realiza los siguientes ejercicios y luego comparalo con los resueltos

Departamento de Sistemas de Información                                                              Jefe de Oficina del Departamento

Instituto Tecnológico Metropolitano - ITM | Institución Universitaria                           Leonel Velasquez torres
Teléfono: (574) 460 07 27 Extensiones 5567 - 5554                                                 
Auxiliares Administartivas del Departamento
Calle 54 A # 30 - 01     Bloque L piso 3 oficina 303                                                   Luz Marina Montes  -  Diana Cristina Galeano

Medellín - Antioquia - Colombia                                                

                                                               Sitio elaborado por Jorge Hernan Suaza Jimenez

bottom of page