ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA



Documentos relacionados
Modulo 1 El lenguaje Java

APUNTES JAVA ARRAYS (ARREGLOS) Un arreglo es un grupo de posiciones de memoria contiguas. Todas las cuales tienen el mismo nombre y el mismo tipo.

11. Algunas clases estándar de Java (II)

1. Manejo de memoria estática 2. Manejo de memoria dinámica

Tema 6. Reutilización de código. Programación Programación - Tema 6: Reutilización de código

Resumen Lenguaje Java

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Introducción al tipo de dato ARRAY

Fundamentos de la Programación

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

TIPOS DE DATOS DEFINIDOS POR EL PROGRAMADOR: Estructuras CONTENIDOS

Capítulo 6. Introducción a la POO

Clases y Objetos. Informática II Ingeniería Electrónica

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h>

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

Estructura de datos tipo vector.

15. Parámetros o argumentos

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

Computación III. Objetivo de aprendizaje del tema

Taller de Programación I. Tema 04: Arreglos y Matrices en Java

9. Objetos y clases Clases

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

Introducción al lenguaje de programación java

Diseño Estructurado de Algoritmos

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES

Vectores y matrices. Arrays Declaración Creación Acceso a los elementos de un array Manipulación de vectores y matrices

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

Tema: Sobrecarga de Operadores.

Programación Avanzada para Sistemas de Telecomunicación Arrays

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

DIAGRAMA DE CLASES EN UML

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos

Introducción a la programación orientada a objetos

Capítulo 4 Procesos con estructuras de repetición

Centro de Capacitación en Informática

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco?

FACULTAD DE INGENIERÍA

Objetivo de aprendizaje del tema

Arrays y Cadenas en C

2. Estructura de un programa en Java

Tema 2. Software. Informática (1º Ingeniería Civil)

Tema: Arreglos de Objetos en C++.

Programación Orientada a Objetos en JAVA

MODELOS DE RECUPERACION

2.1. Introducción al lenguaje Java

TEMA 7: DIAGRAMAS EN UML

Base de datos relacional

Tutorial básico del entorno de desarrollo Eclipse.

SISTEMA ETAP en línea Estándares Tecnológicos para la Administración Pública

MANUAL DE USUARIOS DEL MODULO DE EVALUACIÓN DE DESEMPEÑO SISTEMA DE ADMINISTRACIÓN DE SERVIDORES PÚBLICOS (SASP)

Un kilobyte (KB) son 1024 bytes, un Megabyte (MB) son 1024 KB, un Gigabyte son 1024 Mb

Instructivo de Microsoft Excel 2003

PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI

Fórmulas y funciones

Manual de Usuario Sistema SIGESP 1 de 15 Módulo: Sistema de Seguridad Rev. Nº 00. Revisado Por : Firma: Elaborado Por: ADS. Teresa Andrade Firma

ARREGLOS DEFINICION GENERAL DE ARREGLO

TEMA 3. CLASES. EJERCICIOS

MATERIAL 2 EXCEL 2007

ESTRUCTURA DE DATOS: ARREGLOS

Base de datos en la Enseñanza. Open Office

1 ELEMENTOS BASICOS DEL LENGUAJE

AGRUPA P R OBJET E OS 1

Programación Orientada a Objetos con Java

PRÁCTICAS DE GESTIÓN GANADERA:

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

8. Sentencia return y métodos

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

UNIDAD EJECUTORA DE CONSERVACION VIAL MANUAL DEL USUARIO DEL SISTEMA INTEGRAL DE CONTROL DE PROYECTOS

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.

Carteleras. Elaborar una agenda de conciertos y actividades musicales

Vectores. 27/05/05 Programación Digital I 1

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

4. SISTEMAS DE COSTOS P OR PROCESOS

Curso 0 de Informática

Manual de ayuda para la utilización del Correo Interno en el Campus Virtual

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Java Inicial (20 horas)

Práctica 0. Emulador XENON de la computadora CESIUS

GUÍA DE CONFIGURACIÓN DEL MÓDULO DE FACTURACIÓN ELECTRÓNICA. SoftRestaurant 2012 SISTEMA DE ADMINISTRACIÓN DE BARES Y RESTAURANTES SOFTRESTAURANT

PROYECTO EDUCATIVO LA CALERA

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas

Programación III. 1. Facultad: Ingeniería Escuela: Computación Asignatura:Programación III I. OBJETIVOS II. INTRODUCCIÓN TEÓRICA

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

Ejercicio 1. Desarrollar un pequeño juego para practicar mecanografía.

Organización de Computadoras

LOGÍSTICA DE SALIDA: Métodos de Despacho de Mercadería. Sistema. IWMS MKR Systems

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Un Navegador es un programa que nos conecta a Internet y nos permite organizar nuestro

Clases de apoyo de matemáticas Fracciones y decimales Escuela 765 Lago Puelo Provincia de Chubut

LABORATORIO 1 OPERACIONES DE ENTRADA Y SALIDA

PROGRAMACIÓN ORIENTADA A OBJETOS

Cómo puede mi organización registrar plazas de trabajo?

Programa Presupuestos de Sevillana de Informática.

Lección 1-Introducción a los Polinomios y Suma y Resta de Polinomios. Dra. Noemí L. Ruiz Limardo 2009

Operación de Microsoft Word

STOCK CONTROL CENTER INVENTARIOS Y DEPOSITOS By PolakoSoft. M A N U A L. MAIL: info@stockcontrolcenter.com.

Transcripción:

ARREGLOS EN JAVA I I N T R O D U C C I Ó N En las sesiones anteriores, los datos manejados en los programas han sido datos simples (carácter, entero, reales) En un gran número de problemas es necesario manejar un conjunto de datos más o menos grande que están relacionados entre sí, de tal forma que constituyen una unidad para su tratamiento Por ejemplo si se quiere manipular una lista de 100 edades de personas, es conveniente tratar el conjunto de datos de forma unitaria en lugar de utilizar 100 variables para cada dato simple Un conjunto de datos homogéneo que se tratan como una sola unidad se denomina estructura de datos Si una estructura de datos reside en memoria central (memoria RAM), se llama estructura de datos interna Recíprocamente si reside en un soporte externo (disquete, disco, cd, memoria USB, cinta, se denomina estructura de datos externa La estructura de datos más importante desde el punto de vista de utilización es una matriz, que es implementado en la totalidad de lenguajes de programación Esta estructura corresponde con los conceptos matemáticos de vector, matriz o poliedro I I D E F I N I C I O N Un arreglo (lista o tabla) es una secuencia de datos del mismo tipo (estructura homogénea), los datos se llaman elementos del arreglo enumerados consecutivamente 0,1,2,3, y se encuentran almacenados consecutivamente en memoria Cada elemento puede ser accedido directamente por el nombre de la variable matriz seguido de uno o más subíndices matriz m 0 1 2 3 4 5 6 7 8 9 Un arreglo puede contener, por ejemplo, la edad de los estudiantes de una clase, las horas diarias laboradas por un trabajador, el número de estudiantes por ciclo de Ingeniería de Sistemas, etc En general, la representación de un arreglo se hace mediante variables suscritas o de subíndices y pueden tener una o varias dimensiones (subíndices) I I I C L A S I F I C A C I Ó N D E A R R E G L O S Los arreglos según su dimensión se clasifican en unidimensionales, bidimensionales y multidimensionales; y según su contenido en numéricas, de caracteres y de referencia a objetos 1 ARREGLOS UNIDIMENSIONALES (Vectores) Son arreglos de una sola dimensión, tienen un solo índice Cada elemento del vector se accesa mediante su nombre seguido del número correspondiente al subíndice que se escribe entre corchetes Por ejemplo, supongamos que tenemos un vector de enteros llamada m, el cual contiene 8 elementos Estos elementos se identificaran de la siguiente forma: Vector m Acceso al cuarto elemento es m[3] 5 4 8 7 3 2 1 6 m[0] m[1] m[2] m[3] m[4] m[5] m[6] m[7] Elementos del Vector Subíndices El arreglo unidimensional tiene ocho elementos: m[0] contiene 5, m[1] contiene 4, m[2] contiene 8, m[3] contiene 7, m[4] contiene 3, m[5] contiene 2, m[6] contiene 1, m[7] contiene 6 El diagrama representa realmente una región de la memoria de la computadora, ya que un arreglo se almacena siempre con sus elementos en una secuencia de posiciones de memoria contigua En Java, los índices del arreglo siempre tienen como limite inferior 0, y como índice superior el tamaño del arreglo menos 1 Igual que sucede con otras variables, antes de utilizar un arreglo primero hay que declararla La declaración de un arreglo especifica el nombre del arreglo y el tipo de elemento de la misma Para crear y utilizar un arreglo hay que realizar tres operaciones: declararla, crearla e iniciarla 1º DECLARAR UN ARREGLO UNIDIMENSIONAL La declaración de un arreglo unidimensional, se realiza de las 2 formas siguientes: tipodato[ ] nombrevariable; tipodato nombrevariable[ ]; CURSO: Estructura de la Información 1 DOCENTE: Ing Fabián Silva Alvarado

donde tipodato indica el tipo de datos de los elementos del arreglo, que pueden ser de cualquier tipo primitivo o referenciado; y nombrevariable es un identificador que nombra al arreglo Los corchetes modifican la definición normal del identificador para que sea interpretado por el compilador como un arreglo Veamos algunos ejemplos int[ ] m; declara un arreglo de tipo int float[ ] temperatura; declara un arreglo de tipo float Note que las declaraciones no especifican el tamaño del arreglo El tamaño será especificado cuando se cree el arreglo, operación que se hará durante la ejecución del programa Los corchetes también se pueden colocar después del nombre del arreglo int m[ ]; float temperatura[ ]; 2º CREAR UN ARREGLO UNIDIMENSIONAL Después de haber declarado un arreglo, el siguiente paso es crearla o construirla Crear un arreglo significa reservar la cantidad de memoria necesaria para contener todos sus elementos y asignar al nombre del arreglo una referencia a ese bloque Esto puede expresarse genéricamente así: nombrevariable = new tipodato[tamaño] donde nombrevariable es el nombre del arreglo previamente declarado, tipodato es el tipo de datos de los elementos del arreglo; y tamaño es una expresión entera que especifica los números de elementos El hecho de utilizar el operador new significa que Java implementa los arreglos como objetos, por lo tanto serán tratadas como cualquier otro objeto Las siguientes líneas de código crean los arreglos de una dimensión declaradas en el ejemplo anterior: m = new int [10]; temperatura = new float[31]; Crea un arreglo identificada por m con 10 elementos de tipo int; es decir, puede almacenar 10 valores enteros; el primer elemento es m[0], el segundo es m[1], y el ultimo es m[9] Crea una matriz de temperatura de 31 elementos de tipo float Es bastante común declarar y crear un arreglo en una misma línea Esto puede hacerse así: Veamos un ejemplo: int[ ] m = new int[10]; Más Ejemplos: tipodato[ ] nombrevariable = new tipodato[tamaño]; tipodato nombrevariable[ ] = new tipodato[tamaño]; float[ ] temperatura = new float[31] int Edad[ ] = new int[100]; Declara un arreglo llamado Edad que contiene 100 elementos de tipo enteros (int) String Nombres[ ] = new String [25] ; Declara un arreglo llamado Nombres que puede almacenar 25 nombres de personas double Salario[ ] = new double[50] ; Declara un arreglo llamado Salario que puede almacenar 25 elementos de tipo doublé Cuando se crea un arreglo, el tamaño del mismo puede ser también especificado durante la ejecución a través de una variable a la que se asignara como valor el número de elementos requeridos int nelem; nelem=integerparseint(joptionpaneshowinputdialog( Ingrese # de elementos del arreglo ); int [ ] m = new int[nelem]; 3º INICIAR UN ARREGLO UNIDIMENSIONAL Un arreglo es un objeto, por lo tanto, cuando es creada, sus elementos son automáticamente iniciados, igual que sucedía con las variables miembro de una clase Si el arreglo es numérico sus elementos son iniciados a 0 y si no es numérico, a un valor análogo a 0; por ejemplo un elemento booleano es inicializado a false y las referencias a objetos a null Si deseamos iniciar un arreglo con otros valores diferentes a los predeterminados, podemos hacerlo de la siguiente forma: double[] ingresos=1000,5000,7000,10000,12000,15000; CURSO: Estructura de la Información 2 DOCENTE: Ing Fabián Silva Alvarado

el ejemplo crea un arreglo ingresos de tipo double con tantos elementos como valores se hayan especificado entre llaves Para practicar la teoría vamos a realizar un programa que asigne datos a un arreglo unidimensional m de nelementos y, a continuación, como comprobación del trabajo realizado, escriba el contenido de dicho arreglo La solución será similar a la siguiente: Numero de elementos del Arreglo: 10 Ingrese los valores del Arreglo: m[0]=1 m[1]=2 m[2]=3 m[9]=10 Los Elementos ingresados son: 1 2 3 10 Para ello, en primer lugar definimos la variable nelem para fijar el número de elementos del arreglo, creamos el arreglo m con ese número de elementos y definimos el subíndice i para acceder a los elementos de dicho arreglo int nelem; nelem=integerparseint(joptionpaneshowinputdialog( Ingrese # de elementos del arreglo ); int m[]= new int[nelem]; int i = 0; // subíndice // crear el arreglo m El paso siguiente es asignar un valor desde el teclado a cada elemento de la matriz for (i=0; i<nelem; i++) m[i]=integerparseint(joptionpaneshowinputdialog("m[" + i + "] = ")); Una vez leído los elementos para el arreglo visualizamos para comprobar el trabajo realizado String AreaSalida="Los Elementos ingresados son: \n"; for(int i=0;i<nelem;i++) AreaSalida = AreaSalida + " " + m[i]; JOptionPaneshowMessageDialog(null, Salida); El Programa completo se muestra a continuación: import javaxswingjoptionpane; public class Clase_Arreglos001 public static void main(string[] args) int nelem=0; nelem=integerparseint(joptionpaneshowinputdialog("ingrese # de elementos del arreglo ")); int m[]=new int[nelem]; int i=0; //Subindice //Asignar valores al arreglo for(i=0;i<nelem;i++) m[i]=integerparseint(joptionpaneshowinputdialog("m [" + i + "] = ")); //Visualizar datos String Salida="Los Elementos ingresados son: \n"; for(i=0;i<nelem;i++) Salida = Salida + " " +m[i]; JOptionPaneshowMessageDialog(null, Salida); CURSO: Estructura de la Información 3 DOCENTE: Ing Fabián Silva Alvarado

TAMAÑO DE UN ARREGLO Atributo length Java considera cada arreglo como un objeto, debido a ello se puede conocer el numero de elementos de un arreglo accediendo al campo length Por ejemplo, la última parte del ejercicio anterior podríamos escribirla también así //Visualizar datos String Salida="Elementos ingresados: \n"; for(i=0;i<mlength;i++) Salida = Salida + " " +m[i]; JOptionPaneshowMessageDialog(null, Salida); APLICACIONES EMPLEANDO ARRAYS UNIDIMENSIONALES 1 Programa que incluye un arreglo con elementos inicializados con valores diferentes a los predeterminados: Diseñar la siguiente interfaz y agregue el siguiente código para el botón //Código para el botón private void btnvisualizaractionperformed(javaawteventactionevent evt) //Declarar e inicializar el arreglo int miarreglo[]=15,20,14,10,19,17; //Visualizar Datos String Salida=""; for(int i=0;i<miarreglolength;i++) Salida=Salida+miarreglo[i]+"\n"; txtlistasettext(salida); 2 Programa que incluye un arreglo de enteros y los datos son asignados directamente en el código: CURSO: Estructura de la Información 4 DOCENTE: Ing Fabián Silva Alvarado

//Código para el botón private void btnvisualizaractionperformed(javaawteventactionevent evt) //Declarar y crear el arreglo double miarreglo[]=new double[5]; //Asignar miarreglo[0]=15; miarreglo[1]=20; miarreglo[2]=14; miarreglo[3]=10; miarreglo[4]=19; También podemos hacer una asignación con números aleatorios //Visualizar Datos String Salida=""; for(int i=0;i<miarreglolength;i++) Salida=Salida+miarreglo[i]+"\n"; txtlistasettext(salida); Hay que recordar que el número generado es del tipo double Es por ello que para finalizar deberemos de hacer un casting a un entero 3 Programa que incluye un arreglo de enteros y los datos son asignados por teclado: private void btnagregaractionperformed(javaawteventactionevent evt) //Leer la caja de texto int tam=integerparseint(txtelemgettext()); //Declarar y crear el arreglo int miarreglo[]=new int[tam]; //Asignar for(int i=0;i<tam;i++) miarreglo[i]=integerparseint(joptionpaneshowinputdialog("elem ["+i+"]")); //Visualizar String Salida=""; for(int i=0;i<tam;i++) Salida=Salida+miarreglo[i]+"\n"; txtlistasettext(salida); CURSO: Estructura de la Información 5 DOCENTE: Ing Fabián Silva Alvarado

4 Programa que incluye un arreglo de enteros y los datos son asignados desde un cuadro de texto: Diseñe el formulario teniendo en cuenta el nombre de los controles Programa funcionando txtarreglo //Código del programa I SUMA DE 2 ARREGLOS OPERACIONES CON ARREGLOS: A B C i=0 10 20 30 i=1 15 10 25 i=2 20 + 15 = 35 i=n-1 X Y X+Y C[i]= A[i] + B[i] C[i]= A[i] + B[i]; II PRODUCTO DE 2 ARREGLOS A B C i=0 10 20 200 i=1 15 10 150 i=2 20 * 15 = 300 i=n-1 X Y X*Y C[i]= A[i] * B[i] C[i]= A[i] * B[i]; CURSO: Estructura de la Información 6 DOCENTE: Ing Fabián Silva Alvarado

III DIFERENCIA DE 2 ARREGLOS C[i]= A[i] - B[i]; IV DIVISION DE 2 ARREGLOS C[i]= A[i] / B[i]; Ejemplo: Imprimir la planilla de salarios de los trabajadores de una empresa de acuerdo al siguiente formato: i=0 i=1 i=2 i=99 PLANILLA DEL MES DE JULIO 2011 CODIGO APELLIDOS Y NOMBRES SAL_BAS BONIF SAL_PARC DSCTO SAL_NETO **** ****************** ****** ***** ****** ***** ****** **** ****************** ****** ***** ****** ***** ****** **** ****************** ****** ***** ****** ***** ****** **** ******************* ****** ***** ****** ***** ****** TOTALES ******* ******** Especificaciones: a) Cada trabajador se identifica con su nombre y su código b) Cada Trabajador tiene un salario básico (SAL_BAS) entre 1000 y 2000 c) Cada trabajador tiene una bonificación (BONIF) del 12% del Salario Básico d) El Salario Parcial (SAL_PARC) es igual a SAL_BAS+ BONIF e) Cada trabajador tiene un descuento (DSCTO) del 9% del SAL_PARC f) El Salario Neto (SAL_NETO) es igual a SAL_PARC DSCTO Codigo[i] Ape_Nomb[i] Sal_Bas[i] Bonif[i] Sal_Parc[i] Descuento[i] Sal_Neto[i] Implementar en Java CURSO: Estructura de la Información 7 DOCENTE: Ing Fabián Silva Alvarado