AGRUPANDO OBJETOS (Parte-II)

Documentos relacionados
CAPITULO 4. AGRUPAR OBJETOS

AGRUPA P R OBJET E OS 1

Patrones de Diseño. Patrón de comportamiento Iterator. Técnicas de Programación - Curso 2007/08

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

Fundamentos de la Programación Orientada a Objetos Agrupación de objetos. Colecciones e iteradores

Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta

INTERFACE LIST DEL API JAVA. CLASES ARRAYLIST, LINKEDLIST, STACK, VECTOR. EJEMPLO CON ARRAYLIST. (CU00920C)

Sentencias de Procesamiento Iterativo: while y do-while

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo.

Programación Estructurada. Sesión 4:Estructuras de control

Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE

Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores

Es ambigua, ya que la división y la multiplicación tienen el mismo grado de precedencia, qué parte de la expresión se realiza primero?

Para crear un arreglo de cualquier tipo de elementos la sintaxis es:

TEMA 4. ESTRUCTURAS DE CONTROL

ESTRUCTURAS DE CONTROL

Construcciones del Lenguaje Java

Principios de Computadoras II

Lección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos

CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS

Introducción a la Informática Estructuras de control repetitivas

Tema 6: Clases. Índice

Instrucciones de control

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes.

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes.

Tipos Recursivos de Datos

Ejercicio 1 (proyecto prlistas, paquete listas)

TEMA 4: Programación estructurada

Tema 2. El lenguaje JAVA

Programación Orientada a Objetos en C++

Distinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para.

Qué son los arreglos

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)

Estructura repetitiva do while

Nelson David Muñoz Politécnico CJIC TUTORIAL DISPLAYS

Arrays. Programación. Licenciatura de Lingüística y Nuevas Tecnologías

Universidad Nacional del Santa FACULTAD DE INGENIERIA E.A.P de Ingeniería de Sistemas e Informática NETBEANS 7.0

Colecciones. Nadjet Bouayad-Agha Programación 2007

Tema 4 Colecciones en Java. Programación Orientada a Objetos Curso 2013/2014

III. Desarrollo de aplicaciones con manejo de datos en la memoria Reuven Feuerstein Javier Navarro

CLASIFICACION DE LAS ESTRUCTURAS DE CONTROL

DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS

Estructuras de control Agosto de Facultad de Ingeniería. Universidad del Valle

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

CONCEPTOS BASICOS DEL LENGUAJE JAVA

Taller de Programación I. Tema 02: Programación en Java, estructuras iterativas y condicionales

Modulo 11. Clases y Objetos en Java

Curso de Java Introducción a la Programación II

Bloque II. Elementos del lenguaje de programación Java

Declaración de una clase

Definición de estructuras. Estructuras, uniones y enumeraciones. Declaración. Definición y declaración. (struct, union y enum)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Arreglos. Algoritmos y Estructuras de Datos I. Arreglos en C++ Arreglos y listas

Java para programadores

ESTRUCTURAS DE REPETICIÓN AREA PROGRAMACIÓN 1

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Instituto Tecnológico de Celaya

Módulo 2: Algoritmos (continuación)

fundamentos de programación (unidad 4) programación estructurada en Java

Elementos de un programa en C

Introducción rápida a la programación (estructurada ) con C++

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

6. Sentencias repetitivas o bucles

IIC1103 Introducción a la Programación. Ayudantía: Archivos

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

FUNDAMENTOS DE INFORMÁTICA

REFERENCIA DEL LENGUAJE

Arreglos. H. Tejeda. Marzo Declaración de arreglos Inicialización de arreglos Uso de subíndices variables en un arreglo 5

Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:

Guía práctica de estudio 06: Estructuras de repetición

Programación. Arrays. Dr. (c) Noé Alejandro Castro Sánchez

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula;

Tema 6: Memoria dinámica

Guía práctica de estudio 05: Pseudocódigo

Tema: Estructuras de Repetición en C# [For].

Estructuras Repetitivas

ESTRUCTURAS DE CONTROL Y DE SELECCIÓN

class identificador{ //Bloque de propiedades (datos miembro, atributos, propiedades) //Bloque de métodos (comportamientos) }

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Porque usar Arreglos?

Prueba N o 1. Programación II

INTERACCION ENTRE OBJETOS

LENGUAJE. Tema 2 Elementos de un programa

Clase 2: Programación

Administración Base de Datos SQL

Tema: Estructuras de Repetición en C# [While y Dowhile].

Los tipos de datos primitivos

Práctica Guiada: Vectores y Matrices

Programación Estructurada

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

Operadores de comparación

Transcripción:

AGRUPANDO OBJETOS (Parte-II) Por Corina Flores Villarroel corina@memi.umss.edu.bo UMSS -

El ciclo while Un ciclo while es similar en su estructura y proposito al ciclo for-each Contiene una cabecera y un cuerpo. El cuerpo puede ser ejecutado repetidas veces.

El ciclo while Su sintaxis es: while (condicion del ciclo) { } // cuerpo El ciclo while es más flexible que el ciclo foreach, en vez de iterar para cada elemento de la coleccion, while puede iterar flexiblemente el numero de veces dependiendo de la condicion.

El ciclo while La condicion es una expresion booleana que determina si el cuerpo deberia ser ejecutado al menos una vez. Si la condicion se evalua como VERDAD, el cuerpo es ejecutado. Una vez que el cuerpo se ejecuta debe volver a evaluarse la condicion. Este proceso continua hasta que la evaluacion de la condicion sea FALSA. Si la condicion es falsa, salta el cuerpo del ciclo y ejecuta la siguiente instruccion inmediatamente.

El ciclo while Por ejemplo, escribamos el ciclo while para imprimir todas las citas de nuestra agenda de citas. public void listacitas() { int index = 0; while(index < citas.size()){ System.out.println(citas.get(index)); index++; } }

El ciclo while El ciclo while es equivalente a for-each. Analizemos el ejemplo: El ciclo while es mas complicado porque tenemos que hacer la declaracion de una variable que juega como indice fuera del ciclo. Inicializamos la variable en cero para el primer elemento de la coleccion. La lista de elementos de la coleccion no es fijada automaticamente, sino que debemos utilizar el metodo get de ArrayList.

El ciclo while Mantenemos nuestro propio contador (variable) para recordar las veces de ejecucion. Debemos recordar incrementar el contador (variable). El ciclo for-each es mas seguro en el sentido de garantizar siempre su finalizacion. En cambio con while es posible cometer el error de ciclo infinito.

El ciclo while Ciclo infinito se da cuando hemos olvidado incrementar el valor del contador (variable) antes de salir del cuerpo del ciclo. La condicion nunca llegara ser falsa provocando una iteracion infinita de veces. Sin embargo while tambien tiene algunas ventajas respecto a for-each 1. El ciclo while no necesita relacionarse siempre con una coleccion. 2. Utilizamos while para procesar una coleccion y podemos parar de hacerlo el momento que se desea.

El ciclo while Veamos el siguiente ejemplo: int num = 0; while(num <= 10){ System.out.println(num); num = num +2; }

Iterando sobre una coleccion Para examinar cada elemento de una coleccion, el ArrayList provee de una manera de iterar (acción de repetir una serie de pasos un cierto número de veces) sobre su contenido. El metodo iterador de ArrayList retorna un objeto Iterador Iterador es una clase definida en el paquete java.util. Entonces, para utilizar en el programa debemos escribir: import java.util.iterator;

Iterando sobre una coleccion La clase Iterator provee dos metodos para iterar sobre una coleccion: HasNext Next La sintaxis es: Iterator<Tipo_Elemento> it = micoleccion.iterator(); Notar que Iterator es tambien una clase generica, porque esta parametrizado con el tipo de elemento de la coleccion.

Iterando sobre una coleccion Una representación general: Clase Iterator<Tipo_Elemento> it = micoleccion.iterator(); while(it.hasnext()){ it.next() ; // Después, hacer algo con el elemento. Metodo } Usamos iterator para chequear repetidas veces si hay mas elementos (it.hasnext()) y luego conseguimos el proximo elemento (it.next())

Iterando sobre una coleccion /** * Lista todas las citas de la agenda usando iterator. */ public void listacitas1() { Iterator<String> it = citas.iterator(); while(it.hasnext()) { System.out.println(it.next()); } }

Acceso por índice vs. iteradores Hasta ahora hemos visto 3 maneras diferentes de iterar sobre un ArrayList: 1. Ciclo for-each 2. Ciclo While y El método get con índice 3. Objeto Iterator La opción 1 y 3, cuando todos los elementos de la colección van a ser procesados. La opción 2, se puede interrumpir más facilmente el procesamiento a mitad de hacerlo, es decir, solo procesar parte de la colección.

Acceso por índice vs. iteradores Para un ArrayList los dos métodos get e iterator son igualmente buenos de aplicar. Si utilizamos el método get, podemos ingresar u obtener los elementos de una colección a través de un índice Si deseamos iterar sobre todos los elementos de la colección usamos un objeto Iterator

Colecciones de tamaño fijo Existen aplicaciones en el que de antemano se conoce el número de elementos a almacenar en la colección. En este caso debemos usar la forma especializada de colecciones de objetos tamaño fijo. A este tipo de colecciones se denomina arreglos

Colecciones de tamaño fijo Si bien el tamaño fijo de los arreglos puede ser una desventaja. Hay dos cosas que compensan como ventaja de los arreglos frente a las colecciones de tamaño flexible. El acceso a los elementos contenidos en un arreglo es más eficiente, que en una colección flexible. Los arreglos son capaces de almacenar objetos o valores de tipos primitivos. Las colecciones flexibles solamente almacenan objetos.(arraylist)

Declaración de un arreglo La sintaxis: tipodato[ ] nombrevariable; tipodato nombrevariable[ ]; La característica que distingue la declaración de un arreglo, son [ ] Por ejemplo: int[ ] contadorpuntaje; // indica que es un arreglo de enteros

Declaración de un arreglo Asi por ejemplo: public class EjemploArreglos1 { private int[] contadorpuntaje; Arreglo de valores primitivo } Arreglo de objetos public class EjemploArreglos2 { private Registro[] personas; }

Creación o inicializacion de un arreglo La sintaxis: nombrearreglo = new tipodato[tamano]; Cuando se declara una variable arreglo, ésta no tine ningún valor. Antes de asignar cualquier valor se debe, reservar un espacio en memoria, utilizando el operador new. Por ejemplo: contadorpuntaje = new int [24]; // crea un arreglo capaz de almacenar 24 elementos.

Creación de un arreglo Continuando con el ejemplo anterior public class EjemploArreglos1 { private int[] contadorpuntaje; public EjemploArreglos1() { contadorpuntaje = new int[24]; }

Creación de un arreglo Continuando con el ejemplo anterior public class EjemploArreglos2 { private Registro[] personas; private int cant; public EjemploArreglos2(int c) { personas = new Registro[c]; }

Utilización de un arreglo La sintaxis: nombrearreglo [índice] Para acceder a un elemento de un arreglo, se coloca el nombre del arreglo y entre corchetes el índice del elemento que se desea. Por ejemplo, si se desea obtener el número 8 del siguiente arreglo: 0 1 2 3 4 5 6 3 6 8 1 0 4 2 contadorpuntaje [2]

Indices de un arreglo Generalmente el arreglo inicia su índice en cero, siendo asi que su índice final es igual al tamaño total menos 1. Por ejemplo, el tamaño de este arreglo es 7 : 0 1 2 3 4 5 6 contadorpuntaje 3 6 8 1 0 4 2

Indices de un arreglo El tamaño de un arreglo se puede obtener con el método length, de la siguiente manera: nombrearreglo.length Para el ejemplo anterior, si desearíamos realizar un recorrido sobre el arreglo, deberíamos escribir for(int i=0; i < contadorpuntaje.length; i++)

Ciclo for Sirve para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción Su sintaxis es: for (inicializacion; condicion; incremento) { // cuerpo del ciclo }

Ciclo for La inicialización es una instrucción de asignación que carga la variable de control de ciclo con un valor inicial. La condición es una expresión relacional, que evalúa la variable de control de ciclo contra un valor final o de parada que determina cuando debe acabar el ciclo. El incremento define la manera en que la variable de control de ciclo debe cambiar cada vez que la computadora repite un ciclo. Se deben separar esos 3 argumentos con punto y coma (;)

Para más detalles acerca de ESTRUCTURAS DE CONTROL SE RECOMIENDA Ver el material acerca de este tema publicado en un archivo de nombre estructurascontrol.pps en la pagina de la materia.

TAREAS para entregar TAREA1: Abrir el proyecto coleccion de www.cs.umss.edu.bo Examinar las clases: Listas y Persona Se han dejado en comentario en la clase Listas los métodos a implementar 1. borrarpersona 2. buscarmayoredad 3. muestramayores 4. muestramenores 5. muestraordenada

TAREAS para entregar TAREA2: Se pide abrir el proyecto de nombre Products o Producto desde www.cs.umss.edu.bo. Buscar en el libro Primero Objetos con Java los ejercicios: 4.34, 4.35, 4.36, 4.37 y 4.38, leer cuidadosamente cada uno y proceder con su ejecución. FECHA de ENTREGA de ambos ejercicios por definir