PDF de programación - Tema 5 Estructuras de datos simples

Imágen de pdf Tema 5 Estructuras de datos simples

Tema 5 Estructuras de datos simplesgráfica de visualizaciones

Publicado el 12 de Enero del 2019
967 visualizaciones desde el 12 de Enero del 2019
226,0 KB
28 paginas
Creado hace 8a (21/10/2015)
Tema 5

Estructuras de datos simples

Programación
2015-2016

Programación - Tema 5: Estructuras de datos simples

1

Tema 5. Estructuras de datos simples

● Introducción.

● Arrays.

● Records.

Programación - Tema 5: Estructuras de datos simples

2

¿Qué es una estructura de datos?
 Es un grupo de datos que queremos guardar

agrupado

==> en la misma variable.

 Las estructuras de datos más simples son los

“arrays” y los “records”

 Datos del mismo tipo → array
 Datos de distinto tipo → record

– Java no dispone de record, pero se pueden utilizar

objetos.

Programación - Tema 5: Estructuras de datos simples

3

Tema 5. Estructuras de datos simples

● Introducción.

● Arrays.

● Records.

Programación - Tema 5: Estructuras de datos simples

4

Arrays

 Ejemplo: temperatura máxima en Colmenarejo durante

una semana (7 variables) ¿y un año?

 Definición: conjunto de datos que ocupan posiciones
sucesivas de memoria y a los que se accede mediante
una única variable.

 Definición de arrays, 3 pasos:

– Declarar la variable
– Definir el nº de elementos
– Reservar memoria

tipo [] nombre ó tipo nombre []

nombre = new tipo [dimension]

int [] a , b;
int [] a = new int [3], b, c= new int [2];

Programación - Tema 5: Estructuras de datos simples

5

Arrays y memoria

 Un array es un puntero: Una variable que no contiene un valor, sino una

referencia a otra posición de memoria.

 Cuando se declara..

– Una variable → contenido indefinido.
– Un array → null (valor especial, “no apunta a nada”)

int [] arr1 = new int [4];

 Valor inicial?

Programación - Tema 5: Estructuras de datos simples

6

Arrays y memoria

 Valor inicial:

– 0 a números
– false a lógicos
– la cadena vacía a char
– null a String

Programación - Tema 5: Estructuras de datos simples

7

Guardar datos en arrays

• Acceso a elementos del array:
nombre [posición] = valor

Posición va de 0 a nº elementos-1.
(Java comprueba en ejecución)

● Asignación inicial:

int [] a; a = new int [] {1,2,3};
int [] a = new int [] {1,2,3,4}, b= {1,2};
int [a]; a = {1,2,3};

Programación - Tema 5: Estructuras de datos simples

8

Guardar datos en arrays

● ¿Qué ocurre si imprimimos un Array?

Programación - Tema 5: Estructuras de datos simples

9

Arrays y asignaciones

 Igualando elementos de dos arrays. Los elementos de arrays sí

se comportan como variables normales

 Copia de arrays. Si igualamos dos arrays, no se copian sino que
apuntan al mismo. Incluso aunque sean de distinto número de
elementos
– Para copiar hay que hacerlo elemento a elemento:

• usar System.arraycopy (origen, pos, destino, pos, nº

elementos),
• usar un bucle

Programación - Tema 5: Estructuras de datos simples

10

Arrays y asignaciones

 Dos arrays sólo son iguales con == si apuntan a la misma
posición de memoria. Para ver si son iguales, hay que comparar
elemento a elemento.

int [] array1={1,3,5}, array2={1,3,5};
array1 == array2 → false

Programación - Tema 5: Estructuras de datos simples

11

Longitud de un array

 Nombre.length devuelve el número de elementos

 No se puede cambiar la longitud de un array.

– Una vez definido el nº de elementos no se puede variar. Hay

que crear uno nuevo y copiar los elementos.

 Array de constantes. Aunque declaremos un array como final, sus
elementos se pueden cambiar (da igual que les hayamos dado
valor al crearlo o que se lo demos luego). Lo que es constante es
la posición de memoria a la que apunta.

Programación - Tema 5: Estructuras de datos simples

12

Longitud de un array

 Nombre.length devuelve el número de elementos

 No se puede cambiar la longitud de un array.

– Una vez definido el nº de elementos no se puede variar. Hay

que crear uno nuevo y copiar los elementos.

 Array de constantes. Aunque declaremos un array como final, sus
elementos se pueden cambiar (da igual que les hayamos dado
valor al crearlo o que se lo demos luego). Lo que es constante es
la posición de memoria a la que apunta.

Programación - Tema 5: Estructuras de datos simples

13

Matrices

 Declaración y creación, similar a los de una sola dimensión
 El primer número son las filas y el segundo las columnas.

– En memoria, cada fila es un array

tipo [][] nombre ó tipo nombre [] []
nombre = new tipo [d1][d2]
tipo [][] nombre = new tipo [d1][d2]
tipo [][]nombre = {{1,2},{3,4},{5,6}}

 Acceso a elementos de la matriz:

nombre [fila][columna] = valor;

Programación - Tema 5: Estructuras de datos simples

14

Matrices

 Se puede declarar solamente el nº filas y dejar la segunda

dimensión sin crear → se pueden crear arrays irregulares.

int [][] a;
a = new int [3][];
a[0] = new int [1];
a[1] = new int [3];
a[2] = new int [2];

a.length → 3 (filas)
a[0].length → 1
a[1].length → 3
a[2].length → 2

 Multi-dimensional arrays

– Tantas dimensiones como se quiera.

Programación - Tema 5: Estructuras de datos simples

15

Matrices y bucles anidados

 Ejercicio: Imprimir un array de dos dimensiones.

int [][] arr = new int [][]{{1,2,3},{4,5},{6,7,8,9}};

Programación - Tema 5: Estructuras de datos simples

16

Matrices y bucles anidados

 Ejercicio: Imprimir un array de dos dimensiones.

int [][] arr = new int [][]{{1,2,3},{4,5},{6,7,8,9}};

for (<tipo del array> elemento : <nombre del array>)

for (int [] filas : arr){

for (int elemento: filas){

}

System.out.print(elemento+" ");

}
System.out.println();

Programación - Tema 5: Estructuras de datos simples

17

Ejercicio

S6-Clase: Arrays

Programación - Tema 5: Estructuras de datos simples

18

Tema 5. Estructuras de datos simples

● Introducción.

● Arrays.

● Records.

Programación - Tema 5: Estructuras de datos simples

19

Recorsd → Objetos

 En Java no hay registros como tal, sino objetos.
 Un objeto es un nuevo tipo de datos, que nos permite guardar

datos de distintos tipos en la misma variable.

 El nombre del tipo es el nombre de la clase (que debe coincidir

con el nombre del fichero .java)

 Definimos cada uno de los datos que queremos guardar así:

– public <tipo> <variable>;

public class Fecha {
public int dia;
public String mes;
public int año;
public boolean festivo;
}

Programación - Tema 5: Estructuras de datos simples

20

Objetos

 Una clase puede contener:

– un programa ( o bloques de programa)
– un nuevo tipo (la definición de una estructura de datos)

 Record → Sin método main

 Generalmente los programas constan de muchas clases que

definen objetos y una que tiene el main

Programación - Tema 5: Estructuras de datos simples

21

Declaración de variables

 En el main de otra clase distinta

– No hace falta importarlo si están en el mismo paquete (en la

misma carpeta en el disco)

 Se declara la variable de este tipo como la de cualquier otro

 Hace falta crearla para poder empezar a usarla (parecido a los

arrays)
– Si no los creamos están a null.
– Son punteros.

Programación - Tema 5: Estructuras de datos simples

22

Nomenclatura

 Atributo\Campo: cada una de las variables que conforma un

nuevo tipo (la doc oficial usa Field)

 Clase: definición del nuevo tipo

 Objeto: variable del nuevo tipo

 Declarar y crear una variable de un tipo que es una clase ==

declarar y crear un objeto

Programación - Tema 5: Estructuras de datos simples

23

Uso de variables: acceso a atributos

 Para acceder a un atributo

• <nombre variable>.<nombre atributo>

Fecha f1;
f1 = new Fecha ();
f1.dia = 12;
f1.mes = "Noviembre";
f1.año= 2010;

 Ej.

creado

– Crear dos variables y darles distintos valores
– Intentar acceder a un atributo de un objeto que no ha sido

Programación - Tema 5: Estructuras de datos simples

24

Valores iniciales

 ¿Qué ocurre si intentamos utilizar un atributo sin darle valor?

– Valores iniciales (tipos básicos / String / otros objetos)

 Se pueden asignar otros valores iniciales distintos cuando se

declara la clase:

public class Fecha {

public int dia = 1;
public String mes = "Enero";
public int año = 1900;
public festivo = true;

}

Programación - Tema 5: Estructuras de datos simples

25

Manipulando objetos

 Imprimir

 Comparar

 Copiar

 No se puede directamente. Deben hacerse atributo a atributo.
 Existen formas de modificar este comportamiento.

Programación - Tema 5: Estructuras de datos simples

26

Resumen de variables

 Sitios en los que se declaran variables:

– Dentro del método main: variables locales, sin valor inicial

automático

– En una clase aparte para crear un nuevo tipo: atributos,

con valor inicial automático

– Si hay main, NUNCA se deberían declarar variables fuera de él

Programación - Tema 5: Estructuras de datos simples

27

Ejercicio

S7-Clase: Objetos

Programación - Tema 5: Estructuras de datos simples

28
  • Links de descarga
http://lwp-l.com/pdf14835

Comentarios de: Tema 5 Estructuras de datos simples (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad