Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Ing. CIP Loncán Salazar, Pierre Paul Fundamentos de Programación – Lectura Nº 12 – ( Pág. 1) ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA DE SISTEMAS Arreglos Un arreglo es un objeto contenedor que consiste de una cantidad fija de posiciones o celdas para almacenar valores del mismo tipo en ellas. Cada posición o celda del arreglo tiene un identificador o nombre común, llamado el nombre del arreglo. Para diferenciar entre las diferentes posiciones o celdas que forman el arreglo, se hace uso de uno o más índices en sus identificadores respectivos, dependiendo del tipo de arreglo particular que se defina. Físicamente, se puede suponer un arreglo como un conjunto secuencial de posiciones en memoria principal a las que se accede a través de uno o más índices de posición. La cantidad de memoria que se le asigna a un arreglo dependerá del tipo de arreglo y de la cantidad de posiciones o celdas en él. Los arreglos en Java cuentan con propiedades y métodos para manipularlos. Se pueden declarar arreglos de tipos de datos primitivos y de objetos. Al igual que para todos los objetos, una declaración de arreglo no crea un arreglo. Para crear un arreglo se usa el operador new; como consecuencia, se le asigna memoria para almacenar los objetos en el arreglo. 1. Arreglos Unidimensionales: Es una colección de datos del mismo tipo. Sirve para manejar un número “n” de elementos en común, ya sea de tipos definidos por el Lenguaje, (“int”, “float”, “String”, etc.) así como aquellos definidos por el programador. Los arreglos en Java son dinámicos, pero no extensibles, lo cual significa que deben ser creados con el tamaño que tendrán hasta el final de su vida. a. Características: § Son de tipos de datos complejos (en el sentido de que no son atómicos). § Agrupan varios (1 o más) datos de un mismo tipo, llamando el tipo base del arreglo. § Son dinámicos, pero no extensibles, lo cual significa que deben ser creados con el tamaño que tendrán hasta el final de su vida. § Los índices del arreglo empiezan con 0 y terminan con el tamaño del arreglo - 1. § Si el arreglo tiene n elementos, se denotan como a[0], a[1], ... , a[n-1]. § El índice en un arreglo empieza siempre desde CERO. § Los arrays se crean con el operador new seguido del tipo y número de elementos. b. Declaración de un arreglo: § La sintaxis de declaración de arreglos en Java es: <tipo>[] <nombre> § Para declarar, por ejemplo, un arreglo de números enteros utilizaremos la siguiente sentencia: int[] arrInt; Lectura N° 12 Escuela Profesional: Ingeniería de Sistemas. Asignatura:Fundamentos de Programación Docente: Loncán Salazar, Pierre Paul Sesión 12: Arreglos Unidimensionales – ( Vectores y Módulos con trabajo de vectores ) Ing. CIP Loncán Salazar, Pierre Paul Fundamentos de Programación – Lectura Nº 12 – ( Pág. 2) ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA DE SISTEMAS § El arreglo aún no ha sido creado, sino meramente declarado. Para crear el arreglo (reservar su memoria e inicializarlo) deberemos recurrir al operador new: arrInt = new int[10]; § El tipo de datos del arreglo (int[] en este caso) es una clase y cada una de sus instancias debe ser creada explícitamente, el tamaño puede pensarse como un parámetro al constructor de la clase. A partir de este momento se puede utilizar arrInt como un arreglo de cualquier otro lenguaje. § Una de las características que hacen de Java un entorno de programación seguro, y que se relaciona con el manejo de los arreglos es que el lenguaje no permite la indexación de arreglos fuera de rango, o sea, una asignación de este tipo generará una excepción: ArrInt[25] = 1; § O también se puede declarar de la siguiente forma: tipo nombre_array[]=new tipo[nº]; tipo nombre_array[]={valores}; Ejemplos: Ing. CIP Loncán Salazar, Pierre Paul Fundamentos de Programación – Lectura Nº 12 – ( Pág. 3) ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA DE SISTEMAS c. Índices de un arreglo. § Los índices de los arreglos comienzan en [0] , no en [1] , por lo cual un array con [N] espacios posee un índice que va de [0] a [N-1]. Ejemplo: d. Asignación de valores. § Para asignar datos al arreglo se debe de hacer a través de sus índices. Ejemplo: e. Lectura de Datos y Operaciones. § Los valores se leen a través de sus índices para usarse en diversas operaciones. Ejemplo: Ing. CIP Loncán Salazar, Pierre Paul Fundamentos de Programación – Lectura Nº 12 – ( Pág. 4) ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA DE SISTEMAS f. Tamaño de un arreglo. § Java considera cada arreglo como un solo objeto. § Un arreglo posee un miembro de datos entero (length), que proporciona el número de posiciones o tamaño del arreglo (estén vacías o contengan datos). § La longitud de un arreglo no puede modificarse una vez que se haya declarado double [] v = new double [15] System.out.printl(v.length); //escribe 15 Ejemplo: g. Arreglos de caracteres y cadenas de texto. § Una cadena de texto es un conjunto de caracteres, "abcdefg". Son soportados por la clase String: String cadena = "abcdefg"; § Los arreglos tipo char son secuencias de caracteres, con características de arreglos de otros tipos: String mas = “programador Java” char datos[] = {'D','i','r','e','c','t','o','r','i','o'}; h. Eliminación de datos. § Se utiliza el siguiente método en donde: Pos à Es la posición del elemento a eliminar. Ing. CIP Loncán Salazar, Pierre Paul Fundamentos de Programación – Lectura Nº 12 – ( Pág. 5) ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA DE SISTEMAS NumElementos à Total de elementos ingresados en el array § Este método: – Copia los datos de derecha a izquierda sobrescribiendo la posición eliminada. – Anula el último elemento – Disminuye en 1 el valor que representa al número de elementos ingresados: public void Eliminar(int Pos) { for(int x=Pos ; x<NumElementos – 1 ; x++) { Nombre_Array[x] = Nombre_Array[x+1]; } Nombre_Array[NumElementos - 1] = null; NumElementos--; } Ejemplo: i. Copiar datos § Es posible copiar un array utilizando arraycopy a través de la siguiente sintaxis System.arraycopy( ArrayOrigen, IndiceOrigen, ArrayDestino, IndiceDestino, NumeroElementos ) § Es posible copiar un array utilizando arraycopy a través de la siguiente sintaxis – ArrayOrigen Es el array desde donde se quiere copiar – IndiceOrigen Es el índice desde donde se empezará a copiar – ArrayDestino Es el array hacia donde se enviarán los datos copiados – IndiceDestino Es el índice en el array destino a partir del cual se empezarán a colocar los datos copiados – NumeroElementos Es el total de elementos que serán copiados desde el array origen hacia el array destino Ing. CIP Loncán Salazar, Pierre Paul Fundamentos de Programación – Lectura Nº 12 – ( Pág. 6) ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA DE SISTEMAS Ejemplo: Copiamos 6 elementos desde intArray empezando por la posición 7 hacia newArray empezando por la posición 3 Ejemplo Codificado: Ing. CIP Loncán Salazar, Pierre Paul Fundamentos de Programación – Lectura Nº 12 – ( Pág. 7) ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA DE SISTEMAS Re fe rencias Bibliográficas Código de biblioteca TEXTO Castillo M. (2006 ). Trabajo de Programació n Básica. Editorial: Ilustrados.com Recuperado e n Marzo del 20 0 9 e n: http:/ / site .ebrary.com/ lib/ biblioucvsp/ do cDetail.action? docID=1 013 122 6&p0 0=el+le nguaje+c%2B%2B 005.13 3C D32 Deite l, H.”Cómo programar en C/ C++ y Java”. México : D.F: Pearson Educación 0 0 5 .1 33 C J8 8 2005 Joyanes A. (2006 ). Programación e n C++, Un e nfoque práctico (Serie Schaum). Editorial Mc Graw-Hill Interamericana. 005 .1 J88F Joyanes A. (2008 ). Fundame ntos de Programación. Algoritmos, Estructura de Datos y Obje tos . (4 ta. ed.). Editorial Mc Graw-Hill Interamericana. Ladró n de Guevara. (201 1 ). Fundame ntos de programación e n Java. España: Ediciones : Eme Nell, D. (20 0 7 ). Programación y Re solución de proble mas con C++. (4ta.ed.). Editorial Mc Graw-Hill Interamericana. 0 0 5 .1 33 J V7 1 Villalobos, L. (2008) Fundame ntos de programación JAVA. Lima: Macro 005 .13 3J W95 Wu, T (2008 ) Programación e n Java. México , D.F: Mcgraw-hill interamericana http://site.ebrary.com/lib/biblioucvsp/docDetail.action?docID=10131226&p00=el+le
Compartir