Actividad 3 Unidad 1


Preguntas:

1.- Metodología para la definición de un TDA  Definir el dominio del TDA en donde tomará valores una entidad que pertenezca al modelo matemático del TDA.

Definir los efectos que producen en el dominio del TDA cada una de las operaciones definidas.

2.- Menciona dos formas para describir el dominio de un TDA:

Si el dominio es finito y pequeño, éste puede ser enumerado. Por ejemplo, el dominio del tipo booleano es {true, false}.
Se puede hacer referencia a un dominio conocido de objetos matemáticos. Por ejemplo, el conjunto de los números negativos. 3.- Tipos básicos de operaciones en un TDA:

Constructores: Crean una nueva instancia del tipo.
Transformación: Cambian el valor de uno o más elementos de una instancia del tipo.
Observación: Nos permiten observar el valor de uno o varios elementos de una instancia sin modificarlos.
Iteradores: Nos permiten procesar todos los componentes en un TDA de forma secuencial.



Comentarios: La abstracción de datos surge cuando se abstrae el significado de los diferentes tipos de datos que aparecen en nuestro problema. Este tipo de abstracción nos permite crear nuevos tipos de datos pensando en los posibles valores que pueden tomar y en las operaciones que los manipulan. Como cabe esperar, estas operaciones serán a su vez abstracciones funcionales.


Fuentes de Información:
http://www2.ing.puc.cl/~iic11021/materia/cap12.htm

http://www.davidparedes.es/2009/01/02/tipos-abstractos-de-datos-tad/

http://translate.google.com.mx/translate?hl=es&langpair=en%7Ces&u=http://xlinux.nist.gov/dads/HTML/abstractDataType.html




Actividad 2 - Unidad 1

 
 
Positivo:

La memoria estática reserva cierta cantidad de memoria por medio de variables estáticas o globales a la hora de la compilación, además de que al momento de programar es más fácil de entender. La memoria dinámica define el espacio necesario de tamaño de la memoria para un programa en tiempo de ejecución y las variables pueden cambiar durante su ejecución, además su costo es menor que el de la estática.

Negativo:

En la memoria estática esta tiene mayor costo que la dinámica, además al reservar cierta cantidad de memoria antes de conocer los datos, origina reservar un máximo de memoria que en la mayoría de las ocasiones no se va a necesitar. En la memoria dinámica es que ya no puede almacenar variables que se cambian durante la ejecución del programa si se termina el espacio.

Interesante:

Lo interesante de la memoria estática es que se aloja un registro correspondiente a cada uno de los subprogramas y que dichos registros contendrán las variables locales, etc. Dentro de cada registro las variables se organizan secuencialmente. De la memoria dinámica es que necesita de cargas eléctricas continuas para seguir guardando información, además que va solicitando más memoria del S.O a medida que el proceso va requiriendo más líneas.
CONCLUSIÓN

Hemos llegado a la conclusión como equipo, que debemos pensar como administrar la memoria ya que al hacerlo hará la diferencia entre el éxito o el fracaso, porque hoy en dúa el usuario que requiere el programa, realiza varios procesos al mismo tiempo, entonces esto hace que el procesador y todos los componentes que se encargan de realizar estos procesos en ocasiones no pueden responder como debería de ser, dificultando al usuario sus necesidades, entonces lo que buscamos es: efectividad, rapidez, que se satisfagan las necesidades del usuario y a menor precio, ya que hoy en día, el cliente es lo que busca, que sea barato y eficaz.
 
Referencias:

- http://www.slideshare.net/IronAngel/manejo-de-memoria?utm_source=slideshow&utm_medium=email&utm_campaign=download_notification
 
- http://aprendecomputofacil.blogspot.mx/2010/06/estructura-datos-memoria-dinamica.html
 
- http://www.cs.virginia.edu/~son/cs414.f05/lec11.slides.pdf
 
- Cómo programar en Java - Escrito por Harvey M. Deitel,Paul J. Deitel
- Estructuras de datos: Referencia práctica con orientación a objetos - Escrito por Román Martínez,Elda Quiroga




Actividad No.1 de la Unidad I

Mapa Conceptual:


 
Cuestionario:

1.- ¿Operaciones que se pueden realizar en una Estructura de datos?
R: Se puede dar de Alta o borrar un valor, bajar, buscar para poder encontrar un valor en la escritura para realizar alguna operación, también se pueden realizar ordenamientos de los elementos.
2.- ¿Qué importancia tienen las características de los algoritmos en la creación de los mismos (algoritmos)?
R: Sin tales características el programador no podría utilizar el lenguaje de programación adecuado, y claro está que de la misma manera no sería sencillo y claro además de ser impreciso y que en conjunto no se obtendría el programa o acción adecuados.
3.- ¿Qué se entiende por complejidad algorítmica?
R: Mediante la complejidad algorítmica se trata de resolver problemas , aunque sus criterios no proporciona medidas absolutas sino medidas relativas al tamaño del problema.


Conclusión:
Gracias a la estructura de datos podemos organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación, ya que esta define la organización e interrelación de los datos y un conjunto de operaciones que se pueden realizan sobre ellos.
Las estructuras de datos tienen varias clasificaciones y esto hace mucho más fácil la comprensión del funcionamiento de las ED. Por ejemplo las estructuras primitivas que son las que no están compuestas por enteros, booleanos y caracteres más sin embargo una estructura se puede construir de una o más primitivas.
Los algoritmos, en las estructuras de datos, juegan un papel muy importante, ya que gracias a ellos podemos idear una solución al problema que nuestro cliente presente. Tanto las estructuras de datos y los algoritmos constituyen un paso previo indispensable para introducirse en el ámbito de la programación.

Bibliografias:


·         Algoritmos computacionales, baase Van gelder, addson Wesley.

·         Algoritmos y estructura de datos, luis joyanes aguilar, mc graw hill.

·         Estructuras de datos y algoritmos, Eguíluz Morán, Andoni, Editorial: Mc Graw-Hill.