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

INSTITUTO TECNOLGICO DE

COMITANCILLO

TRABAJO:
ENSAYO UNIDAD I
MATERIA:
Red de computadora
PROFESORA:

GRUPO: A
GRADO: V SEMESTRE
CARRERA: ING. EN INFORMATICA
DE CONTROL: 14710055

N.

SISTEMA ESCOLAR: ESCOLARIZADO

DE AGOSTO

SAN PEDRO COMITANCILLO, OAX.VIERNES


2016

ndice

Introduccin3
1.1.-Tipos de datos abstractos (TDA)....4
1.2.-Modularidad5
1.3.-Uso de TDA. ..7
1.4.-Manejo de memoria esttica8
1.5.-Manejo de memoria dinmica. ..10
Conclusin.13
Referencias14

INTRODUCCIN

Estructura de datos

Este ensayo fue creado para que nosotros como alumnos podamos tener ideas ms
claras y concretas de estos cinco puntos y as poder comprender esta unidad para
que algn da podamos ponerlas en prctica durante nuestra vida profesional. Uno
de los temas que ms recalcaremos es la memoria dinmica y de los punteros son,
sin duda, las estructuras dinmicas de datos. Las estructuras bsicas disponibles en
C y C++ (structs y arrays) tienen una importante limitacin: as comprenderemos
puntos como no pueden cambiar de tamao durante la ejecucin. Losarrays estn
compuestos por un determinado nmero de elementos, nmero que se decide en la
fase de diseo, antes de que el programa ejecutable sea creado. En muchas
ocasiones

necesitamos estructuras que puedan cambiar de tamao durante la

ejecucin del programa. Por supuesto, podemos crear arrays dinmicos, pero una
vez creados, tu tamao tambin ser fijo, y para hacer que crezcan o disminuyan de
tamao, deberemos reconstruirlos desde el principio. En esta unidad aprenderemos
que Las estructuras dinmicas nos permiten crear estructuras de datos que se
adapten a las necesidades reales a las que suelen enfrentarse nuestros programas.
Pero no slo eso, como veremos, tambin nos permitir crear estructuras de datos
muy flexibles, ya sea en cuanto al orden, la estructura interna o las relaciones entre
los elementos que las componen.

Estructura de datos

1.1 TIPOS DE DATOS ABSTRACTOS (TDA)


En estos primeros puntos definiremos TDA como un modelo matemtico con una
coleccin de operaciones definidas sobre el modelo (Aho, Hoperoft y Ullman.
Fundamental Estructures of Computer Science, 1981).
Un algoritmo
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
Tambin definiremos a la Abstraccin como 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.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.

Estructura de datos

As que podemos definirla como Abstraccin de datos es una tcnica que permite
inventar nuevos tipos de datos que sean ms adecuados a una aplicacin y, por
consiguiente, facilitar la escritura del programa.
Ejemplo: Un sistema de numeracin es un ejemplo de un tipo de dato abstracto que
representa el concepto de cantidad.

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.

1.2 MODULARIDAD
En el punto dos definiremos a la modularidad como la posibilidad de dividir una aplicacin
en piezas ms pequeas llamadas mdulos.
En otras definiciones dice

que Modularidad en Ciencias de la computacin es la

caracterstica por la cual un programa de computador est compuesto de porciones que


se conocen como mdulos. El diseo estructurado es la tcnica de diseo de algoritmos
en que se basa la programacin modular, paradigma de programacin que persigue
desarrollar programas modulares.
La modularidad se basa en la descomposicin de un problema en una serie de sub
problemas; dividindolo en mdulos que resultan de segmentar el problema en funciones
lgicas que son perfectamente diferenciadas. Esta divisin exige la presencia de un
mdulo denominado mdulo de base o principal a objeto de que controle y se relacione
con los dems.
Es una tcnica de programacin que todava se utiliza tanto para la construccin de
algoritmos computacionales bsicos as como apoyo al desarrollo de sistemas de gestin
(en el diseo de diagramas modulares).

Estructura de datos

Por qu Modulamos las aplicaciones?

Descomponer el problema en partes ms simples


Facilitar la comprensin del sistema y de cada una de sus partes.
Si se produce un error en un mdulo, ste slo afecta a dicho mdulo
Las correcciones debidas a cambios en la especificacin afectan a un nmero
reducido de mdulos.
El sistema est compuesto de una serie de mdulos independientes comunicados
entre s.

Cmo se debe modular una aplicacin?

El mdulo debe dejar bien claro cmo hacer uso de l

El acceso a los servicios de un mdulo debe ser homogneo


Un mdulo debe estar listo para su uso pero a su vez debe poder mejorarse
El lenguaje de programacin utilizado debe soportar el uso de mdulos

Ejemplo:
//Primer mdulo
Funcin sumar ( n1, n2 ) tipo
entero
Sumar = n1 + n2
fin funcin
//Segundo mdulo
Funcin restar ( n1, n2 ) tipo
entero
restar = n1 - n2
fin_funcion
//Programa principal
INICIO
a, b, res tipo entero
Escribe "primer dato"
leer a
escribe "segundo dato"

1.3 USO DE TDA.

leer b
res = sumar(a, b)
escribe "el resultado es:
",res
res = restar (a, escribe "el
resultado es: ",res

Estructura de datos

Este uso nos Permitir

aprovechar el nivel de abstraccin en el desarrollo de un

problema. Por ejemplo: Resolver el problema de verificacin si la suma y multiplicacin de


2 nmeros complejos producen el mismo nmero complejo.

Arreglos
Listas
Pilas
Colas
Arboles
Grafos

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.


7

Estructura de datos

La memoria esttica podemos definirla como no modificable memoria esttica es cuando


no puede modificarse en tiempo de ejecucin.
La estructura que maneja memoria esttica son los vectores, Un vector es una coleccin
finita, homognea y ordenada de elementos. Es finita porque todo arreglo tiene un lmite,
homognea porque todos los elementos son del mismo tipo y ordenada porque se puede
determinar cul es el ensimo elemento. Un vector tiene dos partes: Componentes e
ndices os componentes hacen referencia a los elementos que forman el arreglo y los
ndices permiten referirse a los componentes del arreglo en forma individual.
Los arreglos se clasifican en:
Unidimensionales (vectores o listas)
Bidimensionales (matrices o tablas)
Multidimensionales
Desventajas.o No se puede modificar el tamao de
o
o

la estructura en tiempo de

ejecucin
No es ptima para grandes cantidades de datos
Desperdicio de memoria cuando no se ocupa la totalidad del tamao de
la estructura.

Para determinar la direccin fsica de un elemento de un arreglo unidimensional en la


memoria se requiere la siguiente frmula:
Direccin de memoria = Direccin inicial en la memoria + Posicin del arreglo o
ndice * Tamao en bytes del tipo de dato primitivo.

Ejemplo: Si tenemos un arreglo de 5 elementos enteros y queremos determinar la


direccin de memoria que ocupa cada uno, tomando en cuenta que la direccin inicial del
arreglo es 1300, el resultado sera es siguiente:
8

Estructura de datos

arreglo

10

20

30

40

50

ndice

direcci

130

130

130

131

131

Arreglo [0] = 1300 + 0 * 4 = 1300


Arreglo [1] = 1300 + 1 * 4 = 1304

Un arreglo bidimensional: (matriz o tabla), Podemos definirlo como 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.
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.

Ejemplo: Si tenemos un arreglo de 3 renglones y 3 columnas con elementos


enteros y queremos determinar la direccin de memoria que ocupa cada uno,
tomando en cuenta que la direccin inicial del arreglo es 2700, el resultado sera
arreglo
0
1
2
direcci
0
1
2
es siguiente:
n

40

50

60

2700

2704

2708

70

80

90

2712

2716

2720

70

80

90

2724

2728

2732

Arreglo [0][0] = 2700 + (3 * 0 + 0) * 4 = 2700


Arreglo [0][1] = 2700 + (3 * 0 + 1) * 4 = 2704

Estructura de datos

arreglo[0][2] = 2700 + (3 * 0 + 2) * 4 = 2708

Arreglo [1][0] = 2700 + (3 * 1 + 0) * 4 = 2712

1.5 MANEJO DE MEMORIA DINMICA.


La memoria dinmica si puede modificarse en tiempo de

ejecucin, Se puede

aumentar o reducir el tamao de la estructura sin ningn problema.


La memoria dinmica, es el espacio de almacenamiento que solicita una clase o mtodo
en tiempo de ejecucin. De esa manera, a medida que el proceso requiere de ms
espacio se solicita al sistema operativo, sin que el proceso se preocupe por donde sern
asignados los datos, ni que espacios de memoria nos entregara el sistema operativo.

As como existen estructuras de datos estticas (arreglos), tambin existen estructuras de


datos dinmicas (listas y rboles), estas ltimas son generadas a partir de un tipo de dato
conocido como referencia (direccin de memoria). Para utilizar las referencias se requiere
de un elemento llamado nodo, el cual se estructura de la siguiente manera.

Dato
Dir

Dato

Dir

Dir

Nodo
con una referencia
Nodo con dos
referencias

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 lineales encontramos los
rboles.

Lista simple.
Lista doble.
10

Estructura de datos

rbol.
Consideraciones.

Manejo transparente del tamao de la estructura

No Se guarda necesariamente en memoria adyacente

Se guarda donde encuentra espacio


Ventajas.

El tamao de la estructura no interfiere en la lgica del programa


No desperdicia espacio de memoria
Se puede modificar el tamao de la estructura sin ninguna dificultad

Desventajas.

No se conoce con anticipacin el espacio que memoria que se va ocupar

Vector
Contiene un nmero de elementos que es menor o igual que su capacidad. La capacidad
es el espacio que se ha reservado para los elementos de Vector. Si un objeto Vector
requiere de una capacidad adicional, crece en base a un incremento de capacidad que
usted le especfica, o en base a un incremento de capacidad predeterminado. Si usted no
especifica un incremento de capacidad, el sistema duplicara el tamao de un objeto
Vector cada vez que se requiera de una capacidad adicional.
Los constructores de la clase Vector son los siguientes:
a) Vector ( )
b) Vector (int tamao)
c) Vector (int tamao,int incr)

a)

Esta es la primera forma que crea un vector por defecto, que tiene un tamao

inicial de 10.
b)

Esta es la segunda opcin que crea un vector que viene especificado por

tamao.

11

Estructura de datos

c)

La tercera forma crea un vector de capacidad especificada en tamao e

incremento incr. El incremento indica el nmero de elementos cuya memoria se


asigna cada vez que el vector se aumenta de tamao.

Los objetos Vector almacenan referencias a objetos Object. Por lo tanto, un programa
puede almacenar referencias a cualquier objeto en un objeto Vector. Para almacenar
valores de tipos primitivos en objetos Vector, utilice las clases de tipo de envoltura (por
ejemplo, Integer y Double) del paquete java.lang para crear objetos que contengan los
valores de tipo primitivo.

Conclusin

12

Estructura de datos

Con

esto

hemos concluido

la unidad

tenemos

claros

los conceptos

la informacin a trabajar, adems de generar un anlisis exhaustivo de las necesidades


que

debe

cumplir

el

programa

por

qu

medio

se

van

cumplir,

son caractersticas fundamentales previo a la creacin de cdigo, si no se tiene claro que


se va a disear, no se puede tener claro cmo se va a realizar. El uso de las multilistas
favorecen las labores de programacin, con estas se agiliza profundamente el tener que
hacer validaciones para el ingreso de datos y dems lneas de cdigo que solo generan
acumulacin, adems de hacer que el programa sea compilado mucho ms lento. As que
por medio de este ensayo hemos tenido ideas ms claras de la estructura de datos.

Bibliografa

13

Estructura de datos

Tenembaum,

A.N Agenstein,

J.J.Estructura

de

datos

en

C.Prentice-Hall.Mexico

(Agenstein, 1991).1991.
Ullman,J Aho,A y Hopcroft, Estructura de datos y Algoritmos .Mxico(Addison-Wesley.
1988)
Cairo,Osvaldo.Estructura de datos.MCGraw-hill.mexico.1993.

14

Estructura de datos

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