Guia Edoo2012

August 14, 2017 | Author: leninsebastian17 | Category: Programming Language, Array Data Structure, Object (Computer Science), Computer File, Computer Memory
Share Embed Donate


Short Description

Download Guia Edoo2012...

Description

Estructuras de Datos Orientada a Objetos

1

Septiembre/12-Marzo/13

1

INTRODUCCION A LAS ESTRUCTURAS DE DATOS

1.1 Abstracción Términos simples: Es un proceso mental, mediante el cual se extraen los rasgos esenciales de algo para representarlos por medio de un lenguaje gráfico o escrito. Debido a que es un proceso mental es una acción subjetiva y creativa es decir: depende del contexto psicológico de la persona que la realiza. Términos de la POO: Constituye un principio de la POO que:  “Enfatiza en detalles que son significativos y que suprime otros detalles que son por el momento irrelevantes”.  “Denota las características esenciales de un objeto que lo distinguen de todas las otras clases de objetos”. 1.2 Importancia de la abstracción Dato: unidad básica de la información, que por lo general por si solo no dice nada. Información: es el conocimiento que puede comunicarse, generalmente es el conjunto de datos pero que tienen relación y que tienen sentido; La abstracción: es una técnica o metodología que permite diseñar o modelar Estructuras de Datos, Consiste en representar bajos ciertos lineamientos de formato las características esenciales de una Estructura de Datos. Su importancia radica en que la abstracción es una capacidad para modelar una realidad por medio de herramientas computacionales. 1.3 Estructuras de Datos Cualquier colección o grupo de datos organizados, de tal forma que tengan asociados un conjunto de operaciones para poder manipularlos. La mayoría de lenguajes de programación de alto nivel disponen de tipos de datos estructurados o estructuras de datos predefinidas. Ejemplo: Arreglos, que no son más que un conjunto de datos, todos del mismo tipo, con una organización lineal y con métodos claros de acceso a través de sus subíndices. Las operaciones tradicionales son: comparación, asignación, escritura, lectura.

Estructuras de Datos Orientada a Objetos

Septiembre/12-Marzo/13

2

Tipos de Estructuras

SIMPLES

COMPUESTAS

  

Hacen referencia a un solo valor a la vez. Ocupan una sola casilla de memoria Pueden ser: Entero, real, lógico carácter (donde: su tamaño depende del Lenguaje de Programación).

 Se caracteriza por el hecho de que con un nombre se hace referencia a un grupo de casillas de memoria es decir ésta estructura está formada:  Por uno o varios datos simples.  Por uno o varios datos compuestos.  Porque pueden tener algún tipo de comportamiento (métodos).

ED:Estructura de almacenamiento + Operaciones de manipulación (métodos). Clasificación de las Estructuras de Datos

 



ESTATICAS Tienen una cantidad fija de memoria principal Delimitan el espacio que ocupan en memoria en tiempo de compilación Ejemplo: Arreglos o Arrays, Cadenas // declaración int [ ] A; // crea un arreglo con 10 números // enteros A = new int [ 10 ] ;

  

DINAMICAS No tienen limitación en el tamaño de memoria principal ocupada El espacio de memoria a ocupar se determina en tiempo de ejecución Ejemplo: listas, árboles, grafos, etc. public class Nodo{ // Atributos private int dato; private Nodo sig; // Constructor public Nodo (Nodo ns){ sig = sig; } // Métodos a implementar para la // clase Nodo }

TDA: Tipo de Dato Abstracto: Es el modelo, junto con varias operaciones definidas sobre el modelo, con lo que se representa a la estructura y el comportamiento del mundo real. El TDA, especifica el ¿Qué? más no el ¿Cómo?

1.4 Tipo de Dato Abstracto ( T.D.A) TDA es un modelo matemático de estructuras de datos que especifica los tipos de datos almacenados, las operaciones definidas sobre esos datos y los tipos de los parámetros de esas operaciones.

Estructuras de Datos Orientada a Objetos

Septiembre/12-Marzo/13

3

Un TDA define lo que cada operación debe hacer, más no como lo debe hacer. En un lenguaje de programación como Java un TDA puede ser expresado por una interface, que es una simple lista de declaraciones de métodos. Un TDA es materializado por una estructura de datos concreta, en Java, es modelada por una clase. Una clase define los datos que serán almacenados y las operaciones soportadas por los objetos que son instancia de la clase. Al contrario de la las interfaces, las clases especifican como las operaciones son ejecutadas (Implementación). La técnica de la abstracción de datos establece que al diseñar una nueva Estructura de Datos – pasa a ser un TDA que luego podrá ser implementado en cualquier lenguaje de programación. Especificación lógica de un TDA Es un documento en el que se plasma la abstracción realizada al diseñar una Estructura de Datos y a partir del cual se implementa la Estructura de Datos. En dicho documento se definirán claramente todas las reglas en las que podrá usarse el TDA Partes: 1.

2.

Elementos que conforman la Estructura de Datos Describe el tipo de los datos individuales que guardara la estructura. Ejemplo: números enteros, números reales, caracteres, fechas, registro con los datos de un empleado. Tipo de organización en que se guardara los elementos Lineal: Si hay una relación de uno a uno entre los elementos. (Arreglos) Jerárquica: Si hay una relación de uno a muchos entre los elementos. (Arboles)

Red: Relación de muchos a muchos entre los elementos (grafos)

Sin relación: Si no hay relación entre los elementos

Estructuras de Datos Orientada a Objetos

Septiembre/12-Marzo/13

4

3.

Dominio de la estructura (opcional) Se describirá la capacidad de la estructura de datos en cuanto al rango posible de datos por guardar.

4.

Descripción de las operaciones de la estructura Para cada operación se debe considerar los siguientes puntos: • Nombre de la operación Descripción breve de su utilidad • Datos de entrada a la operación • Datos que generan como salida la operación • Precondición: condición que debe cumplirse ANTES de utilizar la operación para que se ejecute sin problemas. • Postcondicion : condición en que queda el TDA DESPUES de ejecutar la operación. “Definir claramente la especificación lógica del TDA, facilita la implementación y aplicación de la Estructura de Datos.” Importante: Averigua varios ejemplos de aplicaciones dentro del campo informático, donde se identifique a una estructura de datos y el tipo de organización en su implementación INVESTIGA..!!!

1.5 Niveles de abstracción de datos 1.- Nivel (Lógico o abstracto) Corresponde a la especificación lógica del TDA. En este nivel se define abstractamente a la Estructura de Datos y las operaciones relacionadas con ella, independientemente del lenguaje de programación en el que se implemente o utilice la Estructura. 2.- Nivel (Físico o de Implementación) Se decide el lenguaje de Programación en el que se va a implementar la estructura de datos. Así como los tipos de datos ya definidos en el lenguaje de programación servirán para representar a la estructura. y luego se implementa cada una de las operaciones diseñadas en el TDA 3. – Nivel de Aplicación o de Uso: El programador usará el TDA para resolver determinadas aplicaciones, el uso del TDA se limita a llamar a las operaciones sobre la estructura que se requiera cuidando siempre de cumplir las reglas de cada operación especificadas en el nivel lógico. Analiza: Identifica los niveles de abstracción en el siguiente ejemplo de la vida real como lo es: “Construir un edificio”. Piensa en otros casos más, comenta con tus compañeros y con tu profesora !!!

Estructuras de Datos Orientada a Objetos

Septiembre/12-Marzo/13

5

Ventajas de utilizar la Técnica de Abstracción de Datos Se tiene una implementación más clara, documentable y fácil de darle mantenimiento. Debido a la independencia de datos, se puede crear paquetes como unidades de software reutilizable, con los que se obtienen Estructuras de Datos genéricas. Facilita y hace más rápido el desarrollo de aplicaciones.

  

Ejemplo de TDA: En un sistema bancario las cuentas de cheques de los clientes pueden considerarse objetos. Todos ellos pertenecen a una cuenta llamada CUENTA _CHEQUES que definen para cada instancia los siguientes datos:  Numero de la cuenta.  Nombre del cliente.  Sucursal donde se abrió la cuenta.  Saldo de la cuenta. Y las siguientes Operaciones  Abrir cuenta  Deposito  Retiro  Consultar saldo A continuación elaboramos la especificación lógica que contienen los siguientes puntos: TDA: CUENTA _CHEQUES. 1.- Elementos que conforman la estructura de datos Número de cuenta  cadena Nombre del cliente  cadena Sucursal donde se abrió  cadena Saldo de la cuenta  real 2.- Tipo de organización. El tipo de organización es lineal entre los números de cuentas 3.- Dominio Existe entre 0 y 10000 cuentas, el dominio será todos aquello números que se ubiquen dentro del rango establecido. 4.- Descripción de las operaciones ABRIR_CUENTA: Utilidad: Esta operación se ejecutará al crear un objeto de la clase CUENTA_CHEQUES, e implica solicitar por teclado los datos correspondientes para guardarlos en los atributos del objeto y colocar el valor de cero al saldo inicial. Datos de entrada:Nombre del cliente, Nombre de la sucursal, (Saldo inicial de la cuenta será cero) Datos de salida: Número de cuenta Precondiciones: Ninguna Postcondiciones: Los datos ingresados serán guardados en los atributos correspondientes del objeto. DEPOSITAR Utilidad: Agrega la cantidad especificada al saldo de la cuenta. Datos de Entrada: Monto a depositar Datos de Salida: Saldo disponible aumentado Precondiciones: Número de la cuenta exista Que la cantidad a depositar sea mayor a cero Postcondiciones: Saldo de la cuenta agregado la cantidad especificada -

RETIRAR

Estructuras de Datos Orientada a Objetos

Septiembre/12-Marzo/13

6

Utilidad: Quita al saldo de la cuenta la cantidad espeficada, validando que sea posible retirar esa cantidad. Datos de Entrada: Monto a retirar Datos de Salida: saldo disponible disminuido Precondiciones: Que el número de cuenta exista Que el saldo disponible sea mayor que la cantidad especificado para el retiro. Postcondiciones: saldo disponible disminuido en la cantidad especificada CONSULTAR_SALDO Utilidad: Mostrar en pantalla el saldo de la cuenta correspondiente Datos de Entrada: Número de cuenta Datos de Salida: Saldo disponible Precondiciones: Exista el número de cuenta Postcondiciones: Ninguna

1.6 Representación de una estructura de datos Puede entenderse como el punto de conexión entre la especificación lógica de una TDA y su implementación en un lenguaje de programación particular. Dentro del proceso de abstracción de datos la representación de una estructura corresponde al inicio del segundo nivel de abstracción es decir el nivel físico. Constituye un esquema de cómo se almacenarán los elementos de la Estructura de Datos, en la memoria de tal forma que se logre su óptimo aprovechamiento. Tipos de representaciones para una Estructura de Datos Independientemente de las facilidades de implementación que ofrezcan los lenguajes de programación, una Estructura de Datos puede representarse de dos formas:

1. Por posiciones

Almacenamiento contiguo

Tipos 2. Por ligas

Almacenamiento disperso

1. Representación de una estructura de datos por posiciones El lugar físico donde se almacena un elemento determina automáticamente su posición relativa en la estructura de datos. Se podría considerar como un espacio de almacenamiento contíguo donde: cada lugar sirve para almacenar un elemento. Un elemento esta en un lugar K, por lo tanto

Tendrá la késima posición dentro de la estructura

El elemento K+1 estará después de K por lo tanto se almacenará en el lugar k+1 del espacio de almacenamiento.

Estructuras de Datos Orientada a Objetos

1 2 K K+1 N

Elemento 1 Elemento 2 … Elemento k Elemento k+1 … Elemento N

Septiembre/12-Marzo/13

7

Existe una relación lineal Elemento 1  pos 1 Elemento 2  pos 2 …. Elemento N  pos N

Herramientas en los lenguajes de programación para desarrollar una representación por posiciones Todos los lenguajes de programación proveen al programador de herramientas útiles para representar Estructuras de Datos en forma contigua, más conocidas como estructuras de datos implícitas del lenguaje. 1. Arreglos de elementos uniformes.- Solo almacenan un conjunto de elementos de un mismo tipo simple enteros, reales, cadenas o tipos compuestos registros con elementos de diferentes tipos 2. Registros de elementos de diversos tipos.- Permiten definir estructuras que contienen valores de diferentes tipos, almacenados como si fuera unidad. 3.- Archivos Secuenciales.- el almacenamiento es contiguo, son similares a los arreglos, permiten almacenar un conjunto de elementos aunque lo hace en la memoria secundaria. Ventajas Fácil implementación. Rapidez de recorrido, debido a que la dirección de cada elemento está implícita en su posición física. Desventajas Al realizar manipulaciones de los elementos o Al agregar un nuevo elemento en algún lugar que no sea el último, se tiene que desplazar los elementos hacia abajo que están después de la posición de inserción deseada logrando que se genere un espacio para poder agregar un nuevo elemento. o Al borrar un elemento que no sea el último deja un espacio no permitido entre los elementos, para lo cual se tiene que desplazar una posición hacia arriba los elementos, que están después del elemento borrado. 2. Representación de una estructura de datos por ligas En este tipo de representación la ubicación física de un elemento no determina la posición relativa que tiene dentro de la Estructura de Datos. El almacenamiento se realiza en forma dispersa: dos elementos contiguos en la Estructura de Datos no necesariamente deben estar almacenados físicamente en posiciones contiguas dentro del espacio de almacenamiento. 1 2

Elemento k

Dir k+1 Almacenamiento disperso

Estructuras de Datos Orientada a Objetos



K K+1

Elemento 1

Dir 2

… N

Elemento k+1

Septiembre/12-Marzo/13

8

Lista Uno: Elemento k, el que sigue está en la dirección Dir k+1, que es el Elemento 1, el que sigue está en la Dir 2 que es nula. Lista Dos. Elemento k+1, el que sigue tiene dirección Nula Dir k+2

Dir k+2

En necesario que cada elemento almacene la dirección física donde se ubica el elemento que le sigue en el Estructura de tal forma que puedan mantener una relación en donde está cada uno de los elementos. Características 1.- La posición física del elemento no determina la posición relativa dentro de la Estructura de datos. 2.- El almacenamiento se realiza en forma dispersa. 3.- Es necesario que cada elemento almacena la dirección física del siguiente elemento. 4.- Cada elemento debe contener 2 o más campos (dato y dirección). Ventajas 1.- La representación no es exclusiva debido a que mantiene una organización lineal 2.- Posibilidad de agregar y eliminar elementos de la estructura, sin tener que desplazar los elementos que ya estaban en ella. 3.- Permite un uso más eficiente del espacio de almacenamiento ya que puede crecer o decrecer en tiempo de ejecución, según requiera el usuario. Desventajas 1.- Cada elemento deber “recordar” donde está alguno de los elementos, cada espacio es un elemento compuesto por (dato y la dirección del siguiente elemento). 2.- Las operaciones requieren mayor tiempo de procesamiento, debido a que el acceso no es directo, se requiere realizar un recorrido hasta encontrar el elemento deseado. Herramientas en los Lenguajes de Programación para desarrollar una Representación por Ligas En la mayoría no existen herramientas predefinidas, por lo tanto es el programador implementa las estructuras. Se recomienda el uso de apuntadores, un apuntador se define como un tipo capaz de almacenar una dirección de memoria, se considera como una referencia indirecta a un elemento.

Estructuras de Datos Orientada a Objetos

2

Septiembre/12-Marzo/13

9

ESTRUCTURAS DE DATOS BÁSICAS

2.1 Cadenas o Strings Cadena: Es una secuencia finita de símbolos tomados como un conjunto de caracteres (letras, números, caracteres especiales). Strings: Internamente es un arreglo de caracteres, dependiendo del lenguaje de Programación generalmente se considera el inicio de la cadena en la posición 0. La importancia del String radica en que la mayor parte de la información que se maneja actualmente en casi cualquier área del conocimiento puede verse como una secuencia de caracteres. Ejemplo: el nombre de una persona, el nombre del un libro, la información de un texto son vistas como cadenas de caracteres. Conceptualización de un String como un TDA Se puede diseñar muchos TDA, que definen una String considerando que operaciones se tomarán como básicas para el funcionamiento de dicha estructura y cuál será el conjunto de caracteres que aceptarán como parte de él. TDA: String Elementos: Conjunto de letras mayúsculas y minúsculas, caracteres especiales y dígitos. Estructura: Existe una relación lineal, debido a que se considera como una cadena de caracteres. Dominio: Suponiendo que los Strings pueden almacenar entre 0 y 80 caracteres, su dominio será el conjunto de todas las cadenas que puedan formar con la combinación de elementos de esa longitud. Operaciones: INICIALIZAR Utilidad: Nos sirve para definir el espacio a ocupar en la memoria por el string. Datos de entrada: Tamaño de memoria para el String Datos de salida: El string S es nulo (esta vacio) Precondición: Ninguna Postcondición: el String S es nulo. -

INSERTAR_CARÁCTER_AL_FINAL Utilidad: añadir un carácter al final Datos de entrada: String S y la letra L que se insertará al final de S. Datos de salida: String S modificado Precondición: El numero de letras en S es menor que 80. Postcondición: el string S tiene una letra más en el extremo derecho

-

BORRAR_ CARÁCTER_AL_INICIO Utilidad: Permite borrar un carácter al inicio del String Datos de entrada: String S al que se le borrara la primera letra Datos de salida: String S modificado Precondición: el String S exista y no sea nulo Postcondicion: el String S tiene una letra menos en el extremo izquierdo

-

CONCATENAR Utilidad: Unir dos Strings S1 y S2 Datos de entrada: Strings S1 y S2. Datos de salida: String S1 modificado. Precondición: La suma de la longitud de S1 y S2 debe ser menor que 80. Postcondición: A string S1 se le agrega todos los caracteres de s2(en el extremo derecho); s2 no se modifica.

-

BUSCAR_SUBSTRING Utilidad: Buscar un Substring S2 en S1 Datos de entrada: Strings S1 y S2. Datos de salida: verdadero si S2 está contenida en S1, falso en caso contrario Precondición: S1 y S2 existan Postcondición: ninguna

Estructuras de Datos Orientada a Objetos

Septiembre/12-Marzo/13

-

OBTENER_ CARACTER Utilidad: Sirve para encontrar un carácter dentro del String Datos de entrada: String S donde se desea conocer cierto carácter y la posición i del carácter que se desea conocer. Datos de salida: Carácter que se encuentra en la posición i del String S Precondición: El String S no sea nulo e i debe ser un valor entre 1 y la longitud de S Postcondición: Ninguna

-

VERIFICA_VACIO Utilidad: Sirve para verificar si una cadena o String está vacía o no Datos de entrada: String S que será verificado Datos de salida: Verdadero si el String S no tiene caracteres y Falso en caso contrario. Precondición: Ninguna. Postcondición: Ninguna.

-

VERIFICAR_LLENA Utilidad: Sirve para verificar si una cadena está llena o no Datos de entrada: String S que será verificado Datos de salida: Verdadero si la cadena o String S contiene 80 caracteres y Falso en caso contrario Precondición: Ninguna Postcondición: Ninguna

-

INVIERTE Utilidad: Sirve para invertir el orden de los caracteres de un String. Datos de entrada: String S1 a invertir Datos de salida: String S2 Precondición: la secuencia de la cadena S se invierte, de forma que el primer carácter toma el lugar del último, el segundo del penúltimo y así sucesivamente. Postcondición: El String S1 cambia sus caracteres y se convierte en String S2

10

Estructuras de Datos Orientada a Objetos

Septiembre/12-Marzo/13

11

Representación del TDA String. Se puede almacenar en la memoria mediante almacenamiento contiguo y también podrá utilizarse el almacenamiento no contiguo. 1. Uso de un Carácter Centinela Los caracteres se almacenan en un arreglo con longitud predefinida.

A L M A C E N A M I E N T O

Se delimitan por un carácter especial, denominado “Centinela”equivale a un carácter nulo en la mayoría de los lenguajes de programación ‘\0’. MARTES\00 C O N T I G U O

1

2

3

4

5………………...n

Desventaja. El carácter centinela ocupará un espacio dentro del String. No se conoce la longitud del String por lo que se debería programar un método que permita realizar dicha operación. Los lenguajes de programación que utilizan este tipo de almacenamiento son: C Y C++. 2. Almacenamiento de la longitud del String Los elementos del String se almacenan en un arreglo de longitud predefinida. La Longitud actual del String se almacenan en la posición 0 y no forma parte del String. max ASCII6MARTES....

0

1

2

3

4

5 6

N Desventaja. Debido a que la longitud ocupa una posición de un carácter la longitud se restringe a 265. El lenguaje de programación que utiliza este tipo de almacenamiento es el Pascal.

Estructuras de Datos Orientada a Objetos

Septiembre/12-Marzo/13

12

1. Lista encadenada de nodos con un caracter Genera una lista encadenada donde cada nodo almacena un solo carácter y la dirección del siguiente nodo de la lista. M A L M A C E N A M I E N T O

N O

Ventaja.

C O N T I G U O

Desventaja.

A

R

T

E

S

Puede generar Strings de longitud infinita.

Desperdicio del 80% en la memoria debido al almacenamiento en tantas direcciones de nodos. 2. Lista encadenada de nodos con N caracteres Genera una lista encadenada donde cada uno de los nodos almacena N caracteres, del String (N>1) y la dirección donde se encuentra el siguiente nodo. UNIVERS

IDAD NA

CIONAL

DE LOJA

Ventajas. Genera Strings de longitud infinita y se disminuye el desperdicio de memoria. Desventajas. La implementación de sus operaciones es más compleja, ya que la información contenida en el String está almacenada en forma de substrings. EJERCICIOS PROPUESTOS

1. Cree un método que permita generar y presentar la letras del alfabeto mayúsculas separadas por un guión 2. Cree un método que permita contar el número de letras A que existen dentro de una cadena. 3. Cree un método que permita contar el número de letras mayúsculas que existen dentro de una cadena. 4. Cree un método que permita contar el número de palabras que existe dentro de una frase. 5. Cree un método que permita cambiar de mayúsculas a minúsculas y viceversa

Estructuras de Datos Orientada a Objetos

2.2

Septiembre/12-Marzo/13

13

Arreglos Unidimensionales (Arrays) Analiza: Se tienen las notas de un grupo de 90 estudiantes y necesitamos saber cuántos de estos estudiantes tienen tienen una nota superior al promedio del grupo. ¿Cómo podríamos resolver este problema?.... Piensa en varias soluciones, comenta con tus compañeros y con tu profesora…..!!!

¿Qué es un arreglo Unidimensional? Es un tipo de dato estructurado, está formado por una colección finita y ordenada de datos del mismo tipo. Además de conoce como una estructura natural, que es utilizada para modelar lista de elementos iguales, donde el tipo de acceso es “DIRECTO” debido al uso de un índice que indica la posición relativa del elemento dentro de la Estructura de Datos y además porque para acceder a cada elemento se lo hace directamente sin tener que consultar elementos anteriores o posteriores. Representación en memoria. 100 101 102 103 104

A[0] A[1] A[2] A[3] A[4] . . . .

TDA: ARREGLO. Elementos: Números enteros. Estructura: Lineal entre los elementos del arreglo. Dominio: Los datos o elementos posibles a guardar estarán en el rango de 0-20 números. Operaciones: -

OBTENER Utilidad: Regresa el elemento del arreglo A, que tiene un rango r. Datos Entrada: índice i Datos Salida: elemento e Precondiciones: elemento e, este guardado dentro del arreglo A. índice i sea < rango. Postcondiciones: se produce una condición de error si el índice i N-1, donde n es la cantidad actual de elementos.

-

AGREGAR Utilidad: Colocar un elemento e, en el arreglo A del rango r. Datos Entrada: el elemento nuevo e Datos Salida: El arreglo A con un elemento mas Precondiciones: haya espacio en el arreglo

Estructuras de Datos Orientada a Objetos

Septiembre/12-Marzo/13

14

Postcondiciones: El arreglo con un elemento agregado. MODIFICAR Utilidad: Sustituir el elemento e del arreglo A de rango r en el índice i. Datos Entrada: elemento ea, y el nuevo elemento ne Datos Salida: mensaje Precondiciones: El arreglo este creado y no este vacio Post condiciones: Se produce un mensaje de error, si el elemento no se encuentra en el arreglo. ELIMINAR Utilidad: quitar el elemento e del arreglo A de rango r en el índice i. Datos Entrada: elemento e Datos Salida: mensaje indicando que la operación ha tenido éxito. Precondiciones: el arreglo no este vacio y que el elemento se encuentre en el arreglo Postcondiciones: Se produce un mensaje de error, si el elemento no se encuentra en el arreglo.

Representación de Arreglos

Manejo de arreglos en Java. Los arreglos son considerados como objetos cuyo tamaño se determina en tiempo de compilación y no puede ser modificado en tiempo de ejecución. Pueden contener. Tipos de datos (int, char, boolean, float) Objetos de clases (los del API, o los definidos por el usuario). Se hace uso del operador [ ]. Dispone de una función miembro para consultar la longitud de arreglo length. Declaración de un arreglo. [ ] identificador; identificador [ ]; Ejemplos: String [ ] días_Semana; int [ ] edades_Estudiantes; double [ ] notas; char [ ] vocales; boolean [ ] productos disponibles. Creación de los arreglos. Reservar el espacio en memoria y se requiere de un constructor que es el operador (new). dias_Semana = new String[7];

Estructuras de Datos Orientada a Objetos

Septiembre/12-Marzo/13

edades_Estudiantes = new int[20]; notas = new double[10]; vocales = new char[5]; Se puede declarar y crear el arreglo: • Declarar y crear un arreglo vacio. String [ ] días_Semana=new String [7]; •

O también: declarar y crear un arreglo con valores iníciales. int [ ] edades_Estudiantes={15,20,23,18};

Errores. 1. Crear arreglos estáticos en tiempo de compilación. int [4]edades; 2.

Asignar valor a un arreglo sin haber determinado su tamaño. int [ ] edades; edades [0]=15;

Principales Operaciones 1. Lectura Saber el contenido o el valor del arreglo de una determinada posición. Ejemplo. int [ ] edades={15,18,20,25}; Sintaxis: Nombre_Arreglo[subindice]; edades[3]; retorna el 25 ya que está en la posición 3. 2. Escritura y actualización Sintaxis: Nombre_Arreglo[subíndice]=”valor”; Edades [1]=28; Ejemplo de actualización de la posición 1. 3. Presentación de los elementos arreglos. Se lo hace a través de un recorrido. for(int i
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF