Programación orientada a objetos I

Programa desarrollado

Ingeniería en Desarrollo de software CUATRIMESTRE: 04

Programa de la asignatura: Programación orientada a objetos I Unidad 4. Arreglos

Clave: 160920414 / 150920414

1 Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 1

...........3.................................................................................................................... 6 4..................................................... 9 Actividad 2.............................. 17 Evidencia de aprendizaje....................................... 16 Autoevaluación ............................ Arreglos ..........2...............................2............................... 3 Competencia específica ............ 11 4.................................................................................................................................................................Programación orientada a objetos I Programa desarrollado Índice Unidad 4..........1....................... Operaciones ............................... 14 4......................................................................................................... 17 Para saber más .................... 18 2 Ciencias Exactas................ 3 Presentación de la unidad .................... Inversión de arreglos........................................................ 3 Propósito ............................................................1......................................................2................................... Menú del curso ....................... 10 4..... Operaciones .............................................................................1....... 6 4.......................................................................................................... 3 4...................................................2. 4 Actividad 1........................... Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 2 ................................................... Declaración ........................... Recorrido..................................................1...............................2............1.......................................... 3 4... 18 Fuentes de consulta ............................................. Arreglos ...1........................ Arreglos unidimensionales................. Declaración ............................ Recorrido.................................. Operaciones con arreglos ........ 15 Actividad 3.................................................................................................................................................... 11 4......................2 Arreglos multidimensionales ...................................................3..................................................

para que analices su sintaxis y así comprendas mejor los temas vistos. En esta unidad de la materia de Programación orientada a objetos I (POOI). Esto te servirá para el manejo de información obtenida de una base de datos. manipulación y recorrido. así como su declaración. aprenderás el concepto arreglos. 3 Ciencias Exactas. De esta manera aprenderás a manejar varios datos unidos como un todo. En esta Unidad es necesario que tú. como estudiante. que son los arreglos. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 3 . Propósito En esta unidad lograrás: o Distinguir los arreglos unidimensionales y multidimensionales o Manejar las operaciones básicas con arreglos Competencia específica Construir programas para el manejo de datos del mismo tipo (carácter. aprenderás una de las estructuras de datos más importante y básica. cadena. entero o decimal) a través de arreglos aplicados en problemas matemáticos simples. que son temas que tratarás en POO2. así como su manejo y recorrido. Arreglos Presentación de la unidad En esta unidad de la materia Programación orientada a objetos I (POOI). captures todos los programas de ejemplo. Arreglos unidimensionales Un arreglo es una estructura de datos que contiene una serie de variables a las que se accede a través de los índices calculados.1. así como la estructuración de datos en tablas. conocerás su concepto.Programación orientada a objetos I Programa desarrollado Unidad 4. 4.

Si una o más de las dimensiones de un arreglo tienen una longitud de cero. en lugar de cada posición contenga un dato. Las longitudes de las dimensiones no son parte del tipo del arreglo. los índices pueden variar de 0 a N-1. sino que se establecen cuando una instancia del tipo arreglo se crea en tiempo de ejecución. y así sucesivamente. El número total de elementos de un arreglo es el producto de las longitudes de cada dimensión del arreglo. 4. también llamados los elementos del arreglo. Declaración En Java hay que declarar un array antes de poder utilizarlo. La sintaxis general para declarar e instanciar un array es: Además. Cada dimensión de un arreglo tiene una longitud asociada que es un número entero mayor o igual a cero. Un arreglo con un rango de 1 se denomina arreglo unidimensional. es decir. como ya se mencionó. La longitud de una dimensión determina el rango de validez de los índices de esa dimensión: Por una dimensión de longitud N.1. incluyendo él mismo (Hejlsberg. los arreglos de tres dimensiones. 2009: 35). Los arreglos multidimensionales con un tamaño específico se refieren a menudo como arreglos de dos dimensiones. incluso los definidos por el usuario: 4 Ciencias Exactas. son todos del mismo tipo. se dice que el arreglo está vacío. Un arreglo tiene un rango que determina el número de índices asociados a cada elemento del arreglo. 2011: 626).1. puede contener un arreglo completo. El rango de un arreglo también se conoce como las dimensiones del arreglo.Programación orientada a objetos I Programa desarrollado Las variables contenidas en un arreglo. se pueden usar en Java arrays de cualquier tipo de dato soportado. y este tipo se llama el tipo de elemento del arreglo. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 4 . El tipo de elemento de un arreglo puede ser cualquier tipo de dato. Y en la declaración es necesario incluir el nombre del array y el tipo datos que se van a almacenar en él (Froufe. Un arreglo con un rango mayor que 1 se llama un arreglo multidimensional.

en el lenguaje Java necesitan ser inicializadas a un valor. lo que se guarda es una referencia de la locación de memoria donde están alojados dichos datos.Programación orientada a objetos I Programa desarrollado Haciendo referencia al tema presentado antes “Declaración y ámbito de variables” (Unidad 2.1. fácilmente se puede deducir que los arrays son objetos. 5 Ciencias Exactas. Con lo que se acaba de ver. 2009: 35).) se debe saber que la declaración de los arrays en Java se hace mediante una variable referenciada. Cuando se hace la declaración de un array en Java se consideran dos posibles opciones: Declararlo vacío o Declarar colocando valores. Bajo esta premisa. subtema 2. cuando se declara (crea) un array en Java se inicializa automáticamente. Esto se puede ver en el siguiente párrafo: “La memoria necesaria para almacenar los datos que componen el array se buscará en memoria dinámica a la hora de instanciar y crear realmente el array” (Froufe. es decir no se guarda el valor del contenido del array. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 5 .1. null para un array de objetos de tipo Object. el equivalente a 0 (vacio para String) para cualquier otro tipo de dato. dependiendo de estos tres casos: • • • false cuando el tipo de dato es boolean. Igual que con cualquier variable utilizada.

Elabora las diferencias entre los diversos tipos de arreglos. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 6 . 2. Recorrido 6 Ciencias Exactas. Elabora un cuadro sinóptico en el que identifiques los diferentes tipos de arreglos y sus diferencias. 4. se puede acceder a los elementos de éste utilizando un índice. 4. 1. hazlo basándote en las aportaciones de los compañeros(as). de forma similar a la que se accede en otros lenguajes de programación. Los índices de un array siempre empiezan por 0 (cero) (Froufe. 3. Actividad 1. 2009: 35). Ingresa al foro y genera una nueva entrada. Contribuye con algún comentario a por lo menos dos compañeros(as) sobre su discernimiento del tema. Arreglos El propósito de esta actividad es quereflexiones sobre las diferencias existentes entre los diversos tipos de arreglos revisados en la asignatura.Programación orientada a objetos I Programa desarrollado Una vez que se ha instanciado un array.2.1. esto será como conclusión del foro.

esta instrucción se le indica al lenguaje Java cuando se pone el nombre del arreglo con el cual se quiere trabajar. operaciones. cálculos. refiriéndose a los nombres propios de 4 personas: Si. en el ejemplo anterior se tenía una declaración de un array de tipo String que contendría 4 elementos. seguido de la posición que se desea recuperar (para impresión. 7 Ciencias Exactas. Así. La salida de estas instrucciones escritas en lenguaje Java.000 líneas como las anteriores. Como se podrá deducir fácilmente se necesitarían 5.Programación orientada a objetos I Programa desarrollado Los elementos contenidos en los arrays están controlados por la posición que ocupen dentro del array. bastaría con hacer lo siguiente: Donde se indica al arreglo que se quiere imprimir el valor que está en la posición i-ésima. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 7 . se quisiera imprimir a pantalla el contenido del array nombres indicando la posición de cada nombre. por alguna necesidad especial de la situación.000 alumnos. al compilar y ejecutar el programa (se obvian las partes faltantes de la clase por cuestiones didácticas) sería la siguiente: Imagina la cantidad de líneas necesarias para imprimir el nombre de todos los alumnos que pertenecen a una universidad cuya matrícula es un total de 5. entre otros) encerrado entre corchetes([]).

de dos en dos por ejemplo) para poder obtener el contenido total del array. a la hora de colocar la línea de impresión System. indicado con i<4 (ya que si se indica un número mayor. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 8 . como ya se había explicado. pero en lugar de indicarle un número fijo. que como ya se sabe. hacemos referencia al elemento i-ésimo indicado entre corchetes. se introdujeron algunas variaciones para poder hacer el recorrido funcional y se explica a continuación: Cuando se declara un arreglo se indica el total de elementos que contendrá dentro de él (límite del arreglo).Programación orientada a objetos I Programa desarrollado Para solucionar la cuestión anterior de forma un tanto más sencilla se utilizan ciclos. se le indica la posición que se desea imprimir con la variable i 8 Ciencias Exactas. en el ciclo for se le indica con la instrucción i++. pero utilizando un ciclo for: Y la salida será: Según las nuevas instrucciones. este mismo límite es el total de repeticiones que deberá ejecutar el ciclo for. como en el caso de los arrays. facilitan la ejecución de operaciones secuenciales y repetitivas pero necesarias. Java lanzará una excepción indicando que se intenta acceder a una locación de memoria no reservada o inexistente).out. Además que los ciclos son controlados por índices (su comienzo y su fin) y ésta es la misma forma de acceder a los elementos de un array. Así. Finalmente se le indica al arreglo que se quiere hacer el recorrido de sus elementos de uno en uno (aunque podría ser diferente. A continuación se presenta la misma impresión del contenido del array nombres. De igual manera el inicio del array debe comenzar por el número 0 (cero) y esto se indica en el ciclo for al hacer la declaración i=0 que indica que desde esa posición comenzará a iterar.println(nombres[i]+” está en la posición ”+i).

haciendo un profundo énfasis en la importancia que tienen los índices para ello. terminará y se irá incrementando según lo explicado de las partes que conforman al ciclo for.Programación orientada a objetos I Programa desarrollado que a voluntad del programador iniciará. y almacenarlos en un tercer array para cada operación sugerida. Operaciones Al referirse a “operaciones” con arrays no es en el sentido clásico de operaciones aritméticas sobre ellos (aunque se pueden hacer y se ejemplificará) sino a cómo se obtienen sus elementos. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 9 . luego imprimir el resultado de la acumulación de las operaciones. como sigue: y se quiere hacer una suma y multiplicación punto a punto (posición a posición) de cada uno de sus elementos.3.1. 4. Se ejemplifica con la siguiente porción de código: 9 Ciencias Exactas. Imagina que tenemos 2 arreglos unidimensionales.

se solicite al usuario ingrese 10 Ciencias Exactas. Solo en las impresiones. como en el ejemplo anterior. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 10 . Dentro de la clase Main crea un método. donde se sumó y multiplicó en un mismo ciclo. seguido a esto.Programación orientada a objetos I Programa desarrollado Nótese la importancia de los índices para poder acceder a los elementos de los arrays y de la misma manera para almacenar resultados. Operaciones con arreglos Esta actividad tiene como finalidad que identifiques la declaración y recorrido de arreglos unidimensionales en Java. 1. En NetBeans crea un nuevo proyecto. dado que se buscaba que el resultado se viera de manera independiente. se utilizaron más ciclos for. 2. tantos como números de resultados se quiera mostrar. Se puede utilizar un mismo contador para n arrays. Actividad 2. siempre y cuando éstos sean del mismo tamaño. donde se solicite al usuario un número para determinar el tamaño de un arreglo.

Envía el archivo a tu Facilitador(a)para recibir retroalimentación. En Java. La llamada a esto método estará dada en el método main.Programación orientada a objetos I Programa desarrollado elementos para llenar el arreglo.2.2 Arreglos multidimensionales Los arreglos vistos en la sección anterior solo son de una dimensión. y por último se muestre ese mismo arreglo en una salida pero con cada elemento elevado al cubo. Guarda la actividad con el nombre POO_U4_A2_XXYZ. se pueden usar en Java arrays de cualquier tipo de dato soportado. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 11 . es decir solo se manejaban a manera de renglón (o fila). En cambio los multidimensionales se manejan a manera de tabla. Cada dimensión irá dentro de un corchete. como la información mostrada en hojas de cálculo o tablas de bases de datos.Sustituye las XX por las dos primeras letras de tu primer nombre. 4. donde se tendrán filas y columnas. Revisa y comenta los proyectos de al menos dos compañeros(as). incluso los definidos por el usuario: 11 Ciencias Exactas. las dimensiones se manejan por medio de corchetes (muy parecido a los arrays unidimensionales). 4. como ya se mencionó. 3. por lo que este tipo de arreglos ofrece un mejor manejo de datos cuando éstos deben manejar dimensiones. 4. la Y por la inicial de tu apellido paterno y la Z por la inicial de tu apellido materno.1. Declaración Los arreglos multidimensionales tienen más de una dimensión. dentro de los cuales se escribe cada dimensión (cantidad de datos que guardará). 5. La sintaxis general para declarar e instanciar un array es: Además.

es decir. Cuando se hace la declaración de un array en Java se consideran dos posibles opciones: Declararlo vacío o Declarar colocando valores. lo que se guarda es una referencia de la locación de memoria donde están alojados dichos datos. sería como sigue: Declarar colocando valores 12 Ciencias Exactas. Declararlo vacío. La estructura general. Con lo que se acaba de ver. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 12 .Programación orientada a objetos I Programa desarrollado Ahora bien. si pudiera observarse la reserva de memoria que hace Java sobre la memoria principal de la computadora. no se guarda el valor del contenido del array. la declaración de los arrays en Java se hace mediante una variable referenciada. fácilmente se puede deducir que los arrays son objetos.

pues se debe especificar explícitamente el contenido de cada dimensión del array.Programación orientada a objetos I Programa desarrollado Observa que la estructura que se muestra. como la declaración para arrays unidimensionales. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 13 . como la que sigue: Quedaría así: Declararlo con valores iniciales es un poco diferente. coincide perfectamente con las dimensiones declaradas en el arreglo intnumeros[][] = new int[3][3]. de esta manera se analizará una estructura diferente. el número contenido en el segundo corchete corresponde al número de columnas que contendrá el array. por ende. 13 Ciencias Exactas. donde el número contenido en el primer corchete corresponde al número de filas que contendrá el array.

Los subíndices deben escribirse entre corchetes y representan la posición del elemento en el arreglo. es posible referirse a un elemento del arreglo escribiendo el nombre del arreglo y los subíndices del elemento entre corchetes. sólo agregando un corchete por cada dimensión que se añada.2. hasta el tamaño del arreglo menos uno. donde se recorre e imprime el array bidimensional llamado nombres: 14 Ciencias Exactas. considerando lo siguiente: Se puede acceder a los valores de los elementos de un arreglo bidimensional a través del nombre del arreglo y dos subíndices. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 14 .Programación orientada a objetos I Programa desarrollado 4. Recorrido El recorrido de los elementos de un array multidimensional es de la misma manera que en un arreglo unidimensional. Tómese como ejemplo el siguiente código.2. Los valores de los subíndices empiezan en cero para el primer elemento. Así.

sólo modificando sus dimensiones: Imagina que tenemos 2 arreglos unidimensionales. y se quiere hacer una suma y multiplicación punto a punto (posición a posición) de cada uno de sus elementos y almacenarlos en un tercer array para cada operación sugerida.3. Se ejemplifica con la siguiente porción de código: 15 Ciencias Exactas. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 15 . ya que ahí es donde radica la importancia del recorrido de los arreglos. se ejemplifica los arrays multidimensionales de la misma manera que se hizo con los arrays unidimensionales. Operaciones Como los arrays unidimensionales y multidimensionales son tan parecidos en su método de acceso (que de hecho es idéntico). como sigue: //recuerda que el número total de elementos de un array multidimensional es la multiplicación de cada dimensión contra todas las restantes. luego imprimir el resultado de la acumulación de las operaciones. en la posición de sus contadores.2. 4.Programación orientada a objetos I Programa desarrollado La salida esperada para esta porción de código será: Observa el aumento de los contadores y la manera en que van incrementándose.

Programación orientada a objetos I Programa desarrollado Nota la importancia de los índices para poder acceder a los elementos de los arrays y de la misma manera para almacenar resultados. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 16 . tantos como números de resultados se quiera mostrar. siempre y cuando éstos sean del mismo tamaño. como en el ejemplo anterior donde se sumó y multiplicó en un mismo ciclo. Inversión de arreglos El propósito de esta actividad es que identifiques la declaración y recorrido de arreglos multidimensionales en JAVA. 16 Ciencias Exactas. Actividad 3. Se puede utilizar un mismo contador para n arrays. se utilizaron más ciclos for. Sólo en las impresiones como se buscaba que el resultado se viera de manera independiente.

la Y por la inicial de tu apellido paterno y la Z por la inicial de tu apellido materno. es necesario que resuelvas la Autoevaluación de la unidad. Recuerda que es muy importante leer cuidadosamente los planteamientos indicados y elegir la opción adecuada para cada uno. Guarda la actividad con el nombre POO_U4_A3_XXYZ. Autoevaluación Para reforzar los conocimientos relacionados con los temas que se abordaron en esta primera unidad del curso. En NetBeans crea un nuevo proyecto. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 17 . 3. donde se soliciten al usuario dos números X y Y. En la clase Main se debe contar con un mensaje tipo menú al usuario. La llamada a esto método estará dada en el método main. y este podrá elegir ejecutar cualquier programa. y crea tantas clases como ejercicios se han realizado a lo largo del cuatrimestre. donde cada clase incluya cada programa. Y el número de columnas de un arreglo.Programación orientada a objetos I Programa desarrollado 1. Menú del curso Como parte de la evaluación de esta unidad. y por último se muestre ese mismo arreglo en una salida pero en orden inverso. Envía el archivo a tu Facilitador(a) para recibir retroalimentación. en el método main se debe tener un switch que tenga la llamada a todos los métodos en forma de menú y que al elegir el usuario un número se ejecute ese programa. debes realizar un programa cuyo propósito es que logres identificar los componentes de un programa modular y puedas aplicarlos. 17 Ciencias Exactas. Evidencia de aprendizaje. Ingresa al aula para realizar la actividad. y sean X el número de filas. se solicite al usuario ingrese elementos para llenar el arreglo. seguido a esto. 2. 1. Dentro de la clase Main crea un método. Sustituye las XX por las dos primeras letras de tu primer nombre. Consulta la Escala de evaluación. 2. 4. En NetBeans crea un nuevo proyecto.

M. Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 18 . The 4th Edition (Microsoft . Sustituye las XX por las dos primeras letras de tu primer nombre. donde podrás encontrar manuales de referencia sobre arreglos. (2011) C# Programming Language (Covering C# 4. A. a partir de ellas. 4. P. Posteriormente envía tu archivo mediante la herramienta Autorreflexiones. S. Envía la carpeta del proyecto a tu Facilitador(a) para recibir retroalimentación. Para saber más Consulta la página oficial del lenguaje Java. la Y por la inicial de tu apellido paterno y la Z por la inicial de tu apellido materno. Java: http://www..com/es/ Fuentes de consulta • • Froufe. México: Alfaomega. Wiltamuth.0). RaMa. 18 Ciencias Exactas. Torgersen.java. * Recuerda que puedes volver a enviar tu archivo tomando en cuenta las observaciones de tu Facilitador(a). es importante que ingreses al foro Preguntas de Autorreflexión y consultes las preguntas que tu Facilitador(a) presente. & Golde. Guarda la evidencia con el nombre POO1_U3_EA_XXYZ. debes elaborar tu Autorreflexión en un archivo de texto llamado POO_U4_ATR_XXYZ. Manual de usuario y tutorial. Hejlsberg. Autorreflexiones Además de enviar tu trabajo de la Evidencia de aprendizaje.Programación orientada a objetos I Programa desarrollado 3. (2009) Java 2. Addison-Wesley. USA: Ed.NET Development Series).. A.

Sign up to vote on this title
UsefulNot useful