Вы находитесь на странице: 1из 6

Ejercicio 1: define el concepto de TDA.

Datos + Operaciones

Las operaciones son la nica forma de manipular los datos.

Una definicin de un Tipo de Dato Abstracto debera ser:

1. Precisa y no ambigua.
2. Tan completa como se desee (el diseador puede desear dejar de lado algunos
aspectos).
3. No sobre especificada.

Ejercicio 2: Qu elementos posee una especificacin de un TDA? Explique cada uno.

Una especificacin de un Tipo de Dato Abstracto (TDA) consta de los siguientes elementos:

o Tipos: Lista los tipos introducidos en la especificacin.


Tipo: Pila[T]
T es un tipo arbitrario. Al usar T y no integer o float etc., se logra generalidad. Al
especificar un tipo gen rico se evitan repeticiones innecesarias. Lo especificado es un
patrn. Pila[integer] define una pila de enteros.
o Funciones: lista las operaciones aplicables a las instancias de un TDA
put: Pila[T] T Pila[T]
remove: Pila[T] Pila[T]
item: Pila[T] T
empty: Pila[T] Boolean
new: Pila[T]
indica que la funcin no es aplicable a todos los miembros del dominio.
new: Pila[T] es una abreviatura de new: Pila[T].
Con esta aproximacin para definir TDA se puede ser ms preciso a la hora de
catalogar a las funciones. Dicha tarea se puede realizar teniendo en cuenta donde
aparece el tipo (T) respecto de la flecha.
Cuando T aparece solo en la parte derecha es una funcin creadora. Cuando T aparece
solo en la parte izquierda es una consulta.
Cuando T aparece en la parte izquierda y derecha es un comando.
o Axiomas: Se utilizan para especificar propiedades del tipo que se est especificando
x: T, s: Pila[T] 1
Item (put (s, x)) =x
Remove (put (s, x)) =s
Empty (new)
not empty (put (s, x))
o Precondiciones: Se utilizan para describir del dominio de las funciones parciales que se
especifican en el tipo de dato abstracto
Remove (p: Pila[T]) requiere not empty(p)
item (p: Pila[T]) requiere not empty(p)

Ejercicio 3: especifica el TDA Fila. Usa la notacin vista en teora.

Ejercicio a: Qu diferencia hay entre las operaciones de una lista vinculada y lista
implementada en arreglo?
Ejercicio b: Explica la diferencia entre Clase y Objeto.

OBJETO: Es la representacin abstracta de una entidad autnoma que posee las siguientes
caractersticas:

Una identidad nica. Un conjunto de atributos privados (el estado interno del objeto).

Un conjunto de operaciones que son las nicas que pueden acceder de forma directa al
estado interno. Estas operaciones pueden ser:

o Invocadas desde el exterior (publicas). Estas operaciones son conocidas como la


interfaz del objeto.
o Slo accesibles desde operaciones internas (privadas).

Ambas clases de operaciones representan el comportamiento total del objeto.

CLASES:

Objetos particulares que sirven para:

o Contener la estructura y comportamiento de objetos similares.


o Crear objetos particulares que poseen tal estructura y comportamiento.

Los objetos son fbricas o moldes utilizadas para crear instancias.

Los objetos son Instancias de una Clase.

Ejercicio c: Especifica e implementa el TDA Lista. Usa la notacin vista en teora

Public class <nombrede lprograma> { <opcionaldeclaracin es de variables mtodos>


public static void main ( String [ ] args ) { <sentencias >

} <opcional declaraciones de variables mtodos>

Ejercicio 1: defina los siguientes conceptos: a) Tipo Primitivo y b) Tipo Referenciado.

Nivel de los Tipos Primitivos

byte: entero con signo de 8 bits.

short: entero con signo de 16 bits.

int: entero con signo de 32 bits.

long: entero con signo de 64 bits.

float: punto flotante de 32 bits.

double: punto flotante de 64 bits.

char: unicode de 16 bits.

Boolean: true o false.


El de los tipos referenciados (Objetos y Arreglos)

Nivel de los Tipos Referenciados: Arreglos

Estructura de dato en la cual los elementos se encuentran ubicados secuencialmente.

Todos los elementos de un arreglo son del mismo tipo. Cada elemento puede ser accedido a
partir de su posicin. El ndice del primer elemento es 0.

El nmero de elementos de un arreglo se denomina longitud. El tipo de los elementos de un


arreglo se denomina tipo base.

El nmero que indica la posicin de un elemento del arreglo se denomina ndice.

Ejercicio 2: Por qu es importante tener muy en claro, a la hora de programar, los conceptos

mencionados en el ejercicio anterior? Explique cada uno.

Ejercicio a: explica la diferencia entre conversiones forzadas por el programador (cast) y las
conversiones automticas.

Conversiones Forzadas por el Programador - Cast Se utiliza cuando se desea realizar una
conversin que se sabe no se realizar automticamente. Para llevar a cabo esta conversin se
debe usar un cast, el cual se indica colocando en nombre del tipo entre parntesis.

Ejemplos de conversiones automticas

int a;

short b;

a= 17;

b= (short) a; //a es convertido explcitamente a short

Ejercicio b: explica y ejemplifica las sentencias break y continue.

Break: Cuando se ejecuta un break que se encuentra dentro de una iteracin el flujo de

control continuo en la sentencia siguiente en el loop.

Continue: Cuando se ejecuta una sentencia continue que se encuentra dentro de una iteracin
el flujo control continua en la porcin del cdigo que evala la condicin del loop. Ignorando
de esta manera la parte restante de la iteracin.

Ejercicio 1: define los siguientes conceptos:

a) Clase:
Para la creacin de una clase se debe especificar:
o La estructura (Variables de Instancia)
o El comportamiento (Mtodos de Instancia)

Una clase es un molde para la creacin de objetos o sea sus instancias.


Una clase es una abstraccin de entidades del mundo real que cumplen con las siguientes
caractersticas:

o Todas las entidades del mundo real tienen las mismas caractersticas.
o Todas las entidades siguen las mismas reglas.
o Importancia de las Clases
- Las clases permiten la creacin de objetos con una misma estructura (variables
de instancia) y con un mismo comportamiento (mtodos de instancia).
- Las clases pueden ser vistas como mecanismos para la implementacin de tipos
de datos abstractos.
- Las clases representan un mecanismo muy importante para la reutilizacin de
cdigo.
b) Objeto:

c) Constructor: Son mtodos especiales que son utilizados en la creacin de instancias de


una clase. En Java, para cada clase C se le asocia un constructor C() capaz de crear
instancias de la clase. Esto se lleva a cabo cuando dicho constructor se usa junto con la
palabra reservada New en expresiones New C().
Todos los constructores poseen el mismo nombre de la clase y solo difieren en el nmero
y tipo de sus parmetros.

d) Estado del objeto:

e) Variables de Instancia:
Definicin de las Variables de Instancia
class Punto {
//Variables de Instancia
float x;
float y;
}
f) Mtodo:

Cmo se implementan los destructores en Java?

Un destructor se utiliza cuando se necesitan realizar acciones de limpieza cuando se destruye


el objeto.

Smbolo Identificador (Lista de Parmetros Formales) Cuerpo

Un destructor siempre lleva el nombre de la clase, pero se distingue del constructor porque va
precedido por algn smbolo especial. En el caso de C++ dicho smbolo es .
Ejercicio 2: explica cada uno de los modificadores de acceso que provee Java.

Reglas de Accesibilidad Si se pretende que la clase Punto forme parte del paquete
java.classes1, cuyo directorio deber figurar en la variable CLASSPATH, entonces al inicio del
archivo donde se define la clase punto se debe escribir:

package java.classes1;

class Punto {}

Modificador Accesible por:


public Cualquier clase.
protected La clase, Clases del paquete, subclases.
private La clase
ninguno La clase, Clases del paquete

Ejercicio a: explica porque en algunas situaciones es importante implementar el mtodo

clonar () para una clase determinada.

Ejercicio a: Cmo se identifica un constructor en Java? Cuntos constructores se pueden


definir?

o Llevan el mismo nombre de la clase.


o Una clase puede tener ms de un constructor.
o En el caso de haber ms de un constructor los mismos se diferencian por el nmero de
argumentos.

Es siempre posible y generalmente muy til definir ms de un constructor. En este caso,


generalmente los constructores difieren en los valores asignados a las variables de instancia, o
tambin en la forma de asignar esos valores.

Ejercicio 1

Dada una lista de nmeros entero, escriba una funcin que devuelva:

Una lista con todos los que sean primos.

La sumatoria y el promedio de los valores.

Una lista con el factorial de cada uno de esos nmeros.

Ejercicio 2

Escriba un programa que permita al usuario:

1- Crear un diccionario O cuya clave es el DNI de una persona y el valor es un objeto del tipo
Persona la cual almacena el nombre de la persona, el DNI y una lista de tuplas denominada
telfonos, donde en cada tupla contiene informacin: (<tipo>, <telfono>).

Por ejemplo: (casa,2657 435678) o (celular,261 543215)

2- Ingresar Personas al diccionario

3- Imprimir los datos de las personas que posean al menos un telfono con caracterstica
ingresada por el usuario
Ejercicio 3

Dada las siguientes clases

Realice las siguientes actividades:

1-Que tipo de dato abstracto implementa la clase Q?

2- Que tipo de dato abstracto implementa la clase S?

3- En base al TDA que ud. Cree que implementan las clases redefina los nombres de cada uno
de sus metodos.

4- Escriba un algoritmo que:

Permita que el usuario ingrese n nmeros enteros y los almacene en un objeto s de la clase S.

a- Coloque los nmeros pares de s en qp (un objeto de la clase Q)


b- Coloque los nmeros impares de s en qi (un objeto de la clase Q)
c- Imprima los objetos almacenados en qp
d- Imprima los objetos almacenados en qi
e- Qu hace el algoritmo que ud acaba de escribir?

Ejercicio 4

Escribe una funcin llamada mypear, que reciba una funcin y una lista y devuelva la lista que
resulta de aplicar la funcin recibida a cada uno de los elementos de la lista recibida.

Вам также может понравиться