Repaso De[1]..

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Repaso De[1].. as PDF for free.

More details

  • Words: 2,199
  • Pages: 16
Estructura de Datos (Java) Objetivo: Aprenderá las principales estructuras de datos desde un punto de vista abstracto y las operaciones que se pueden realizar sobre ellas, aplicando en forma práctica los conceptos adquiridos mediante resolución de problemas. I.

Tipos de datos. I.1. Tipos de datos. I.1.1. Tipos de datos simples. I.1.1.1. Definición de bit, byte, carácter y palabra. I.1.1.2. Manipulación de bits. I.1.1.3. Representación de datos simples. I.1.2. Tipos de datos Abstractos. I.2.

II.

Estructura de datos. I.2.1. Definición. I.2.2. Clasificación. I.2.2.1. Lineales y no lineales. I.2.2.2. Dinámicas y estáticas.

Estructuras lineales. II.1. Arreglos. II.1.1. Definición. II.1.2. Unidimensionales. II.1.3. Bidimensionales. II.1.4. Multidimensionales. II.1.5. Resolución de problemas con arreglos. II.1.6. Clases para la implementación de arreglos. II.2. Pilas. II.2.1. Definición. II.2.2. Operaciones. II.2.3. Clases para la implementación de pilas. II.3. Colas. II.3.1. Definición. II.3.2. Tipos. II.3.2.1. Colas simples. II.3.2.2. Colas circulares. II.3.2.3. Colas dobles. II.3.3. Operaciones. II.3.4. Clases para la implementación de colas.

III.

Listas enlazadas. III.1. Listas enlazadas. III.1.1. Simples. III.1.2. Dobles. III.1.3. Circulares. III.1.4. Multilistas. III.1.5. Clases para la implementación de listas.

IV.

Estructura no lineales IV.1. Árboles. IV.1.1. Definición. IV.1.2. Representación en memoria de árboles. IV.1.2.1. Árboles generales. IV.1.2.2. Árboles binarios. IV.1.3. Recorrido de árboles binarios. IV.1.3.1. Preorden. IV.1.3.2. Inorden. IV.1.3.3. Postorden. IV.1.4. Balanceo de árboles binarios. IV.1.5. Clases para la implementación de árboles. IV.2. Grafos IV.2.1. Definición. IV.2.2. Tipos de grafos. IV.2.3. Representación de grafos en memoria. IV.2.4. Clases para la implementación de grafos.

Bibliografía: •

Estructura de datos, 2ª. Edición Cairo Mc Graw Hill, 2001



Estructura de datos en Java Mark Allen Weiss Mark Personal Educación



Estructura de datos, algoritmos y programación orientada a objetos Heileman Mc Graw Hill, 2001



Fundamentos de algoritmia Brassard y Bratley Prentice Hall

• Harvey M. Deitel/ Paul J. Deitel Cómo programar en Java, 5ª. Edición, 2004 Pearson, Prentice Hall

• Luis Joyanes Aguilar / Ignacio Zahonero Martínez Programación en Java 2 Algoritmos, Estructuras de Datos y Programación Orientada a Objetos, 2002 Mc Graw Hill



C++ guía de autoenseñanza. Schildt Mc Graw Hill, 2001



C# Manual de referencia Schildt Mc Graw Hill, 2003

Fechas de Exámenes Examen

Fecha

1er 2º. 3er 4º. Regularización Extraordinario I Calificación Final Otras Observaciones: • • •

Personificador Hora de entrada Asistencia a clase



Derecho a examen



Revisión equitativa

Regularización Extraordinario I

Unidades

Java

import Importación de paquetes con clases predefinidas. public class NombreDeLaClase { //

Este nombre debe de coincidir con el nombre físico del archivo fuente y debe tener extensión .java

Declaración de variables miembro de la clase public static tipo main (String[] args) { // También (String args[]) puede especificarse así. Declaración de variables locales Sentencias de la función main() [return tipo;] } Definición de métodos de la clase acceso static tipo NombreDelMétodo1 (Lista de Argumentos) { Declaración de variables del método 1 Sentencias del método 1 [return tipo;] } acceso static tipo NombreDelMétodo2 (Lista de Argumentos) { Declaración de variables del método 2 Sentencias del método 2 [return tipo;] } }

1

En Java existen dos formas de definir comentarios, estos son: Cometarios por Línea:

Se utilizan dos barras verticales // y después el comentario.

Ejemplo: Comentario por línea: // Mi primer programa en Java // Elaborado el 20 de Agosto de 2009 // En la materia de programación

Comentarios por Bloque:

Se utiliza una barra vertical y un asterisco, posteriormente se ponen los comentarios, los cuales pueden utilizar varias líneas y para terminar el comentario se emplea un asterisco y una barra vertical. /* comentario */.

Ejemplo: Cometario por Bloque: /* Mi primer programa en Java Elaborado el 20 de Agosto de 2005 En la materia de programación */ Tipo de datos en Java

Tipo

Tamaño en bits

boolean

1

char

16

byte

8

short

16

int

32

long

64

Rango de valores true o false Nota: El No. de bits puede variar según la plataforma ‘\u0000’ hasta ‘\uFFFF' Conjunto Unicode de ISO -128 a +127 -27 a 27 – 1 -32,768 a +32,767 -215 a 215 – 1 -2,147,483,648 a +2,147,483,647 -231 a 231 – 1 -9,223,372,036,854,775,808 a +9,223,372,036,854,775,807 -263 a 263 – 1

2

Tipo

Tamaño en bits

float

32

double

64

Rango de valores Rango negativo: -3.4028234663852886E+38 hasta -1.40129846432481707E-45 Rango positivo: 1.40129846432481707E-45 hasta 3.4028234663852886E+38 Rango negativo: -1.797693134862157E308 hasta -4.94065645841246544E324 Rango positivo: 4.94065645841246544E324 hasta 1.797693134862157E308

Tokens elementos léxico de los programas Existen 5 clase de tokens: identificadores, palabras reservadas, literales, operadores y otros. Identificadores Los identificadores pueden representar variables, constantes, métodos, nombres de archivos, etc. Diagrama de contexto de los identificadores:

Regla para formar un identificador: 1. 2. 3. 4. 5. 6.

Debe comenzar por una letra Después de la 1er. Letra puede contener letras, dígitos o guión de piso No están permitidos los espacios en blanco No deben formar palabras reservadas Java es sensibles a las mayúsculas y minúsculas En Java la longitud de los identificadores no tiene límite. 3

Variables tipo

;

identificador

, tipo

=

identificador

;

Expresión

, Constantes En Java puede distinguirse dos tipos de constantes: Constantes Literales Constantes Declaradas

o o

Constantes Declaradas Por medio del cualificador final permite dar nombres simbólicos a constantes. identificador

final tipo

=

Valor

;

Operadores Aritméticos Operador

Significado

Ejemplo

+ * / %

Suma Resta Multiplicación División Modulo

nEsto + nAquello nEsto – nAquello nEsto * nAquello nEsto / nAquello nEsto % nAquello

Nota:

El lenguaje Java extiende la definición del operador + para incluir la concatenación de cadenas.

4

Los operadores + y - tienen versiones unarias que seleccionan el signo del operando. Operador + -

Uso + op - op

Descripción Indica que el valor es positivo Indica que el valor es negativo

Además, existen dos operadores de atajos aritméticos, ++ y -Símbolo --

++

Sentencia abreviada

Sentencia no abreviada

a--

a=a-1

--a

a=a-1

a++

a=a+1

++a

a=a+1

Descripción Primero se utiliza el valor de la variable a y después se decrementa en uno Primero se decrementa en uno el valor de a y después se utiliza la variable a Primero se utiliza el valor de la variable a y después se incrementa en uno Primero se incrementa en uno el valor de a y después se utiliza la variable a

Operadores relacionales Operador Uso

Devuelve true si

>

op1 > op2

op1 es mayor que op2

>=

op1 >= op2

op1 es mayor o igual que op2

<

op1 < op2

op1 es menor que op2

<=

op1 <= op2

op1 es menor o igual que op2

==

op1 == op2

op1 y op2 son iguales

!=

op1 != op2

op1 y op2 son distintos

5

Operadores Lógicas Operador &&

Descripción And condicional

||

Or condicional

&

And lógico

|

Or lógico

^

Or exclusivo

!

Negación

Corto Circuito Si No

Operadores de Asignación Java proporciona varios operadores de asignación que permiten realizar operaciones aritméticas y lógicas.

Símbolo

Sentencia abreviada

Sentencia no abreviada

Descripción

=

a=b

a=b

El valor de b se asigna a la variable a

*=

a*=b

a=a*b

El valor de a se multiplica por b y se asigna a la variable a

/=

a/=b

a=a/b

El valor de a se divide por b y se asigna a la variable a

%=

a%=b

a=a%b

El valor de a se divide por b y el resto (o residuo) se asigna a la variable a

+=

a+=b

a=a+b

El valor de a se suma a valor de b y se asigna a la variable a

-=

a-=b

a=a-b

El valor de a se le resta el valor de b y se asigna a la variable a

6

Reglas de prioridad Prioridad

Operadores

Asociatividad

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

new (objeto) . [] () Agrupación ++ -- prefijo ++ -- postfijo ~ ! - + Unarios (tipo) Cast * / % +<< >> >>> < <= > >= instanceof == != & ^ | && || ? : condicional = *= /= %= += -= ,

I-D D-I I-D D-I D-I I-D I-D I-D I-D I-D I-D I-D I-D I-D I-D D-I D-I I-D

Selección Simple if (Expresión) Acción;

Doble if (Expresión) acción 1;

o

else acción 2;

if (Expresión) Acción;

if (Expresión) { acción1; acción 2; . . acción n;

if (Expresión) {acción1; acción2,…,acción n} ; o if (Expresión) { acción1; acción 2; . . acción n; }

} else { acción1; acción 2; . . acción n; }

7

Selección múltiple: switch (selector) { case constante 1: Acción 1; break; case constante 2: Acción 2; break; … default: Acción n; }

Ciclos for 1.

for (Inicialización; Condición; Incremento) sentencia;

2.

for (Inicialización; Condición; Incremento) { sentencia 1; sentencia 2; … sentencia n;

}

while 1.

2.

do while while (condición) sentencia; while (condición) { sentencia 1; sentencia 1; … sentencia n; }

1.

do sentencia; while (condición);

2.-

do { sentencia 1; sentencia 2; … sentencia n; } while (condición);

8

Estructura de un Método acceso static tipo NombreDelMétodo (Lista de Argumentos) { Declaración de variables del método Sentencias del método [return tipo;] Donde: acceso

static

Cada método tiene asociado un tipo que se utiliza para controlar el acceso al método. Entre estos se encuentran: public

Este método público se puede llamar de cualquier código que tenga acceso a la clase.

private

Este método privado solo puede ser llamada desde otro método de la clase en que se definió el método privado.

protected

Este método protegido se puede llamar desde otros métodos de la clase en que el método esta definido y por cualquier otro método de las clases que heredan de la clase en que está definido el método. También está disponible en cualquier objeto de las clases pertenecientes al mismo paquete que la clase en que está definido el método.

defecto

Si no especifica ningún tipo de acceso, se utiliza el acceso por defecto, esto significa que el método es accesible a todas las clases contenidas en le mismo paquete, pero no esta accesible fuera de ese paquete.

Declara el método como método de la clase y no como método del objeto (no hereda el método).

Nota: Un método declarado como static solo puede ser llamado por otro método static y hacer referencia a variables static.

9

Declaración de arreglos unidimensionales Al igual que con cualquier variable en Java, los arreglos se deben declarar antes de ser utilizados. Tipo [ ]

;

identificador

, Tipo

;

identificador [ ]

, Declaración de arreglos bidimensionales (matriz) Tipo [ ] [ ]

identificador

;

, identificador [ ] [ ]

Tipo

;

, Arreglos multidimencionales int cubo [ ][ ][ ] = new int [4][5][3];

3

y

4

z x 5

10

Declaración de clases. [public] class NombreDeLaClase { Declaración de variables miembro de la clase [acceso] [static] tipo identificador ; , [acceso] [static] tipo NombreDelMétodo1 (Lista de Argumentos) { Declaración de variables del método 1 Sentencias del método 1 [return tipo;] } [acceso] [static] tipo NombreDelMétodo2 (Lista de Argumentos) { Declaración de variables del método 2 Sentencias del método 2 [return tipo;] } }

Creación de objetos. Una vez que una clase ha sido definida, un programa puede crear una instancia de la clase denominado objeto. Un objeto se crea por medio del operador new aplicado a un constructor de clase. Formato para definir una referencia de un objeto: NombreDeClase identificadorObjeto; Formato para crear un Objeto: identificadorObjeto = new NombreDeClase(Lista de Argumentos);

11

Constructores Constructores por defecto Un constructor que no tiene parámetros se le llama constructor por defecto. Un constructor por defecto normalmente inicializa las variables con un valor por defecto class Punto { private int x; private int y; Punto () { x = 0; y = 0; }

//constructor por defecto

Punto (int x, int y) { this.x = x; this.y = y; } Regla: Java crea automáticamente un constructor por defecto cuando no existe otro constructor. Tal constructor inicializa las variables tipo int, float, double, long con cerro, las booleanas con false y las referencias con null. Precaución:

Tenga cuidado con la declaración de una clase que sólo tenga un constructor con argumentos. En ese caso si se omite un constructor sin parámetros no será posible utilizar el constructor por defecto. class Punto { private int x; private int y; Punto (int x, int y) { this.x = x; this.y = y; } …. } …. Punto primerPunto = new Punto();

// no es posible utilizar este constructor

12

Constructores alternativos A un constructor con parámetros se le denomina constructor alternativo class Punto { private int x; private int y; Punto () { x = 0; y = 0; }

// constructor por defecto

Punto (int x, int y) { this.x = x; this.y = y; }

// constructor alternativo

Constructores sobre cargados Al igual que la sobrecarga de métodos, se pueden sobrecargar los constructores. Esta técnica es muy utilizada porque proporciona medios alternativos para inicializar objetos nuevos de una clase. public class EquipoSonido { private int potencia; private int voltios; private int numCd; private String marca; EquipoSonido() { marca = “Sin Marca”; } EquipoSonido(String m) { marca = m; } EquipoSonido(String m, int p, int v) { marca = m; potencia = p; voltios = v; } …….. ……..

Otros temas: Herencia. Polimorfismo. Archivos.

13

Related Documents

De1
June 2020 8
De1
June 2020 8
De1- 2010
May 2020 10
Repaso ...
April 2020 35
Dt - De1.doc
April 2020 9
Repaso Acentos
June 2020 7