Enviar pesquisa
Carregar
5
•
0 gostou
•
185 visualizações
Whaleejaa Wha
Seguir
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 11
Baixar agora
Baixar para ler offline
Recomendados
Numpy y Scipy
Numpy y Scipy
Miguel Atencio
6 A Arrays
6 A Arrays
jcpp67
ED 02 2_tda_arra_u
ED 02 2_tda_arra_u
A J
Areglos y registros
Areglos y registros
teoriacostitucional
6. tda arrayu generico
6. tda arrayu generico
Ana Ocaña
Tema3
Tema3
Pedro Sánchez
Páginas desde teoinfo(1 14)
Páginas desde teoinfo(1 14)
Santiago Acurio
clase demostrativa
clase demostrativa
jpamactivo
Recomendados
Numpy y Scipy
Numpy y Scipy
Miguel Atencio
6 A Arrays
6 A Arrays
jcpp67
ED 02 2_tda_arra_u
ED 02 2_tda_arra_u
A J
Areglos y registros
Areglos y registros
teoriacostitucional
6. tda arrayu generico
6. tda arrayu generico
Ana Ocaña
Tema3
Tema3
Pedro Sánchez
Páginas desde teoinfo(1 14)
Páginas desde teoinfo(1 14)
Santiago Acurio
clase demostrativa
clase demostrativa
jpamactivo
Arreglos
Arreglos
laura291091
Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++
Tensor
Vectores, array y sus métodos
Vectores, array y sus métodos
Orlando Verdugo
Cap06
Cap06
marcia-marti
Arrays - programación 3
Arrays - programación 3
yeimirbeth
12-Unidad 3: Encapsulamiento y modularidad
12-Unidad 3: Encapsulamiento y modularidad
Luis Fernando Aguas Bucheli
Punteros y elementos dinámicos en c++
Punteros y elementos dinámicos en c++
Tensor
Dokumentų rinkinys: UAB "Vilniaus energija" akcijų perleidimas SVD22
Dokumentų rinkinys: UAB "Vilniaus energija" akcijų perleidimas SVD22
Vilniaus miesto savivaldybė / Vilnius City Municipality
The place we live in
The place we live in
Simonas Drauksas
Travel: Texel, ACCESS Magazine Spring 2011
Travel: Texel, ACCESS Magazine Spring 2011
cleung
Hadees Part3
Hadees Part3
Islam Kerala
pallaso
pallaso
edyard87
2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf
kd19h
Telšių rajono savivaldybės mero V. Kleivos 2013 m. veiklos ataskaita
Telšių rajono savivaldybės mero V. Kleivos 2013 m. veiklos ataskaita
Jurgita Telšiai
Un día en el cole
Un día en el cole
luisiglesias
array
array
cristianolivarestoap
Algoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).ppt
DaveRodriguez22
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptx
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptx
juan gonzalez
Arreglos java
Arreglos java
María Luisa Velasco
Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)
Carlos Anibal Riascos Hurtado
Tema 5 - Estructuras de datos.pdf
Tema 5 - Estructuras de datos.pdf
GabrieleGalieroCasay1
Arrays multidimensionales pdf
Arrays multidimensionales pdf
Erika Herrera
Mais conteúdo relacionado
Mais procurados
Arreglos
Arreglos
laura291091
Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++
Tensor
Vectores, array y sus métodos
Vectores, array y sus métodos
Orlando Verdugo
Cap06
Cap06
marcia-marti
Arrays - programación 3
Arrays - programación 3
yeimirbeth
12-Unidad 3: Encapsulamiento y modularidad
12-Unidad 3: Encapsulamiento y modularidad
Luis Fernando Aguas Bucheli
Punteros y elementos dinámicos en c++
Punteros y elementos dinámicos en c++
Tensor
Mais procurados
(7)
Arreglos
Arreglos
Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++
Vectores, array y sus métodos
Vectores, array y sus métodos
Cap06
Cap06
Arrays - programación 3
Arrays - programación 3
12-Unidad 3: Encapsulamiento y modularidad
12-Unidad 3: Encapsulamiento y modularidad
Punteros y elementos dinámicos en c++
Punteros y elementos dinámicos en c++
Destaque
Dokumentų rinkinys: UAB "Vilniaus energija" akcijų perleidimas SVD22
Dokumentų rinkinys: UAB "Vilniaus energija" akcijų perleidimas SVD22
Vilniaus miesto savivaldybė / Vilnius City Municipality
The place we live in
The place we live in
Simonas Drauksas
Travel: Texel, ACCESS Magazine Spring 2011
Travel: Texel, ACCESS Magazine Spring 2011
cleung
Hadees Part3
Hadees Part3
Islam Kerala
pallaso
pallaso
edyard87
2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf
kd19h
Telšių rajono savivaldybės mero V. Kleivos 2013 m. veiklos ataskaita
Telšių rajono savivaldybės mero V. Kleivos 2013 m. veiklos ataskaita
Jurgita Telšiai
Un día en el cole
Un día en el cole
luisiglesias
Destaque
(8)
Dokumentų rinkinys: UAB "Vilniaus energija" akcijų perleidimas SVD22
Dokumentų rinkinys: UAB "Vilniaus energija" akcijų perleidimas SVD22
The place we live in
The place we live in
Travel: Texel, ACCESS Magazine Spring 2011
Travel: Texel, ACCESS Magazine Spring 2011
Hadees Part3
Hadees Part3
pallaso
pallaso
2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf
Telšių rajono savivaldybės mero V. Kleivos 2013 m. veiklos ataskaita
Telšių rajono savivaldybės mero V. Kleivos 2013 m. veiklos ataskaita
Un día en el cole
Un día en el cole
Semelhante a 5
array
array
cristianolivarestoap
Algoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).ppt
DaveRodriguez22
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptx
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptx
juan gonzalez
Arreglos java
Arreglos java
María Luisa Velasco
Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)
Carlos Anibal Riascos Hurtado
Tema 5 - Estructuras de datos.pdf
Tema 5 - Estructuras de datos.pdf
GabrieleGalieroCasay1
Arrays multidimensionales pdf
Arrays multidimensionales pdf
Erika Herrera
Unidad5 estructuras basicas de datos en lenguaje java
Unidad5 estructuras basicas de datos en lenguaje java
Gente de Alicante
12 Arreglos
12 Arreglos
Francisco Xavier Yumbla Arevalo
material_2020A1_COM110_01_137084.pptx
material_2020A1_COM110_01_137084.pptx
ssuserfeb9a2
PPT.pdf
PPT.pdf
EfrainRodriguez47190
arreglos.pdf
arreglos.pdf
ABNERDANIELPIRIRPIRI
Introducción a la programación y la informática. Tema 10
Introducción a la programación y la informática. Tema 10
Andres Garcia Garcia
Arrays
Arrays
aparcoinga
Arrays
Arrays
marcia-marti
Arrays
Arrays
marcia-marti
Arrays
Arrays
Maria Merino
Guia8 programacion
Guia8 programacion
Edwin Ortega
Matriz y vectores bidimencionales
Matriz y vectores bidimencionales
SaulCquema
Tema6.pdf
Tema6.pdf
AnonymousNdBOr4
Semelhante a 5
(20)
array
array
Algoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).ppt
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptx
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptx
Arreglos java
Arreglos java
Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)
Tema 5 - Estructuras de datos.pdf
Tema 5 - Estructuras de datos.pdf
Arrays multidimensionales pdf
Arrays multidimensionales pdf
Unidad5 estructuras basicas de datos en lenguaje java
Unidad5 estructuras basicas de datos en lenguaje java
12 Arreglos
12 Arreglos
material_2020A1_COM110_01_137084.pptx
material_2020A1_COM110_01_137084.pptx
PPT.pdf
PPT.pdf
arreglos.pdf
arreglos.pdf
Introducción a la programación y la informática. Tema 10
Introducción a la programación y la informática. Tema 10
Arrays
Arrays
Arrays
Arrays
Arrays
Arrays
Arrays
Arrays
Guia8 programacion
Guia8 programacion
Matriz y vectores bidimencionales
Matriz y vectores bidimencionales
Tema6.pdf
Tema6.pdf
Mais de Whaleejaa Wha
Windows 7
Windows 7
Whaleejaa Wha
Windows 7 avanzado
Windows 7 avanzado
Whaleejaa Wha
Virtualizacion con vm ware
Virtualizacion con vm ware
Whaleejaa Wha
Unity
Unity
Whaleejaa Wha
Ubuntu
Ubuntu
Whaleejaa Wha
Tecnico windows
Tecnico windows
Whaleejaa Wha
Tecnico hardware desde cero
Tecnico hardware desde cero
Whaleejaa Wha
Soluciones pc desde cero
Soluciones pc desde cero
Whaleejaa Wha
Silverlight
Silverlight
Whaleejaa Wha
Servicio tecnico notebooks
Servicio tecnico notebooks
Whaleejaa Wha
Seguridad pc desde cero
Seguridad pc desde cero
Whaleejaa Wha
Seguridad informatica
Seguridad informatica
Whaleejaa Wha
Routers y switches cisco
Routers y switches cisco
Whaleejaa Wha
Robotica
Robotica
Whaleejaa Wha
Redes wireless
Redes wireless
Whaleejaa Wha
Redes wifi
Redes wifi
Whaleejaa Wha
Proteus vsm
Proteus vsm
Whaleejaa Wha
Produccion musical
Produccion musical
Whaleejaa Wha
Php avanzado
Php avanzado
Whaleejaa Wha
Overclocking
Overclocking
Whaleejaa Wha
Mais de Whaleejaa Wha
(20)
Windows 7
Windows 7
Windows 7 avanzado
Windows 7 avanzado
Virtualizacion con vm ware
Virtualizacion con vm ware
Unity
Unity
Ubuntu
Ubuntu
Tecnico windows
Tecnico windows
Tecnico hardware desde cero
Tecnico hardware desde cero
Soluciones pc desde cero
Soluciones pc desde cero
Silverlight
Silverlight
Servicio tecnico notebooks
Servicio tecnico notebooks
Seguridad pc desde cero
Seguridad pc desde cero
Seguridad informatica
Seguridad informatica
Routers y switches cisco
Routers y switches cisco
Robotica
Robotica
Redes wireless
Redes wireless
Redes wifi
Redes wifi
Proteus vsm
Proteus vsm
Produccion musical
Produccion musical
Php avanzado
Php avanzado
Overclocking
Overclocking
5
1.
Representación de Datos
y Aplicaciones Representació Tema 8 Arrays Natividad Martínez Madrid Martí nati@it.uc3m.es Objetivos del tema 8 ● Ser capaz de diseñar, dimensionar y acceder de forma adecuada a un array ● Aprender a utilizar de forma adecuada las estructuras estáticas de datos en conjunción con las estructuras de control de flujo de programa Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 2 1
2.
Contenido del tema
8 ● Conceptos básicos de arrays ― Utilidad de las estructuras de almacenamiento masivo de datos ― Declaración de arrays ― Creación de arrays ― Inicialización de arrays ― Acceso y comprobaciones sobre arrays ― Copia de arrays ― Arrays multidimensionales ● Uso de arrays ― Cálculos aritméticos sobre matrices ― Algoritmos de búsqueda ― Algoritmos de ordenación Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 3 Arrays Definición: ● Un array es una secuencia de objetos o de datos primitivos, todos del mismo tipo, unidos bajo un identificador común ● Permiten agrupar información relacionada ● Son de tipo referencia ● Sinónimos: ― Tabla ― Matriz Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 4 2
3.
Arrays ● Cada objeto
o dato del array está asignado a un posición concreta del array, designada por un índice Índice 1er elemento = 0 c[0] -7 c[1] 0 c[2] 3 c[3] 8 c[4] 5 Longitud del array = 10 c[5] -4 c[6] 6 c[7] 6 c[8] 1 Índice n-ésimo elemento = n - 1 Índice último elemento = longitud - 1 c[9] 2 Índice: expresión entera: 0 <= índice <= longitud-1 Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 5 Declaración de arrays ● Se indica el tipo de los elementos contenidos por el array, seguido por [] y seguido por el nombre identificador del array ― los [] también pueden ir detrás del nombre int[] enteros; int enteros[]; Los elementos pueden ser Punto[] puntos; de tipo primitivo o de tipo referencia Punto puntos[]; Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 6 3
4.
Uso de la
memoria en declaración de arrays Memoria de pila Memoria de heap int[] enteros; enteros null Punto[] puntos; puntos null class Punto { int x; int y; Punto (int x, int y){ this.x = x; this.y = y; } } Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 7 Creación de arrays ● Usando new, seguido del nombre del tipo de los elementos del array, seguido por el tamaño del array (entre corchetes) nombreArray = new tipo[tamaño]; enteros = new int[3]; puntos = new Punto[2]; Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 8 4
5.
Creación de arrays ●
El tamaño del array tiene que indicarse en el momento de su creación, y no puede cambiarse después ● Los elementos se inicializan a cero, false o null en el momento de su creación ● Igual que sucede con el resto de objetos, se puede declarar el array y crearlo en la misma sentencia: int[] enteros = new int[3]; Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 9 Creación de arrays ● Durante la creación del array ― Se reserva memoria para el atributo length ― Se reserva memoria para guardar la cantidad de elementos indicada ― Se asigna la dirección de esa área de memoria a la referencia del array ● Arrays de tipos primitivos ― Espacio para guardar los valores concretos, ya que el tamaño de los tipos primitivos es conocido a priori ● Arrays de objetos ― Espacio para guardar las referencias a los objetos Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 10 5
6.
Uso de la
memoria en la creación de un array Memoria de pila Memoria de heap enteros = new int[3]; enteros length 3 enteros[0] 0 enteros[1] 0 enteros[2] 0 puntos = new Punto[2]; puntos length 2 puntos[0] null puntos[1] null ¡Cuidado! No es una llamada al constructor Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 11 Inicialización de arrays ● Según el tipo de los elementos: ― Variables de tipos primitivos: enteros[0] = 7; ― Objetos de clases puntos[0] = new Punto(1,2); Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 12 6
7.
Uso de la
memoria en la inicialización de un array Memoria de pila Memoria de heap enteros[0] = 7; enteros length 3 enteros[0] 7 enteros[1] 0 enteros[2] 0 puntos[0] = new Punto(1,2); puntos length 2 puntos[0] puntos[1] null x 1 y 2 Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 13 Ejemplo: Inicialización de arrays public class Factorial { private int[] fact; public Factorial(int dimension) { fact = new int[dimension]; fact[0] = 1; for (int i = 1; i < fact.length; i++) fact[i] = fact[i-1] * i; } [...] } Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 14 7
8.
Otra inicialización de
arrays ● De manera explícita en el momento de su declaración: int[] arrayEntero = {1,2,3,4,5}; String[] diasSemana = {“lunes”, “martes”, “miercoles”, “jueves”, “viernes”, “sabado”,“domingo”}; Punto[] puntos = {new Punto(1,2), new Punto(3,4); ● Determina el tamaño del array ● Sólo en el momento de la declaración Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 15 Acceso a los arrays Dos formas de acceder a su información: 1. Consulta de su longitud ● Atributo de tipo entero positivo (de sólo lectura) length que proporciona el tamaño del array nombreArray.length 2. Indexación ● Acceso a los elementos del array a través de su índice ● El índice siempre tiene un rango entre 0 y N-1 siendo N el tamaño del array nombreArray[i] Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 16 8
9.
Ejemplo: Acceso arrays ●
Crea un array con los enteros del 1 al argumento introducido, e imprime la suma de los elementos public class Serie { public static void main (String[] args){ int tamanyo = Integer.parseInt(args[0]); int[] a1 = new int[tamanyo]; int suma = 0; for (int i = 0; i < a1.length; i++) { a1[i] = i + 1; suma += a1[i]; } System.out.println("La suma es: " + suma); } } Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 17 Ejemplo: Acceso arrays public class Serie2 { private int[] a1; private int suma; public Serie2(int tamanyo){ a1 = new int[tamanyo]; suma = 0; for (int i = 0; i < a1.length; i++) { a1[i] = i + 1; suma += a1[i]; } } public static void main (String[] args){ int tamanyo = Integer.parseInt(args[0]); Serie2 rec = new Serie2(tamanyo); System.out.println("La suma es: " + rec.suma); } } Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 18 9
10.
Copia de arrays ●
La asignación del valor de una variable de array a otra sólo copiará la referencia Punto[] puntos2 = puntos; Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 19 Uso de la memoria en la inicialización de un array Memoria de pila Memoria de heap Punto[] puntos2 = puntos; puntos2 puntos length 2 puntos[0] puntos[1] null x 1 y 2 Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 20 10
11.
Ejemplo: Copia arrays
public class Arrays { public static void main (String[] args){ int[] a1 = {1,2,3,4,5}; int[] a2; a2 = a1; for (int i = 0; i < a2.length; i++) a2[i]++; for (int i = 0; i < a1.length; i++) System.out.println("a1[" + i + "] = " + a1[i]); } } ● ¿Qué imprime este programa? Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 21 Copia de arrays ● Se puede utilizar un bucle: public class EjemploCopia { public static int[] copia (int[] x1){ int[] x2 = new int[x1.length]; for (int i = 0; i < x1.length; i++) x2[i] = x1[i]; return x2; } public static void main (String[] args){ int[] a1 = {1,2,3,4,5}; int[] a2 = copia(a1); for (int i = 0; i < a2.length; i++) a2[i]++; for (int i = 0; i < a1.length; i++) System.out.println("a1[" + i + "] = " + a1[i] + "; a2[" + i + "] = " + a2[i]); } } Tema 8: Arrays Representación de Datos y Aplicaciones © Natividad Martínez Madrid 22 11
Baixar agora