Académique Documents
Professionnel Documents
Culture Documents
datos
1.1 TDA
Un algoritmo es una secuencia finita de operaciones, organizadas para realizar
una tarea determinada.
Las estructuras de datos son la forma en que se organizan los datos para ser
usados.
Puede ser una coleccin de variables, posiblemente de diferentes tipos de
datos, conectadas de un modo determinado.
Una estructura de datos bien organizada debe permitir realizar un conjunto de
acciones sobre los datos de tal forma de minimizar el uso de los recursos y el
tiempo empleado para efectuar la operacin.
Abstraccin
La abstraccin es un mecanismo fundamental para la comprensin de
fenmenos o situaciones que implican gran cantidad de detalles.
Abstraccin es la capacidad de manejar un objeto (tema o idea) como un
concepto general, sin considerar la enorme cantidad de detalles que pueden
estar asociados con dicho objeto.
Ejemplo, se puede saber conducir un automvil sin conocer el tipo del modelo o
cmo est fabricado.
La abstraccin se utiliza para suprimir detalles irrelevantes, mientras se
enfatiza en los relevantes o significativos.
El beneficio principal de la abstraccin es que facilita al programador pensar
acerca del problema a resolver. Uno de los principios importantes del diseo de
software es el de la abstraccin y ocultacin de la informacin.
la palabra perro, usted no necesita que se le diga lo que hace el perro. Usted
ya sabe la forma que tiene un perro y tambin sabe que los perros ladran. De
manera que se abstraen todas las caractersticas de los perros en un solo
trmino, perro. A esto se le llama Abstraccin y es un concepto muy til en la
programacin, ya que un usuario no necesita mencionar todas las
caractersticas y funciones de un objeto cada vez que ste se utiliza, sino que
son declaradas por separado en el programa y simplemente se utiliza el
trmino abstracto (perro) para mencionarlo.
En el ejemplo anterior, perro es un Tipo de Dato Abstracto y todo el proceso
de definirlo, implementarlo y mencionarlo es a lo que llamamos Abstraccin de
Datos.
Otro ejemplo:
Una calculadora es un ejemplo de un TDA que maneja objetos de cantidades
numricas y las operaciones aritmticas sobre dichas cantidades. Usa el
sistema decimal para las cantidades y realiza operaciones de suma, resta,
multiplicacin, etc. Sin embargo, Ud. sabe cmo una calculadora representa
las cantidades internamente? En Binario? Decimal? Palitos? Piedritas?
NO no lo sabe y tampoco le hace falta para usar la calculadora.
Un sistema de numeracin es un ejemplo de un tipo de dato abstracto que
representa el concepto de cantidad.
1.2 Modularidad
La modularidad es la posibilidad de dividir una aplicacin en piezas ms
pequeas llamadas mdulos.
Por qu Modulamos las aplicaciones?
comunicados entre s
Cmo se debe modular una aplicacin?
Un mdulo debe estar listo para su uso pero a su vez debe poder
mejorarse
Clase BitSet
Java proporciona otra alternativa para manipular los bits y esta es mediante la
clase BitSet(Conjunto de bits) que crea un tipo especial de arreglo que contiene
valores de bits. Este puede aumentar de tamao segn se necesite. Esto lo
hace similar a la clase vector. Los constructores definidos para esta clase son:
BitSet( )
BitSet(int tamao)
Descripcin
Object clone( )
int hashCode( )
int length( )
int size( )
String toString( )
Ejercicio 2.
Realizar un programa que permita encontrar los nmeros primos de 0 hasta n
aplicando el mtodo de la criba de Eratstenes; implementarlo haciendo uso de
la clase BitSet.
Manejo de Memoria
La administracin de memoria de una computadora es una tarea
fundamental debido a que la cantidad de memoria es limitada.
El sistema operativo es el encargado de administrar la memoria del sistema
y compartirla entre distintos usuarios y/o aplicaciones.
El RTS (Run Time System) de un lenguaje de programacin administra la
memoria para cada programa en ejecucin.
La ejecucin de un programa requiere que diversos elementos se
almacenen en la memoria:
Cdigo del programa (instrucciones)
Datos
Permanentes
Temporales
Direcciones para controlar de flujo de ejecucin del programa
Memoria esttica y dinmica
A la asignacin de memoria para algunos elementos fijos del programa que
es controlada por el compilador se le llama asignacin de memoria
esttica.
A la asignacin y posible recuperacin de memoria durante la ejecucin de
un programa y bajo su control, se le llama asignacin de memoria
dinmica.
1.4 Manejo de memoria esttica
byte
char
short
int
float
long
double
arregl
o
10
20
30
40
50
ndice
direcc
in
13
00
13
04
13
08
13
12
13
16
Arreglos Bidimensionales.
Un arreglo bidimensional (matriz o tabla), es un conjunto de elementos
homogneos definidos bajo una estructura finita, controlado por dos ndices y
su representacin es por un conjunto de renglones y columnas, en forma de
una malla.
Para determinar la direccin fsica de un elemento de un arreglo bidimensional
en la memoria se puede seguir una de las siguientes formulas:
Por renglones.
Direccin de memoria = Direccin inicial en
la memoria + (Numero de columnas del
arreglo * Posicin del arreglo en rengln o
ndice de rengln + Posicin del arreglo en
columna o ndice de columna) * Tamao en
bytes del tipo de dato primitivo
arreglo
direcci
n
40
50
60
270
270
270
70
80
90
271
2
271
6
272
0
70
80
90
272
4
272
8
273
2
Ejemplo. Tomamos como base el ejemplo anterior, pero ahora con columnas
quedara de la siguiente manera:
arreglo
direcci
n
40
50
60
270
0
271
2
272
4
70
80
90
270
271
272
70
80
90
270
8
272
0
273
2
Lectura / Escritura.
Asignacin.
Actualizacin:
Insercin.
Eliminacin.
Modificacin.
Ordenamiento.
Bsqueda.
Dir
Dir
Dato
Dir
Las estructuras de datos que usan nodos pueden ser lineales o no lineales,
dentro de las lineales se encuentran las listas simples y dobles y en las no
Lista simple.
------>
Dato
Dir
----->
Dato
Dir
Dato
Dir
Lista doble
--->
Dir
Dato
Dir
---->
Dir
Dato
Dir
Dir
Dato
Dir
<--<-----
rbol
Dir
Dir
Dato
Dato
Dir
Dir
Dir
Dato
Dir
Mtodo
Final
addElement(Object
elemento)
Descripcin
Int capacity( )
Object clone( )
Bolean
elemento)
Enumeration elements( )
Void
ensureCapacity(int Establece la mnima capacidad del vector en
tamano)
tamao.
Object firstElement( )
Int
elemento)
Int
indexOf(Object Devuelve el ndice de la primera aparicin de
elemento, int inicio)
elemento en o despus de inicio. Si el vector no
est en esa parte del vector, se devuelve 1.
Bolean isEmpty( )
Object lastElement( )
Int
lastIndexOf(Object Devuelve el ndice de la ltima aparicin de
elemento)
elemento, si el elemento no est en el vector, se
devuelve 1.
Int
lastIndexOf(Object Devuelve el ndice de la ltima aparicin antes
elemento,int inicio)
de inicio. Si el objeto no est en esa parte del
vector, se devuelve 1.
Void removeAllElements( )
Bolean
removeElement(Object
elemento)
Int size( )
String toString( )
Void trimToSize( )