SlideShare una empresa de Scribd logo
1 de 20
vectores y matrices
Arrays
Un array es una estructura de datos
que contiene una colección de datos del mismo tipo
Ejemplos
Temperaturas mínimas de los últimos treinta días
Valor de las acciones de una empresa durante la última semana
…
Propiedades de los arrays
- Los arrays se utilizan como contenedores para almacenar datos relacionados (en vez de
declarar variables por separado para cada uno de los elementos del array).
- Todos los datos incluidos en el array son del mismo tipo. Se pueden crear arrays de
enteros de tipo int o de reales de tipo float, pero en un mismo array no se pueden
mezclar datos de tipo int y datos de tipo float.
- El tamaño del array se establece cuando se crea el array (con el operador new, igual que
cualquier otro objeto).
- A los elementos del array se accederá a través de la posición que ocupan dentro del
conjunto de elementos del array.
Terminología
Los arrays unidimensionales se conocen con el nombre de vectores. Los
arrays bidimensionales se conocen con el nombre de matrices.
tipo identificador[];
tipo[] identificador;
Declaración
Para declarar un array,
se utilizan corchetes para indicar que se trata de un array y no de una simple variable del tipo especificado.
Vector (array unidimensional):
o bien
donde
tipo es el tipo de dato de los elementos del vector
identificador es el identificador de la variable.
Matriz (array bidimensional):
tipo identificador[][];
o bien
tipo[][] identificador;
NOTA: No es una buena idea que el identificador del array
termine en un dígito, p.ej. vector3
Creación
Los arrays se crean con el operador new.
Vector (array unidimensional):
vector = new tipo[elementos];
Entre corchetes se indica el tamaño del vector.
tipo debe coincidir con el tipo con el que se haya declarado el vector.
vector debe ser una variable declarada como tipo[]
Ejemplos
float[] notas = new float[ALUMNOS]; int[] temperaturas = new
int[7];
Matriz (array bidimensional):
matriz = new tipo[filas][columnas];
Ejemplo
int[][] temperaturas = new
int[12][31];
Uso
Para acceder a los elementos de un
array, utilizamos índices
(para indicar la posición del elemento dentro del
array)
Vector (array unidimensional):
vector[índice]
 En Java, el índice de la primera componente de un vector es
siempre 0.
 El tamaño del array puede obtenerse utilizando la propiedad
vector.length
 Por tanto, el índice de la última componente es
vector.length-1
Ejemplo
float[] notas = new float[3];
Matriz (array bidimensional):
matriz[índice1][índice2]
Una matriz, en realidad, es un vector de vectores:
 En Java, el índice de la primera componente
de un vector es siempre 0, por lo que matriz[0][0]
será el primer elemento de la matriz.
 El tamaño del array puede obtenerse utilizando la propiedad
array.length:
 matriz.length nos da el número de filas
 matriz[0].length nos da el número de columnas
 Por tanto, el último elemento de la matriz es
matriz[matriz.length-1][matriz[0].length-1]
Inicialización en la declaración
Podemos asignarle un valor inicial
a los elementos de un array en la propia declaración
int vector[] = {1, 2, 3, 5, 7};
int matriz[][] = { {1,2,3}, {4,5,6} };
El compilador deduce automáticamente las dimensiones del array.
Manipulación
de vectores y matrices
Las operaciones se realizan componente a componente
Ejemplo: Suma de los elementos de un vector
static float media (float datos[])
{
int i;
int n = datos.length; float suma = 0;
for (i=0; i<n; i++)
suma = suma + datos[i];
return suma/n;
}
No es necesario utilizar todos los elementos de un vector, por lo que, al trabajar con ellos, se puede utilizar una variable
entera adicional que nos indique el número de datos que realmente estamos utilizando:
El tamaño del vector nos dice cuánta memoria se ha reservado para almacenar datos del mismo tipo, no cuántos datos del
mismo tipo tenemos realmente en el vector.
Ejemplo: Suma de los n primeros elementos de un vector
static float media (float datos[], int n)
{
int i;
float suma = 0;
for (i=0; i<n; i++)
suma = suma + datos[i];
return suma/n;
Ejemplo
public class Vectores
{
public static void main (String[] args)
{
int pares[] = { 2, 4, 6, 8, 10 };
int impares[] = { 1, 3, 5, 7, 9 };
mostrarVector(pares); System.out.println("MEDIA="+media(pares));
mostrarVector(impares); System.out.println("MEDIA="+media(impares));
}
static void mostrarVector (int datos[])
{
int i;
for (i=0; i<datos.length; i++) System.out.println(datos[i]);
}
static float media (int datos[])
{
int i;
int n = datos.length; int suma = 0;
for (i=0; i<n; i++)
suma = suma + datos[i];
return suma/n;
}
}
static int[] leerVector (int datos)
{
int i;
int[] vector = new int[datos];
for (i=0; i<datos; i++) vector[i] =
leerValor();
return vector;
}
IMPORTANTE:
Cuando se pasa un array como parámetro,
se copia una referencia al array y no el conjunto de valores en sí.
Por tanto, tenemos que tener cuidado con los efectos colaterales que se producen si, dentro de un módulo,
modificamos un vector que recibimos como parámetro.
Ejemplo
El siguiente método lee los elementos de un vector ya creado
static void leerVector (int[] datos)
{
int i;
for (i=0; i<datos.length; i++) datos[i] = leerValor();
}
Copia de arrays
La siguiente asignación sólo copia las referencias, no crea un
nuevo array:
int[] datos = pares;
Para copiar los elementos de un array,
hemos de crear un nuevo array y copiar los elementos uno a uno
int[] datos = new int[pares.length]; for
(i=0; i<pares.length; i++)
datos[i] = pares[i]
También podemos utilizar una función predefinida en la
biblioteca de clases estándar de Java:
System.arraycopy(from,fromIndex,to,toIndex,n);
int[] datos = new int[pares.length];
System.arraycopy(pares,0,datos,0,pares.length);
EXTRA:
La biblioteca de clases de Java incluye una clase auxiliar llamada java.util.Arrays que
incluye como métodos algunas de las tareas que se realizan más a menudo con vectores:
- Arrays.sort(v) ordena los elementos del vector.
- Arrays.equals(v1,v2) comprueba si dos vectores son iguales.
- Arrays.fill(v,val) rellena el vector v con el valor val.
- Arrays.toString(v) devuelve una cadena que representa el contenido del vector.
- Arrays.binarySearch(v, k) busca el valor k dentro del vector
v (que previamente ha de estar ordenado).
Ejemplos
Un programa que muestra los parámetros que le indicamos en la línea de comandos:
public class Eco
{
public static void main(String args[])
{
int i;
for (i=0; i<args.length; i++) System.out.println(args[i]);
}
}
Un método que muestra el contenido de una matriz:
public static void mostrarMatriz (double matriz[][])
{
int i,j;
int filas = matriz.length;
int columnas = matriz[0].length;
// Recorrido de las filas de la matriz
for (i=0; i<filas; i++) {
// Recorrido de las celdas de una fila
for (j=0; j<columnas; j++) {
System.out.println ( “matriz[”+i+“][”+j+“]=”
+ matriz[i][j] );
}
}
}

Más contenido relacionado

Similar a OBJETIVO 5 VECTORES que se utilizan en la programacion.pptx

Similar a OBJETIVO 5 VECTORES que se utilizan en la programacion.pptx (20)

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]
 
Arrays
ArraysArrays
Arrays
 
Introducción a la programación y la informática. Tema 10
Introducción a la programación y la informática. Tema 10Introducción a la programación y la informática. Tema 10
Introducción a la programación y la informática. Tema 10
 
Revista digital vectores y matrices
Revista digital vectores y matricesRevista digital vectores y matrices
Revista digital vectores y matrices
 
Estructuras de Datos Elementos y Arreglos.ppt
Estructuras de Datos Elementos y Arreglos.pptEstructuras de Datos Elementos y Arreglos.ppt
Estructuras de Datos Elementos y Arreglos.ppt
 
Clase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y ArreglosClase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y Arreglos
 
Arrays de exposicion
 Arrays de exposicion Arrays de exposicion
Arrays de exposicion
 
Arreglos java
Arreglos javaArreglos java
Arreglos java
 
arrays
arraysarrays
arrays
 
Intro Java 3
Intro Java 3Intro Java 3
Intro Java 3
 
Intro Java 3
Intro Java 3Intro Java 3
Intro Java 3
 
Expo array
Expo arrayExpo array
Expo array
 
Arreglos en Java
Arreglos en JavaArreglos en Java
Arreglos en Java
 
arreglos.ppt
arreglos.pptarreglos.ppt
arreglos.ppt
 
Taller 1 5
Taller 1 5Taller 1 5
Taller 1 5
 
Taller 1 5
Taller 1 5Taller 1 5
Taller 1 5
 
Arrayoareglos
ArrayoareglosArrayoareglos
Arrayoareglos
 
3 desarollo manejo datos capitulo 4 -01 introduccion colecciones
3 desarollo manejo datos capitulo 4 -01 introduccion colecciones3 desarollo manejo datos capitulo 4 -01 introduccion colecciones
3 desarollo manejo datos capitulo 4 -01 introduccion colecciones
 
Semana 4 arreglos simples (1)
Semana 4   arreglos simples (1)Semana 4   arreglos simples (1)
Semana 4 arreglos simples (1)
 

Más de juan gonzalez

METODOS HEREDADOS EN LA PROGRAMACION .pptx
METODOS HEREDADOS EN LA PROGRAMACION .pptxMETODOS HEREDADOS EN LA PROGRAMACION .pptx
METODOS HEREDADOS EN LA PROGRAMACION .pptxjuan gonzalez
 
TIPOS DE COMUNICACION EN LAS OFICINAS.pptx
TIPOS DE COMUNICACION EN LAS OFICINAS.pptxTIPOS DE COMUNICACION EN LAS OFICINAS.pptx
TIPOS DE COMUNICACION EN LAS OFICINAS.pptxjuan gonzalez
 
Politicas-de-ruteo-con-MikroTik-RouterOS.pptx
Politicas-de-ruteo-con-MikroTik-RouterOS.pptxPoliticas-de-ruteo-con-MikroTik-RouterOS.pptx
Politicas-de-ruteo-con-MikroTik-RouterOS.pptxjuan gonzalez
 
METODO DE SOBRECARGA EN PROGRAMACION.pptx
METODO DE SOBRECARGA EN PROGRAMACION.pptxMETODO DE SOBRECARGA EN PROGRAMACION.pptx
METODO DE SOBRECARGA EN PROGRAMACION.pptxjuan gonzalez
 
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptx
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptxMecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptx
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptxjuan gonzalez
 
recursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptxrecursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptxjuan gonzalez
 
ESCANER E IMPRESORAS para las oficinas.pptx
ESCANER E IMPRESORAS para las oficinas.pptxESCANER E IMPRESORAS para las oficinas.pptx
ESCANER E IMPRESORAS para las oficinas.pptxjuan gonzalez
 
AGENDA DIGITAL. para las organizacionespptx
AGENDA DIGITAL. para las organizacionespptxAGENDA DIGITAL. para las organizacionespptx
AGENDA DIGITAL. para las organizacionespptxjuan gonzalez
 
MULTIMETRO para medir los niveles electricos.pptx
MULTIMETRO para medir los niveles  electricos.pptxMULTIMETRO para medir los niveles  electricos.pptx
MULTIMETRO para medir los niveles electricos.pptxjuan gonzalez
 
DISTRIBUCION DE PRODUCTOS BASISCOS DE LAS EMPRESAS
DISTRIBUCION DE PRODUCTOS BASISCOS DE LAS EMPRESASDISTRIBUCION DE PRODUCTOS BASISCOS DE LAS EMPRESAS
DISTRIBUCION DE PRODUCTOS BASISCOS DE LAS EMPRESASjuan gonzalez
 
COMERCIO ELECTRONICO COMO SOPORTE PARA LAS EMPRESAS
COMERCIO ELECTRONICO COMO SOPORTE PARA LAS EMPRESASCOMERCIO ELECTRONICO COMO SOPORTE PARA LAS EMPRESAS
COMERCIO ELECTRONICO COMO SOPORTE PARA LAS EMPRESASjuan gonzalez
 
MODELO NEGOCIOS PARA LAS EMPRESAS PUBLICAS Y PRIVADAS
MODELO NEGOCIOS PARA LAS EMPRESAS PUBLICAS Y PRIVADASMODELO NEGOCIOS PARA LAS EMPRESAS PUBLICAS Y PRIVADAS
MODELO NEGOCIOS PARA LAS EMPRESAS PUBLICAS Y PRIVADASjuan gonzalez
 
programaciON EXTREMA.pptx
programaciON EXTREMA.pptxprogramaciON EXTREMA.pptx
programaciON EXTREMA.pptxjuan gonzalez
 
metodologia asd.pptx
metodologia asd.pptxmetodologia asd.pptx
metodologia asd.pptxjuan gonzalez
 
metodologia scrum.pptx
metodologia scrum.pptxmetodologia scrum.pptx
metodologia scrum.pptxjuan gonzalez
 
METODOLOGIA RUP.pptx
METODOLOGIA RUP.pptxMETODOLOGIA RUP.pptx
METODOLOGIA RUP.pptxjuan gonzalez
 
caractersticas de los medios de transmision de datos.pptx
caractersticas de los medios de transmision de datos.pptxcaractersticas de los medios de transmision de datos.pptx
caractersticas de los medios de transmision de datos.pptxjuan gonzalez
 
COMPONENTES BASE DE LAS TIC.pptx
COMPONENTES BASE DE LAS TIC.pptxCOMPONENTES BASE DE LAS TIC.pptx
COMPONENTES BASE DE LAS TIC.pptxjuan gonzalez
 

Más de juan gonzalez (20)

METODOS HEREDADOS EN LA PROGRAMACION .pptx
METODOS HEREDADOS EN LA PROGRAMACION .pptxMETODOS HEREDADOS EN LA PROGRAMACION .pptx
METODOS HEREDADOS EN LA PROGRAMACION .pptx
 
TIPOS DE COMUNICACION EN LAS OFICINAS.pptx
TIPOS DE COMUNICACION EN LAS OFICINAS.pptxTIPOS DE COMUNICACION EN LAS OFICINAS.pptx
TIPOS DE COMUNICACION EN LAS OFICINAS.pptx
 
Politicas-de-ruteo-con-MikroTik-RouterOS.pptx
Politicas-de-ruteo-con-MikroTik-RouterOS.pptxPoliticas-de-ruteo-con-MikroTik-RouterOS.pptx
Politicas-de-ruteo-con-MikroTik-RouterOS.pptx
 
METODO DE SOBRECARGA EN PROGRAMACION.pptx
METODO DE SOBRECARGA EN PROGRAMACION.pptxMETODO DE SOBRECARGA EN PROGRAMACION.pptx
METODO DE SOBRECARGA EN PROGRAMACION.pptx
 
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptx
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptxMecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptx
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptx
 
recursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptxrecursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptx
 
ESCANER E IMPRESORAS para las oficinas.pptx
ESCANER E IMPRESORAS para las oficinas.pptxESCANER E IMPRESORAS para las oficinas.pptx
ESCANER E IMPRESORAS para las oficinas.pptx
 
AGENDA DIGITAL. para las organizacionespptx
AGENDA DIGITAL. para las organizacionespptxAGENDA DIGITAL. para las organizacionespptx
AGENDA DIGITAL. para las organizacionespptx
 
MULTIMETRO para medir los niveles electricos.pptx
MULTIMETRO para medir los niveles  electricos.pptxMULTIMETRO para medir los niveles  electricos.pptx
MULTIMETRO para medir los niveles electricos.pptx
 
DISTRIBUCION DE PRODUCTOS BASISCOS DE LAS EMPRESAS
DISTRIBUCION DE PRODUCTOS BASISCOS DE LAS EMPRESASDISTRIBUCION DE PRODUCTOS BASISCOS DE LAS EMPRESAS
DISTRIBUCION DE PRODUCTOS BASISCOS DE LAS EMPRESAS
 
COMERCIO ELECTRONICO COMO SOPORTE PARA LAS EMPRESAS
COMERCIO ELECTRONICO COMO SOPORTE PARA LAS EMPRESASCOMERCIO ELECTRONICO COMO SOPORTE PARA LAS EMPRESAS
COMERCIO ELECTRONICO COMO SOPORTE PARA LAS EMPRESAS
 
MODELO NEGOCIOS PARA LAS EMPRESAS PUBLICAS Y PRIVADAS
MODELO NEGOCIOS PARA LAS EMPRESAS PUBLICAS Y PRIVADASMODELO NEGOCIOS PARA LAS EMPRESAS PUBLICAS Y PRIVADAS
MODELO NEGOCIOS PARA LAS EMPRESAS PUBLICAS Y PRIVADAS
 
programaciON EXTREMA.pptx
programaciON EXTREMA.pptxprogramaciON EXTREMA.pptx
programaciON EXTREMA.pptx
 
metodologia asd.pptx
metodologia asd.pptxmetodologia asd.pptx
metodologia asd.pptx
 
metodologia scrum.pptx
metodologia scrum.pptxmetodologia scrum.pptx
metodologia scrum.pptx
 
METODOLOGIA RUP.pptx
METODOLOGIA RUP.pptxMETODOLOGIA RUP.pptx
METODOLOGIA RUP.pptx
 
METODOLOGIAS.pptx
METODOLOGIAS.pptxMETODOLOGIAS.pptx
METODOLOGIAS.pptx
 
PARADIGMAS.ppt
PARADIGMAS.pptPARADIGMAS.ppt
PARADIGMAS.ppt
 
caractersticas de los medios de transmision de datos.pptx
caractersticas de los medios de transmision de datos.pptxcaractersticas de los medios de transmision de datos.pptx
caractersticas de los medios de transmision de datos.pptx
 
COMPONENTES BASE DE LAS TIC.pptx
COMPONENTES BASE DE LAS TIC.pptxCOMPONENTES BASE DE LAS TIC.pptx
COMPONENTES BASE DE LAS TIC.pptx
 

Último

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 

Último (20)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 

OBJETIVO 5 VECTORES que se utilizan en la programacion.pptx

  • 2. Arrays Un array es una estructura de datos que contiene una colección de datos del mismo tipo Ejemplos Temperaturas mínimas de los últimos treinta días Valor de las acciones de una empresa durante la última semana …
  • 3. Propiedades de los arrays - Los arrays se utilizan como contenedores para almacenar datos relacionados (en vez de declarar variables por separado para cada uno de los elementos del array). - Todos los datos incluidos en el array son del mismo tipo. Se pueden crear arrays de enteros de tipo int o de reales de tipo float, pero en un mismo array no se pueden mezclar datos de tipo int y datos de tipo float. - El tamaño del array se establece cuando se crea el array (con el operador new, igual que cualquier otro objeto). - A los elementos del array se accederá a través de la posición que ocupan dentro del conjunto de elementos del array. Terminología Los arrays unidimensionales se conocen con el nombre de vectores. Los arrays bidimensionales se conocen con el nombre de matrices.
  • 4. tipo identificador[]; tipo[] identificador; Declaración Para declarar un array, se utilizan corchetes para indicar que se trata de un array y no de una simple variable del tipo especificado. Vector (array unidimensional): o bien donde tipo es el tipo de dato de los elementos del vector identificador es el identificador de la variable.
  • 5. Matriz (array bidimensional): tipo identificador[][]; o bien tipo[][] identificador; NOTA: No es una buena idea que el identificador del array termine en un dígito, p.ej. vector3
  • 6. Creación Los arrays se crean con el operador new. Vector (array unidimensional): vector = new tipo[elementos]; Entre corchetes se indica el tamaño del vector. tipo debe coincidir con el tipo con el que se haya declarado el vector. vector debe ser una variable declarada como tipo[] Ejemplos float[] notas = new float[ALUMNOS]; int[] temperaturas = new int[7];
  • 7. Matriz (array bidimensional): matriz = new tipo[filas][columnas]; Ejemplo int[][] temperaturas = new int[12][31];
  • 8. Uso Para acceder a los elementos de un array, utilizamos índices (para indicar la posición del elemento dentro del array) Vector (array unidimensional): vector[índice]  En Java, el índice de la primera componente de un vector es siempre 0.  El tamaño del array puede obtenerse utilizando la propiedad vector.length  Por tanto, el índice de la última componente es vector.length-1
  • 9. Ejemplo float[] notas = new float[3];
  • 10. Matriz (array bidimensional): matriz[índice1][índice2] Una matriz, en realidad, es un vector de vectores:  En Java, el índice de la primera componente de un vector es siempre 0, por lo que matriz[0][0] será el primer elemento de la matriz.  El tamaño del array puede obtenerse utilizando la propiedad array.length:  matriz.length nos da el número de filas  matriz[0].length nos da el número de columnas  Por tanto, el último elemento de la matriz es matriz[matriz.length-1][matriz[0].length-1]
  • 11. Inicialización en la declaración Podemos asignarle un valor inicial a los elementos de un array en la propia declaración int vector[] = {1, 2, 3, 5, 7}; int matriz[][] = { {1,2,3}, {4,5,6} }; El compilador deduce automáticamente las dimensiones del array.
  • 12. Manipulación de vectores y matrices Las operaciones se realizan componente a componente Ejemplo: Suma de los elementos de un vector static float media (float datos[]) { int i; int n = datos.length; float suma = 0; for (i=0; i<n; i++) suma = suma + datos[i]; return suma/n; } No es necesario utilizar todos los elementos de un vector, por lo que, al trabajar con ellos, se puede utilizar una variable entera adicional que nos indique el número de datos que realmente estamos utilizando: El tamaño del vector nos dice cuánta memoria se ha reservado para almacenar datos del mismo tipo, no cuántos datos del mismo tipo tenemos realmente en el vector.
  • 13. Ejemplo: Suma de los n primeros elementos de un vector static float media (float datos[], int n) { int i; float suma = 0; for (i=0; i<n; i++) suma = suma + datos[i]; return suma/n;
  • 14. Ejemplo public class Vectores { public static void main (String[] args) { int pares[] = { 2, 4, 6, 8, 10 }; int impares[] = { 1, 3, 5, 7, 9 }; mostrarVector(pares); System.out.println("MEDIA="+media(pares)); mostrarVector(impares); System.out.println("MEDIA="+media(impares)); } static void mostrarVector (int datos[]) { int i; for (i=0; i<datos.length; i++) System.out.println(datos[i]); } static float media (int datos[]) { int i; int n = datos.length; int suma = 0; for (i=0; i<n; i++) suma = suma + datos[i]; return suma/n; } }
  • 15. static int[] leerVector (int datos) { int i; int[] vector = new int[datos]; for (i=0; i<datos; i++) vector[i] = leerValor(); return vector; }
  • 16. IMPORTANTE: Cuando se pasa un array como parámetro, se copia una referencia al array y no el conjunto de valores en sí. Por tanto, tenemos que tener cuidado con los efectos colaterales que se producen si, dentro de un módulo, modificamos un vector que recibimos como parámetro. Ejemplo El siguiente método lee los elementos de un vector ya creado static void leerVector (int[] datos) { int i; for (i=0; i<datos.length; i++) datos[i] = leerValor(); }
  • 17. Copia de arrays La siguiente asignación sólo copia las referencias, no crea un nuevo array: int[] datos = pares; Para copiar los elementos de un array, hemos de crear un nuevo array y copiar los elementos uno a uno int[] datos = new int[pares.length]; for (i=0; i<pares.length; i++) datos[i] = pares[i] También podemos utilizar una función predefinida en la biblioteca de clases estándar de Java:
  • 18. System.arraycopy(from,fromIndex,to,toIndex,n); int[] datos = new int[pares.length]; System.arraycopy(pares,0,datos,0,pares.length); EXTRA: La biblioteca de clases de Java incluye una clase auxiliar llamada java.util.Arrays que incluye como métodos algunas de las tareas que se realizan más a menudo con vectores: - Arrays.sort(v) ordena los elementos del vector. - Arrays.equals(v1,v2) comprueba si dos vectores son iguales. - Arrays.fill(v,val) rellena el vector v con el valor val. - Arrays.toString(v) devuelve una cadena que representa el contenido del vector. - Arrays.binarySearch(v, k) busca el valor k dentro del vector v (que previamente ha de estar ordenado).
  • 19. Ejemplos Un programa que muestra los parámetros que le indicamos en la línea de comandos: public class Eco { public static void main(String args[]) { int i; for (i=0; i<args.length; i++) System.out.println(args[i]); } }
  • 20. Un método que muestra el contenido de una matriz: public static void mostrarMatriz (double matriz[][]) { int i,j; int filas = matriz.length; int columnas = matriz[0].length; // Recorrido de las filas de la matriz for (i=0; i<filas; i++) { // Recorrido de las celdas de una fila for (j=0; j<columnas; j++) { System.out.println ( “matriz[”+i+“][”+j+“]=” + matriz[i][j] ); } } }