Anda di halaman 1dari 7

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

Anda mungkin juga menyukai