Unidad 1 Actividades de Aprendizaje 1902 B1

Estructura de datos Unidad 1. Estructuras de datos Ingeniería en Desarrollo de Software 4º semestre Programa de la asi

Views 37 Downloads 44 File size 468KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Estructura de datos Unidad 1. Estructuras de datos

Ingeniería en Desarrollo de Software 4º semestre

Programa de la asignatura: Estructura de datos

Unidad 1. Estructuras de datos

Actividades de aprendizaje Clave: Ingeniería: TSU: 15142419 / 16142419

Ciudad de México, abril del 2019

Universidad Abierta y a Distancia de México

Ciencias Exactas, Ingeniería y Tecnología | Ingeniería en Desarrollo de Software

1

Estructura de datos Unidad 1. Estructuras de datos

Índice Foro de dudas de la asignatura Estructura de datos .......................................................... 3 Foro de presentación ......................................................................................................... 3 Actividad 1. Relación de algoritmos y estructuras de datos ............................................... 4 Actividad 2. Aplicación de estructuras de datos: pila, cola y lista ....................................... 5 Evidencia de aprendizaje. Estructuras de datos................................................................. 6 Autorreflexiones Unidad 1 .................................................................................................. 7

Ciencias Exactas, Ingeniería y Tecnología | Ingeniería en Desarrollo de Software

2

Estructura de datos Unidad 1. Estructuras de datos

Foro de dudas de la asignatura Estructura de datos Este foro no es ponderable y su finalidad es ser un medio de comunicación abierto entre tus compañeros de grupo y el Docente en línea, en el transcurso de la asignatura; puedes por este medio, realizar la consulta de dudas, compartir recomendaciones, debatir, y en general, compartir todo lo relacionado con los temas de la Unidad 1 de esta asignatura. Este foro permanecerá abierto durante todo el ciclo escolar, de modo que puedas dirigirte a tus compañeros y Docente en línea. A lo largo del ciclo escolar puedes compartir en este foro tus dudas generales sobre algún tema de la asignatura correspondiente a la Unidad 1, recomendaciones, o bien, contestar dudas de tus compañeros en caso de saber la respuesta, o leer la respuesta que tus compañeros compartan en el foro, etcétera. Este foro no es ponderable. Nota: recuerda que debes utilizar los foros de manera respetuosa y responsable.

Foro de presentación Participa en el foro presentándote con tus compañeros y docente en línea. Comienza tu participación proporcionando los siguientes datos: Generales (nombre y lugar de procedencia). Laborales (giro de la empresa en la que laboras y el tiempo que llevas laborando en esa organización). Del tema (una experiencia personal y otra laboral; ambas relacionadas con la asignatura, incluye tus expectativas respecto a la misma). Nota: recuerda que debes utilizar los foros de manera respetuosa y responsable. Foro no ponderable.

Ciencias Exactas, Ingeniería y Tecnología | Ingeniería en Desarrollo de Software

3

Estructura de datos Unidad 1. Estructuras de datos

Actividad 1. Relación de algoritmos y estructuras de datos Esta actividad te permitirá identificar las principales estructuras de datos y establecer las diferencias entre ellas, a partir de su funcionamiento y aplicaciones. Para lograr lo anterior, realiza lo siguiente: Instrucciones: 1. Desarrolla los siguientes planteamientos: • ¿Qué es un algoritmo? • Señala sus cualidades y características principales. • Describe tres ejemplos de algoritmos conocidos. Nota: Un algoritmo va ligado necesariamente al problema que resuelve. Ejemplo: el problema de la búsqueda de un elemento dentro de un arreglo o en alguna otra estructura o el problema de encontrar el máximo común divisor de dos números naturales. • Incluye tres ejemplos de problemas que requieren algoritmos. • ¿Qué es una estructura de datos? proporciona tres ejemplos de estructuras, e indica cuál es la diferencia entre estructuras con realizaciones estáticas y realizaciones dinámicas. • ¿A qué se le denomina la realización de una estructura? • ¿Qué es un tipo abstracto de datos (TAD)? Ejemplificar este concepto indicando el TAD de una lista enlazada (no requiere código). 2. Lee detenidamente el siguiente caso: (Asignación dinámica de memoria) la instrucción string *Nombres[20] declara un arreglo de 20 apuntadores a caracter, los cuales pueden servir como apuntadores a nombres para después procesarlos. Pero qué tal si el número de nombres a usar requiere que sea introducido por el usuario y determinarse en tiempo de ejecución, entonces tenemos que reservar dinámicamente la memoria para el arreglo Nombres. ¿Cómo se resuelve esta situación mediante un programa?

3. Explica en forma argumentada ¿Cuáles son las relaciones entre las estructuras de datos y los algoritmos? 4. Guarda el desarrollo de tu actividad con el nombre DEDA_U1_A1_XXYZ. Sustituye las XX por las dos primeras letras de tu primer nombre, la Y por tu primer apellido y la Z por tu segundo apellido.

Ciencias Exactas, Ingeniería y Tecnología | Ingeniería en Desarrollo de Software

4

Estructura de datos Unidad 1. Estructuras de datos

5. Consulta los Criterios de evaluación de la actividad para verificar que el desarrollo cumple con los criterios señalados. 6. Envía el archivo a tu Docente en línea mediante la herramienta Tareas. IMPORTANTE: Esta Actividad 1 está programada para el envío de un único archivo, es decir, sólo tienes un intento de envío para realizarla, ante ello, es recomendable que la envíes cuando estés seguro de haberla concluido de acuerdo con las indicaciones correspondientes.

Actividad 2. Aplicación de estructuras de datos: pila, cola y lista Especificaciones para el desarrollo de la actividad: Existen realizaciones (codificación de la estructura en algún lenguaje de programación) de las estructuras (listas, pilas y colas) denominadas estáticas y dinámicas, según se gestione la memoria. Cada lenguaje de programación tiene palabras reservadas para la gestión de la memoria (new/delete en C++). También puede codificarse la estructura usando programación estructurada (PE) o programación orientada a objetos (POO), o se puede usar las librerías estándares del lenguaje en cuestión que incluyen formas preestablecidas (clases) para manejar las listas, pilas, y colas, por ejemplo, arraylist en java o los vectores en c++. Instrucciones: 1. Describe el pseudocódigo del TAD-Lista y codifica una lista con enlace simple (y gestión dinámica de memoria). 2. Describe el pseudocódigo del TAD-Pila y codifica (realiza) la estructura de tipo pila. 3. Describe el pseudocódigo del TAD-Cola y codifica una estructura de tipo cola. Nota: Independiente de la realización, el TAD que define cada estructura debe incluirse en el reporte. El señalamiento sobre la reutilización de software es: se puede usar software proveniente de cualquier fuente (inclusive es una buena práctica), dando los créditos y referencias al autor(a/es) con la condición de que cada línea de código esté entendida y se conozca lo que hacen las palabras reservadas del lenguaje junto a la lógica y las sentencias de control, la estructura de las clases, en general el diseño del proyecto

Ciencias Exactas, Ingeniería y Tecnología | Ingeniería en Desarrollo de Software

5

Estructura de datos Unidad 1. Estructuras de datos

completo. Si decides realizar la actividad desde cero también es una muy buena opción, sólo considera el tiempo de entrega y retroalimentación. De preferencia incluye un solo proyecto que integre un menú principal con las tres estructuras y submenús como parte del diseño y planeación particular de tus proyectos. 4. Por último, para entender mejor tus códigos es conveniente incluir documentación y diagramas UML; en Java se encuentra la opción de javadoc para documentar. 5. Guarda tu proyecto con el nombre DEDA_U1_A3_XXYZ. Sustituye las XX por las dos primeras letras de tu primer nombre, la Y por tu primer apellido y la Z por tu segundo apellido. 6. Consulta los Criterios de evaluación de la actividad para que los consideres previo a la entrega de la misma. 7. Envía el archivo a tu Docente en línea para recibir retroalimentación mediante la herramienta Tarea. Espera y atiende la retroalimentación correspondiente.

Evidencia de aprendizaje. Estructuras de datos Instrucciones: 1. Resuelve con código el siguiente problema. (Balanceo de Paréntesis) Una expresión como a(b + c) − (d + 1) tiene los paréntesis balanceados porque es una expresión aritmética donde los paréntesis que abren están en concordancia con los que cierran. Ejemplo de una expresión con paréntesis no balanceados: (a + z ∗ (3 + x) − 5)) + (4y + 4z) (el tercer paréntesis que cierra no tiene paréntesis que abre). Problema: Dada una expresión aritmética, decide si tiene o no los paréntesis balanceados. Sugerencia: Utiliza una estructura PILA para almacenar los paréntesis que abren y cada vez que se encuentre un paréntesis que cierra sacar el tope de la PILA. 2. Elabora un reporte de actividad y envíalo con el código fuente/ejecutable a tu docente en línea mediante una carpeta comprimida (ZIP o RAR).

Ciencias Exactas, Ingeniería y Tecnología | Ingeniería en Desarrollo de Software

6

Estructura de datos Unidad 1. Estructuras de datos

3. Guarda en un archivo comprimido el proyecto en NetBeans y el documento de texto elaborados, con el nombre DEDA_U1_EA_XXYZ. Sustituye las XX por las dos primeras letras de tu primer nombre, la Y por tu primer apellido y la Z por tu segundo apellido. 4. Consulta los Criterios de evaluación de la Evidencia para conocer los aspectos que se tomarán en cuenta para realizar la evaluación. 5. Envía el archivo a tu Docente en línea para recibir retroalimentación. Espera y atiende la retroalimentación correspondiente.

Autorreflexiones Unidad 1 Además de enviar tu trabajo de la evidencia de aprendizaje, ingresa al foro Preguntas de Autorreflexión y consulta las preguntas que tu Docente en línea presente, a partir de ellas elabora tu autorreflexión en un archivo de texto llamado DEDA_U1_ATR_XXYZ. Posteriormente envía tu archivo mediante la herramienta Autorreflexiones.

Ciencias Exactas, Ingeniería y Tecnología | Ingeniería en Desarrollo de Software

7