SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Arrays
Índice
3
4
4
6
8
Arrays
1 | Arrays
1.1 | Definición de un array
1.2 |Acceso a los elementos del array
1.3 | Arrays multidimensionales
1.4 | Ordenación de arrays
Arrays | TELEFÓNICA /
/ 3
En el ejemplo de la figura anterior, tenemos un array de 7 elementos
de tipo número entero, contenido en la variable codigos. En este
caso, la posición asignada al primer elemento es la 1, a siguiente la
2 y así sucesivamente.
1. Arrays
Un array, también llamado tabla o matriz, es un conjunto de datos de un
mismo tipo al que se accede mediante una única variable. Cada dato tiene una
posición en el array:
Los arrays los utilizamos cuando queremos manejar un grupo de
datos de manera conjunta, realizando una serie de operaciones
sobre dichos datos. Al acceder a todos ellos mediante la misma
variable y tener un índice asociado, el array se puede recorrer
mediante una instrucción de tipo repetitivo, con lo que podemos
definir las operaciones dentro de la estructura repetitiva y que estas
se apliquen para cada uno de los elementos del array.
10
1
Códigos 25
2
1
3
30
4
17
5
15
6
9
7
Arrays | TELEFÓNICA /
/ 4
A la hora de declarar una variable de tipo array, lo haremos como con cualquier otra variable, solo
que debemos indicar el rango de índices para establecer el tamaño del array:
Para poder acceder a una posición del array utilizaremos la expresión variable[indice]. Como vemos,
después del nombre de la variable se indica entre corchetes la posición a la que queremos acceder.
Por ejemplo, para almacenar un valor en la primera posición del array códigos sería:
1.1 | Definición de un array
1.2 | Acceso a los elementos del array
En la instrucción anterior se ha declarado la variable códigos del
ejemplo, consistente en un array de enteros de 7 elementos
Y para decirle al programa que nos muestre el valor de la última
posición sería:
codigos 1 to 7 Integer
Hay lenguajes de programación en los que el índice del primer
elemento está fijado en 0 y no se puede modificar, por lo que a la hora
de declarar el array simplemente se indicará el tamaño del mismo.
codigos[1]=100 Imprimir codigos[7]
Arrays | TELEFÓNICA /
/ 5
Elsiguienteprogramadeejemploalmacenalos10primerosnúmeros
pares en un array de enteros y después lo recorre para mostrar su
contenido:
Inicio
Datos:
nums 1 to 10 Integer
i Integer
Código:
For i=1 To 10 Step 1
		nums[i]=(i-1)*2
End For
For i=1 To 10 Step 1
		Imprimir nums[i]
End For
Fin
Arrays | TELEFÓNICA /
/ 6
1.3 | Arrays multidimensionales
El tipo de array que hemos tratado hasta ahora es un array de una dimensión, pero podemos tener
arrays de varias dimensiones. Un array de dos dimensiones, por ejemplo, sería como una tabla
organizada en filas y columnas:
El array de la imagen anterior sería de dos dimensiones y tendría un
tamaño de 4 x 7 = 28 elementos. Para declarar una variable de este
tipo de array utilizaremos la expresión:
La variable la hemos llamado elementos y se deben indicar los rangos
de índices de cada dimensión, separados por una coma.
1
1
2
2
3
3
4
4
5 6 7
elementos 1 to 7, 1 to 4 Integer
Arrays | TELEFÓNICA /
/ 7
Para acceder a cada posición, utilizaremos doble corchete, uno para
cada índice. Por ejemplo, para almacenar un número en la quinta
columna y segunda fila sería:
Para arrays con más de dos dimensiones el proceso sería el mismo,
aunque a partir de tres dimensiones no podríamos hacer una
representación gráfica del mismo.
En el siguiente ejemplo declaramos un array de tres dimensiones de
tamaño 4x7x3:
Para recorrer un array multidimensional, se deberán utilizar
estructuras repetitivas anidadas, una por cada dimensión. El
siguiente algoritmo de ejemplo simula la generación de un tablero
de ajedrez mediante un array bidimensional, representando los
cuadrados negros con 1 y los blancos con 0:
1
1
2
2
3
3
4
4
5
30
6 7
elementos[5][2]=30
datos 1 to 4, 1 to 7, 1 to 3 Integer
datos[2][5][1]=100
Inicio
Datos:
Tablero 1 to 8, 1 to 8 Integer
I,K Integer
For I=1 To 8 Step 1
		 For K=1 To 8 Step 1
			If((I+K)%2==0) Then
				Tablero[I][K]=0
			Else
				Tablero[I][K]=1
			End If
		End For
End For
Fin
Arrays | TELEFÓNICA /
/ 8
En cualquier caso, para conseguir ordenar un array debemos seguir
algún método que nos permita definir un algoritmo que garantice
dicha ordenación. Uno de esos métodos es el conocido como método
de la burbuja.
El método de la burbuja consiste en ir realizando ordenaciones
parciales de cada elemento del array, de manera que al final
conseguiremos tener ordenados todos los elementos.
Más concretamente, el procedimiento a seguir para aplicar este
método en el caso de un array numérico que deba ser ordenado
de menor a mayor, consistirá en lo siguiente: para cada elemento
del array, se comprueba si alguno de los siguientes elementos es
menor que él, si es así realizamos el intercambio de los elementos
y seguimos con las comprobaciones, si encontramos un nuevo
elemento menor, volvemos a intercambiar, y así hasta llegar al
último.
Si el proceso anterior se realiza con todos los elementos del array,
excepto el último, se garantiza que el array quedará ordenado al
finalizar todas las comprobaciones.
En la siguiente imagen se ilustra gráficamente el proceso de
ordenación de un array de ejemplo, formado por los números 10,
1.4 | Ordenación de arrays
Una de las tareas más habituales que se llevan a cabo con arrays es la ordenación de los
mismos. Ordenar un array consiste en colocar sus elementos siguiendo un determinado criterio
de ordenación, por ejemplo, en un array de números este criterio podría consistir en colocar los
elementos de menor a mayor o de mayor a menor.
25, 1, 30 y 17, utilizando el método de la burbuja que se acaba de
describir:
10
1
1
1
1
1
1
1
25
25
10
10
¿25<10? ->NO
¿10<25? ->SI
¿30<25? ->NO
¿25<30? ->SI
¿30<1? ->NO
¿30<10? ->NO
¿17<1? ->NO
¿17<10? ->NO
¿1<10? ->SI
¿17<25? ->SI
INTERCAMBIO
INTERCAMBIO
INTERCAMBIO
INTERCAMBIO
25
10
10
10
1
10
25
17
1
25
30
30
30
30
30
30
30
30
25
25
17
17
17
25
17
17
17
17
Arrays | TELEFÓNICA /
/ 9
La primera fila representa las comprobaciones del primer elemento
del array, en la segunda fila se indican las comprobaciones con el
segundo elemento, y así sucesivamente. Cuando se cumple la
condición, se realiza el intercambio de los elementos y se continúa
comprobando con los siguientes.
Decaraaaplicarmediantepseudocódigoelmétododelaburbujapara
ordenar un array, debemos utilizar dos instrucciones for anidadas,
la primera para recorrer cada uno de los elementos del array y la
segunda para realizar las comprobaciones entre cada elemento y los
siguientes. Así mismo, se necesitará una variable auxiliar para poder
realizar el intercambio de las posiciones, tal y como se ilustra en la
siguiente imagen:
Para poder intercambiar el contenido de dos posiciones del array,
primero se salva el contenido de una de las posiciones en la variable
auxiliar, después se vuelca en dicha posición el contenido de la
segunda y en tercer lugar, el valor de la variable auxiliar se lleva a la
posición que fue volcada en la primera.
El siguiente algoritmo realiza la ordenación del array de notas que
utilizamos en el ejercicio de ejemplo presentado al principio del
apartado, utilizando la variable aux para realizar el intercambio de
los datos:
10
10
1
2 3
25
25
1
10
10
30
30
17
17
For I=1 To 15 Step 1
For K=I+1 To 15 Step 1
		If(notas[K]<notas[I]) Then
			//realización del intercambio
			aux=notas[I]
			notas[I]=notas[K]
			notas[K]=aux
		End If
End For
End For
Arrays.pdf

Más contenido relacionado

Similar a Arrays.pdf

Similar a Arrays.pdf (20)

P3si
P3siP3si
P3si
 
Metodo de la burbuja en algoritmo
Metodo de la burbuja en algoritmo Metodo de la burbuja en algoritmo
Metodo de la burbuja en algoritmo
 
Anderson martinez arreglos
Anderson martinez arreglosAnderson martinez arreglos
Anderson martinez arreglos
 
Vectores y matrices
Vectores y matricesVectores y matrices
Vectores y matrices
 
Vectores en power point [recuperado]
Vectores en power point [recuperado]Vectores en power point [recuperado]
Vectores en power point [recuperado]
 
Presentacion
PresentacionPresentacion
Presentacion
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Ordenación Distribución
Ordenación DistribuciónOrdenación Distribución
Ordenación Distribución
 
Algoritmos ordenación.pptx
Algoritmos ordenación.pptxAlgoritmos ordenación.pptx
Algoritmos ordenación.pptx
 
Arreglos en c++2020
Arreglos en c++2020Arreglos en c++2020
Arreglos en c++2020
 
Sesion 10 Arreglos Vectores y matrices.pptx
Sesion 10 Arreglos Vectores y matrices.pptxSesion 10 Arreglos Vectores y matrices.pptx
Sesion 10 Arreglos Vectores y matrices.pptx
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamiento
 
Jyoc java-cap04 vectores (arrays)
Jyoc java-cap04 vectores (arrays)Jyoc java-cap04 vectores (arrays)
Jyoc java-cap04 vectores (arrays)
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
27 Php. Arrays Bidimensionales
27 Php. Arrays Bidimensionales27 Php. Arrays Bidimensionales
27 Php. Arrays Bidimensionales
 
Matrices. algebra
Matrices. algebraMatrices. algebra
Matrices. algebra
 
arrays
arraysarrays
arrays
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Arreglos enitmar
Arreglos enitmarArreglos enitmar
Arreglos enitmar
 

Último

Los idiomas más hablados en el mundo (2024).pdf
Los idiomas más hablados en el mundo  (2024).pdfLos idiomas más hablados en el mundo  (2024).pdf
Los idiomas más hablados en el mundo (2024).pdfJC Díaz Herrera
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaJoellyAlejandraRodrg
 
Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOJuan Carlos Fonseca Mata
 
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdfCALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdfPOULANDERSONDELGADOA2
 
llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllJulietaCarbajalOsis
 
Tipos de Educacion en diferentes partes del mundo.pptx
Tipos de Educacion en diferentes partes del mundo.pptxTipos de Educacion en diferentes partes del mundo.pptx
Tipos de Educacion en diferentes partes del mundo.pptxMiguelPerz4
 
Los primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdfLos primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdfJC Díaz Herrera
 
INFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdf
INFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdfINFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdf
INFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdfMiguelGomez900779
 
Triptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudirTriptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudirluis809799
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfJC Díaz Herrera
 
Las marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfLas marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfJC Díaz Herrera
 
Familias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdfFamilias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdfJC Díaz Herrera
 
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfIndustria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfJC Díaz Herrera
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfJC Díaz Herrera
 
Posiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfPosiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfJC Díaz Herrera
 
PANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaPANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaRosaHurtado26
 
PIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosPIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosEstefaniaRojas54
 
CNEB-CURRICULO NACIONAL DE EDUCACION BASICA
CNEB-CURRICULO NACIONAL DE EDUCACION BASICACNEB-CURRICULO NACIONAL DE EDUCACION BASICA
CNEB-CURRICULO NACIONAL DE EDUCACION BASICAYOSHELINSARAIMAMANIS2
 
Investigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfInvestigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfalexanderleonyonange
 
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdfReservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdfJC Díaz Herrera
 

Último (20)

Los idiomas más hablados en el mundo (2024).pdf
Los idiomas más hablados en el mundo  (2024).pdfLos idiomas más hablados en el mundo  (2024).pdf
Los idiomas más hablados en el mundo (2024).pdf
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problema
 
Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATO
 
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdfCALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
 
llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
 
Tipos de Educacion en diferentes partes del mundo.pptx
Tipos de Educacion en diferentes partes del mundo.pptxTipos de Educacion en diferentes partes del mundo.pptx
Tipos de Educacion en diferentes partes del mundo.pptx
 
Los primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdfLos primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdf
 
INFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdf
INFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdfINFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdf
INFORME DE EVALUACIÓN DE LOS REQUERIMIENTOS.pdf
 
Triptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudirTriptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudir
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
 
Las marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfLas marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdf
 
Familias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdfFamilias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdf
 
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfIndustria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdf
 
Posiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfPosiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdf
 
PANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaPANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitectura
 
PIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosPIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos años
 
CNEB-CURRICULO NACIONAL DE EDUCACION BASICA
CNEB-CURRICULO NACIONAL DE EDUCACION BASICACNEB-CURRICULO NACIONAL DE EDUCACION BASICA
CNEB-CURRICULO NACIONAL DE EDUCACION BASICA
 
Investigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfInvestigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdf
 
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdfReservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
 

Arrays.pdf

  • 2. Índice 3 4 4 6 8 Arrays 1 | Arrays 1.1 | Definición de un array 1.2 |Acceso a los elementos del array 1.3 | Arrays multidimensionales 1.4 | Ordenación de arrays
  • 3. Arrays | TELEFÓNICA / / 3 En el ejemplo de la figura anterior, tenemos un array de 7 elementos de tipo número entero, contenido en la variable codigos. En este caso, la posición asignada al primer elemento es la 1, a siguiente la 2 y así sucesivamente. 1. Arrays Un array, también llamado tabla o matriz, es un conjunto de datos de un mismo tipo al que se accede mediante una única variable. Cada dato tiene una posición en el array: Los arrays los utilizamos cuando queremos manejar un grupo de datos de manera conjunta, realizando una serie de operaciones sobre dichos datos. Al acceder a todos ellos mediante la misma variable y tener un índice asociado, el array se puede recorrer mediante una instrucción de tipo repetitivo, con lo que podemos definir las operaciones dentro de la estructura repetitiva y que estas se apliquen para cada uno de los elementos del array. 10 1 Códigos 25 2 1 3 30 4 17 5 15 6 9 7
  • 4. Arrays | TELEFÓNICA / / 4 A la hora de declarar una variable de tipo array, lo haremos como con cualquier otra variable, solo que debemos indicar el rango de índices para establecer el tamaño del array: Para poder acceder a una posición del array utilizaremos la expresión variable[indice]. Como vemos, después del nombre de la variable se indica entre corchetes la posición a la que queremos acceder. Por ejemplo, para almacenar un valor en la primera posición del array códigos sería: 1.1 | Definición de un array 1.2 | Acceso a los elementos del array En la instrucción anterior se ha declarado la variable códigos del ejemplo, consistente en un array de enteros de 7 elementos Y para decirle al programa que nos muestre el valor de la última posición sería: codigos 1 to 7 Integer Hay lenguajes de programación en los que el índice del primer elemento está fijado en 0 y no se puede modificar, por lo que a la hora de declarar el array simplemente se indicará el tamaño del mismo. codigos[1]=100 Imprimir codigos[7]
  • 5. Arrays | TELEFÓNICA / / 5 Elsiguienteprogramadeejemploalmacenalos10primerosnúmeros pares en un array de enteros y después lo recorre para mostrar su contenido: Inicio Datos: nums 1 to 10 Integer i Integer Código: For i=1 To 10 Step 1 nums[i]=(i-1)*2 End For For i=1 To 10 Step 1 Imprimir nums[i] End For Fin
  • 6. Arrays | TELEFÓNICA / / 6 1.3 | Arrays multidimensionales El tipo de array que hemos tratado hasta ahora es un array de una dimensión, pero podemos tener arrays de varias dimensiones. Un array de dos dimensiones, por ejemplo, sería como una tabla organizada en filas y columnas: El array de la imagen anterior sería de dos dimensiones y tendría un tamaño de 4 x 7 = 28 elementos. Para declarar una variable de este tipo de array utilizaremos la expresión: La variable la hemos llamado elementos y se deben indicar los rangos de índices de cada dimensión, separados por una coma. 1 1 2 2 3 3 4 4 5 6 7 elementos 1 to 7, 1 to 4 Integer
  • 7. Arrays | TELEFÓNICA / / 7 Para acceder a cada posición, utilizaremos doble corchete, uno para cada índice. Por ejemplo, para almacenar un número en la quinta columna y segunda fila sería: Para arrays con más de dos dimensiones el proceso sería el mismo, aunque a partir de tres dimensiones no podríamos hacer una representación gráfica del mismo. En el siguiente ejemplo declaramos un array de tres dimensiones de tamaño 4x7x3: Para recorrer un array multidimensional, se deberán utilizar estructuras repetitivas anidadas, una por cada dimensión. El siguiente algoritmo de ejemplo simula la generación de un tablero de ajedrez mediante un array bidimensional, representando los cuadrados negros con 1 y los blancos con 0: 1 1 2 2 3 3 4 4 5 30 6 7 elementos[5][2]=30 datos 1 to 4, 1 to 7, 1 to 3 Integer datos[2][5][1]=100 Inicio Datos: Tablero 1 to 8, 1 to 8 Integer I,K Integer For I=1 To 8 Step 1 For K=1 To 8 Step 1 If((I+K)%2==0) Then Tablero[I][K]=0 Else Tablero[I][K]=1 End If End For End For Fin
  • 8. Arrays | TELEFÓNICA / / 8 En cualquier caso, para conseguir ordenar un array debemos seguir algún método que nos permita definir un algoritmo que garantice dicha ordenación. Uno de esos métodos es el conocido como método de la burbuja. El método de la burbuja consiste en ir realizando ordenaciones parciales de cada elemento del array, de manera que al final conseguiremos tener ordenados todos los elementos. Más concretamente, el procedimiento a seguir para aplicar este método en el caso de un array numérico que deba ser ordenado de menor a mayor, consistirá en lo siguiente: para cada elemento del array, se comprueba si alguno de los siguientes elementos es menor que él, si es así realizamos el intercambio de los elementos y seguimos con las comprobaciones, si encontramos un nuevo elemento menor, volvemos a intercambiar, y así hasta llegar al último. Si el proceso anterior se realiza con todos los elementos del array, excepto el último, se garantiza que el array quedará ordenado al finalizar todas las comprobaciones. En la siguiente imagen se ilustra gráficamente el proceso de ordenación de un array de ejemplo, formado por los números 10, 1.4 | Ordenación de arrays Una de las tareas más habituales que se llevan a cabo con arrays es la ordenación de los mismos. Ordenar un array consiste en colocar sus elementos siguiendo un determinado criterio de ordenación, por ejemplo, en un array de números este criterio podría consistir en colocar los elementos de menor a mayor o de mayor a menor. 25, 1, 30 y 17, utilizando el método de la burbuja que se acaba de describir: 10 1 1 1 1 1 1 1 25 25 10 10 ¿25<10? ->NO ¿10<25? ->SI ¿30<25? ->NO ¿25<30? ->SI ¿30<1? ->NO ¿30<10? ->NO ¿17<1? ->NO ¿17<10? ->NO ¿1<10? ->SI ¿17<25? ->SI INTERCAMBIO INTERCAMBIO INTERCAMBIO INTERCAMBIO 25 10 10 10 1 10 25 17 1 25 30 30 30 30 30 30 30 30 25 25 17 17 17 25 17 17 17 17
  • 9. Arrays | TELEFÓNICA / / 9 La primera fila representa las comprobaciones del primer elemento del array, en la segunda fila se indican las comprobaciones con el segundo elemento, y así sucesivamente. Cuando se cumple la condición, se realiza el intercambio de los elementos y se continúa comprobando con los siguientes. Decaraaaplicarmediantepseudocódigoelmétododelaburbujapara ordenar un array, debemos utilizar dos instrucciones for anidadas, la primera para recorrer cada uno de los elementos del array y la segunda para realizar las comprobaciones entre cada elemento y los siguientes. Así mismo, se necesitará una variable auxiliar para poder realizar el intercambio de las posiciones, tal y como se ilustra en la siguiente imagen: Para poder intercambiar el contenido de dos posiciones del array, primero se salva el contenido de una de las posiciones en la variable auxiliar, después se vuelca en dicha posición el contenido de la segunda y en tercer lugar, el valor de la variable auxiliar se lleva a la posición que fue volcada en la primera. El siguiente algoritmo realiza la ordenación del array de notas que utilizamos en el ejercicio de ejemplo presentado al principio del apartado, utilizando la variable aux para realizar el intercambio de los datos: 10 10 1 2 3 25 25 1 10 10 30 30 17 17 For I=1 To 15 Step 1 For K=I+1 To 15 Step 1 If(notas[K]<notas[I]) Then //realización del intercambio aux=notas[I] notas[I]=notas[K] notas[K]=aux End If End For End For