3 estructuradatos guia

21
UNIVERSIDAD PRIVADA DEL VALLE FACULTAD DE INFORMATICA Y ELECTRONICA DPTO: SISTEMAS Y TECNOLOGIA INFORMATICA GUIA PRACTICA DE LABORATORIO CARRERA: ING DE SISTEMAS INFORMATICOS ESTRUCTURA DE DATOS

Upload: saul-armando-argote-valdez

Post on 18-Feb-2015

24 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 3 EstructuraDatos Guia

UNIVERSIDAD PRIVADA

DEL VALLE

FACULTAD DE INFORMATICA Y

ELECTRONICA

DPTO: SISTEMAS Y TECNOLOGIA

INFORMATICA

GUIA PRACTICA DE LABORATORIO

CARRERA: ING DE SISTEMAS INFORMATICOS

ESTRUCTURA DE DATOS

Page 2: 3 EstructuraDatos Guia

UNIVERSIDAD DEL VALLE

SISTEMAS Y TECNOLOGIA INFORMATICA

GUIA ESTRUCTURA DE DATOS

Práctica Nº 1

INTRODUCCION A LAS ESTRUCTURAS DE DATOS

Enunciado:

1. Cree una Estructura llamada Curso que contenga información como Código (o número de aula), Piso (mayor a

0), Capacidad y Estado (libre o asignado) para realizar las siguientes operaciones.

a) Listado de aulas por piso.

b) Dada una capacidad X, buscar aulas con capacidad iguales o mayores que X.

c) Dado un piso P, una capacidad C y estado libre E, encontrar aulas que cumplan las tres condiciones.

2. Cree una Estructura llamada Complex (complejo) para realizar aritmética denúmeros complejos. Escriba una

aplicación para probar su estructura.

Los números complejos tienen la forma siguiente:

realPart + imagPart * i

Utilice variables de punto flotante para representar los datos de la estructura. Escriba métodos los cuales

permitan realizar las siguientes operaciones:

a) Suma de dos números Complejos: las partes reales y las imaginarias se suman aparte.

b) Resta de dos números Complejos: la parte real del operando derecho se resta a la parte real del operando

izquierdo y la parte imaginaria del operando derecho se resta a la parte imaginaria del operando izquierdo.

c) Impresión de números Complejos en la forma (a, b), donde a es la parte real y b es la parte imaginaria

3. Un conjunto de números enteros es una colección de 0, 1, 2, o más elementos; realizar un programa para

implementar operaciones de la teoría de conjuntos, tales como la a) Unión, b) Intersección y c) Diferencia.

4. Escriba un programa que permita llenar n enteros en un arreglo unidimensional. El llenado será interactivo

preguntando la posición en el arreglo donde se guardará. No se permite espacios vacios entre elementos.

También debe poder eliminar un entero en particular y mostrar en cualquier momento el contenido del arreglo.

1. CONOCIMIENTO TEÓRICO REQUERIDO

Para la realización de esta práctica el alumno debe conocer los conceptos generales de Estructuras de Datos en cuanto a su

aplicación y su clasificación.

2. OBJETIVOS

· Conocer y realizar aplicaciones con estructuras de datos básicos conocidos en anteriores cursos.

· Realizar operaciones funcionales con las estructuras de datos (Estáticas) que permitan resolver de alguna forma los

problemas planteados.

3. MATERIALES Y EQUIPOS

Para la realización de la práctica el estudiante debe contar con la parte teórica del capítulo Introducción a las Estructuras

de Datos. De la misma manera utilizara equipos del laboratorio de computación para la programación de los ejercicios

planteados.

Page 3: 3 EstructuraDatos Guia

4. TÉCNICA O PROCEDIMIENTO

El estudiante deberá plantear aplicación con la ayuda de apuntes de clase.

El estudiante tiene conocimiento previo de los conceptos fundamentales de Estructuras de Datos Estáticas, lo cual

ayudará a la evaluación y aplicación en los ejercicios planteados.

5. TIEMPO DE DURACIÓN DE LA PRÁCTICA

Se estima 2 periodos clases para solucionar los problemas planteados y/o responder preguntas que puedan surgir durante la

implementación de los programas.

6. RESULTADOS ESPERADOS

A la conclusión de la práctica el alumno tendrá la habilidad de poder realizar aplicaciones con Estructuras de Datos

Estáticas y conocer las funciones principales.

7. CUESTIONARIO

¿En qué cree Ud. facilita la utilización de las Estructuras de Datos Estáticas, en la planificación de soluciones a

problemas?

Page 4: 3 EstructuraDatos Guia

UNIVERSIDAD DEL VALLE

SISTEMAS Y TECNOLOGIA INFORMATICA

ESTRUCTURA DE DATOS

Práctica Nº 2

PROGRAMACION ORIENTADA A OBJETOS

Enunciado:

1. Diseñar una clase Racional que tenga como datos miembro numerador y denominador, escribir métodos de

acceso público para crear objetos de esta clase. Añadir métodos que permitan realizar aritmética con números

racionales, tales como: sumar (+), restar (-), multiplicar, y dividir (÷) dos números racionales.

2. Cree una clase Círculo que contenga como centro un Punto(x, y) y un radio, implemente operaciones de

creación de un Círculo, además de operaciones como ingresar mostrar y mover el círculo en una posición ya

sea en X o en Y, y finalmente escriba un método para saber si un punto es parte del circulo o circundante.

3. Un almacén recibe semanalmente dos tipos de productos: computadoras y televisores. Se desea registrar la

información general de los productos como Identificador (de tipo alfanumérico), Propietario y Fecha de

ingreso. Crear una clase Producto que implemente estos datos. A partir de esta clase, diseñar dos clases

derivadas: Computadora, con capacidad de procesamiento (tipo cadena), tamaño de ram (tipo int) y tamaño de

disco (tipo cadena); y Televisor, con marca (tipo cadena) y tamaño (tipo float). Cada una de las tres clases

tendrá una función leer y otra función mostrar(), para visualizar sus datos. Escribir un programa que cree

instancias de las clases Computadora y Televisor, solicite datos del usuario y a continuación los visualice por

la pantalla.

1. CONOCIMIENTO TEÓRICO REQUERIDO

Para la realización de esta práctica el alumno debe conocer los conceptos generales de la Programación Orientada a

Objetos en cuanto a su implementación y aplicación.

2. OBJETIVOS

· Conocer y realizar aplicaciones con Jerarquía de Clases haciendo uso de los conceptos generales aprendidos en

las clases teóricas.

· Realizar operaciones de reutilización de la información para plantear soluciones óptimas (primer

principio de polimorfismo).

3. MATERIALES Y EQUIPOS

Para la realización de la práctica el estudiante debe contar con la parte teórica del capítulo Fundamentos de la

Programación Orientada a Objetos. De la misma manera utilizará equipos del laboratorio de computación para la

programación de los ejercicios planteados.

4. TÉCNICA O PROCEDIMIENTO

El estudiante deberá plantear las soluciones con la ayuda de apuntes de clase.

El estudiante tiene conocimiento previo de los conceptos fundamentales de la POO con Jerarquía de Clases, lo cual

ayudará a la evaluación e implementación de los ejercicios planteados.

5. TIEMPO DE DURACIÓN DE LA PRÁCTICA

Se estima 2 periodos clases para solucionar los problemas planteados y/o responder preguntas que puedan surgir durante la

implementación de los programas.

Page 5: 3 EstructuraDatos Guia

6. RESULTADOS ESPERADOS

A la conclusión de la práctica el alumno tendrá la habilidad de poder realizar aplicaciones Orientadas a Objetos con

Jerarquía de Clases que le permitan plantear soluciones más elegantes y reales a problemas computacionales.

7. CUESTIONARIO

¿En que cree Ud. facilita la reutilización de código y cuál es la desventaja de usarla en una jerarquía de clases?, ¿Cuándo

cree que debe usarse y cuando no?

Page 6: 3 EstructuraDatos Guia

UNIVERSIDAD DEL VALLE

SISTEMAS Y TECNOLOGIA INFORMATICA

ESTRUCTURA DE DATOS

Práctica Nº 3

LISTAS LINEALES

Enunciado:

1. Realizar un programa que maneje una lista ligada simple con los datos demedicamentos para la venta:

nombre y stock. La lista debe mantener un ordenalfabético por nombre, por lo que cada vez que se introduce

un nuevomedicamento, éste es colocado en el lugar correspondiente. Cada medicamentopuede aumentar o

disminuir su stock. El programa no debe eliminar de la lista aaquellos productos con stock 0, pero si se desea

hacer una venta (disminuirstock) deberá mostrar un mensaje indicando que dicha transacción no

estápermitida. Finalmente debe mostrar un listado de:

a. Todos los medicamentos.

b. Medicamentos son stock menor a X.

c. Medicamentos con stock mayor a Y.

2. Realizar un programa que maneje polinomios de grado N representados en listasenlazadas simples, el programa

debe realizar las siguientes tareas:

a. Dadas dos listas que representen dos polinomios, obtener la multiplicación de

los polinomios en una tercera lista.

Suponer que existe una función para crear un polinomio, representado en una lista (la lista tiene ordenados

los exponentes de mayor a menor, no tiene términos con exponentes iguales y los términos tienen coeficientes

diferentes de cero).

3. Escribir un programa para intercalar dos Listas Circulares Dobles con suselementos ordenados (no se deben

crear nodos), el método debe devolver unaListaDobleCircular. Especificar la clase de ListaDobleCircular.

1. CONOCIMIENTO TEÓRICO REQUERIDO

Para la realización de esta práctica el alumno debe conocer los conceptos generalesde Listas Lineales en cuanto a su

implementación y aplicación.

2. OBJETIVOS

. Realizar la identificación de las operaciones necesarias para la Implementación de la

estructura lista y su aplicación a problemas.

· Conocer y realizar aplicaciones con Listas Ligadas haciendo uso de los conceptos generales aprendidos en las

clases teóricas.

3. MATERIALES Y EQUIPOS

Para la realización de la práctica el estudiante debe contar con la parte teórica del capítulo Listas Lineales. De la misma

manera utilizará equipos del laboratorio de computación para la programación de los ejercicios planteados.

4. TÉCNICA O PROCEDIMIENTO

El estudiante deberá plantear las soluciones con la ayuda de apuntes de clase.

El estudiante tiene conocimiento previo de los conceptos fundamentales de la estructura lista, lo cual ayudará a la

evaluación e implementación de los ejercicios planteados.

Page 7: 3 EstructuraDatos Guia

5. TIEMPO DE DURACIÓN DE LA PRÁCTICA

Se estima 1 periodo de la clase para solucionar los problemas planteados y/o responder preguntas que puedan surgir

durante la implementación de los programas.

6. RESULTADOS ESPERADOS

A la conclusión de la práctica el alumno tendrá la habilidad de poder realizar aplicaciones utilizando Listas Lineales a

problemas computacionales.

7. CUESTIONARIO

¿Cómo puede Ud. optimizar la implementación de la ED Lista implementado en las Clases teóricas?, ¿Muestre su propia

abstracción de datos?

Page 8: 3 EstructuraDatos Guia

UNIVERSIDAD DEL VALLE

SISTEMAS Y TECNOLOGIA INFORMATICA

ESTRUCTURA DE DATOS

Práctica Nº 4

PILAS Y COLAS

Enunciado:

1. Escribir un programa que convierta una expresión aritmética que está en notación infija a otra en notación

prefija. Utilice en la solución una pila para almacenar operadores.

2. Escribir un programa que lea una cadena de caracteres, metiendo cada carácter en una pila a medida que se

lee y añadiéndolo simultáneamente a una cola. Cuando se encuentra el final de la cadena, utilice las

operaciones básicas de pilas y colas para determinar si la cadena introducida es un palíndromo.

3. Realizar un programa que realice las siguientes tareas:

a. Dada un PILA pasar sus elementos a una COLA. Luego de llevar unelemento, éste debe ser

eliminado de la PILA.

b. Dada un COLA pasar sus elementos a una PILA. Luego de llevar unelemento, éste debe ser

eliminado de la COLA.

Se debe corresponder el orden de los elementos, es decir: el primer elemento de la PILA también debe ser el

primer elemento de la COLA, y viceversa.

1. CONOCIMIENTO TEÓRICO REQUERIDO

Para la realización de esta práctica el alumno debe conocer los conceptos generales de Listas Lineales (Pilas y Colas) en

cuanto a su implementación y aplicación.

2. OBJETIVOS

· Conocer y realizar aplicaciones con las Estructuras de Datos Pilas y Colas haciendo uso de los conceptos

generales aprendidos en las clases teóricas.

· Realizar la identificación de las operaciones necesarias para la implementación de las

estructuras y su aplicación a problemas.

3. MATERIALES Y EQUIPOS

Para la realización de la práctica el estudiante debe contar con la parte teórica del capítulo Listas Lineales (Pilas y Colas).

De la misma manera utilizará equipos del laboratorio de computación para la programación de los ejercicios planteados.

4. TÉCNICA O PROCEDIMIENTO

El estudiante deberá plantear las soluciones con la ayuda de apuntes de clase.

El estudiante tiene conocimiento previo de los conceptos fundamentales de las estructuras Pila y Cola, lo cual ayudará a la

evaluación e implementación de los ejercicios planteados.

5. TIEMPO DE DURACIÓN DE LA PRÁCTICA

Se estima 1 periodo de la clase para solucionar los problemas planteados y/o responder preguntas que puedan surgir

durante la implementación de los programas.

Page 9: 3 EstructuraDatos Guia

6. RESULTADOS ESPERADOS

A la conclusión de la práctica el alumno tendrá la habilidad de poder realizar aplicaciones utilizando las estructuras Pila y

Cola a problemas computacionales.

7. CUESTIONARIO

¿Cómo puede Ud. optimizar la implementación de la ED Pila y Cola implementado en las Clases teóricas?, ¿Muestre su

propia abstracción de datos?

Page 10: 3 EstructuraDatos Guia

UNIVERSIDAD DEL VALLE

SISTEMAS Y TECNOLOGIA INFORMATICA

ESTRUCTURA DE DATOS

Práctica Nº 5

ALGORITMOS RECURSIVOS

Enunciado:

1. Programar un algoritmo recursivo que permita invertir un número. Por ejemplo: Entrada: 123 Salida: 321

2. Escriba una función recursiva que calcule el capital al cabo de n años dado un monto inicial M y un interés

anual de i% sobre el capital del año anterior.

3. Escribir una función recursiva que liste todos los pares de enteros positivos que son la suma de un número

dado. Por ejemplo:

8 = 7 + 1, 6 + 2, 5 + 3, 4 + 4

(No se puede repetir la pareja 7 + 1 y 1 + 7)

4. Escribir una función utilizando un ciclo de repetición y su correspondientefunción recursiva que calcule la

suma de la serie:1 + 2 + 3 + + (n-1) + n

1. CONOCIMIENTO TEÓRICO REQUERIDO

Para la realización de esta práctica el alumno debe conocer los conceptos generales de Algoritmos Recursivos en cuanto a

su implementación y aplicación.

2. OBJETIVOS

· Conocer y realizar aplicaciones con Recursividad haciendo uso de los conceptos generales aprendidos en las

clases teóricas.

· Realizar la identificación de los elementos necesarios para la implementación de

algoritmos recursivos identificando los casos base.

3. MATERIALES Y EQUIPOS

Para la realización de la práctica el estudiante debe contar con la parte teórica del capítulo Algoritmos Recursivos. De la

misma manera utilizará equipos del laboratorio de computación para la programación de los ejercicios planteados.

4. TÉCNICA O PROCEDIMIENTO

El estudiante deberá plantear aplicación con la ayuda de apuntes de clase.

El estudiante tiene conocimiento previo de los conceptos fundamentales de los algoritmos recursivos, lo cual ayudará a

la evaluación y programación de los ejercicios planteados.

5. TIEMPO DE DURACIÓN DE LA PRÁCTICA

Se estima 1 periodo de la clase para solucionar los problemas planteados y/o responder preguntas que puedan surgir

durante la implementación de los programas.

Page 11: 3 EstructuraDatos Guia

6. RESULTADOS ESPERADOS

A la conclusión de la práctica el alumno tendrá la habilidad de poder realizar aplicaciones utilizando y planteando

algoritmos recursivos que le permitan plantear soluciones más abstractas y elegantes a problemas computacionales.

7. CUESTIONARIO

¿Cuándo cree Ud. facilita la recursividad a la planificación de soluciones a un problema planteado?, ¿En qué casos debe

usarse y cuándo no?

Page 12: 3 EstructuraDatos Guia

UNIVERSIDAD DEL VALLE

SISTEMAS Y TECNOLOGIA INFORMATICA

ESTRUCTURA DE DATOS

Práctica Nº 6

ÁRBOLES

Enunciado:

1. Resuelva el siguiente problema empleando árboles binarios de búsqueda. Se desea almacenar la información

correspondiente al glosario de un libro (Área temática, palabra clave, páginas). Las búsquedas pueden

realizarse por palabra clave y el programa debe indicar las páginas donde se encuentra y el área temática al

que corresponde. También debe ser posible buscar por área temática las palabras claves incluidas en ella.

Además, por cada área temática se almacena los títulos de otros libros que tratan sobre el tema de manera que

debe ser posible buscar los títulos publicados para un tema en particular.

2. Construya un árbol de búsqueda binaria para cada una de las siguientes listas:

a. L={16, 3, 7, 42, 0, 25, 12, 6, 11, 0, 15, 8, 23, 2}

b. L={14, 15, 4, 9, 7, 3, 5, 16, 4, 20, 17, 9, 14, 5}

c. L={B, D, H, A, B, G, F, C, D, E, J, M, O, N, I}

3. Represente las siguientes expresiones como árboles binarios:

a. 5 + 10 * 15

b. (5 + 10 * 15)

c. 2 + (3 – 4) * (5 ^ (6 * 4)

d. (A + B * C) ^ ((A + B) * C)

4. Dada la secuencia de claves enteras 95, 24, 66, 77, 43, 34, 96, 17, 41, 12, 0, 15, 20, 5 representar gráficamente

el árbol AVL correspondiente.

1. CONOCIMIENTO TEÓRICO REQUERIDO

Para la realización de esta práctica el alumno debe conocer los conceptos generales de Arboles en cuanto a su

implementación y aplicación.

2. OBJETIVOS

Conocer y realizar aplicaciones con Estructuras de Datos Dinámicas Arboles haciendo uso de los conceptos

generales aprendidos en las clases teóricas.

Realizar la identificación de las operaciones necesarias para la implementación de

la estructura árbol y su aplicación a problemas.

3. MATERIALES Y EQUIPOS

Para la realización de la práctica el estudiante debe contar con la parte teórica del capítulo Árboles. De la misma manera

utilizará equipos del laboratorio de computación para la programación de los ejercicios planteados.

4. TÉCNICA O PROCEDIMIENTO

El estudiante deberá plantear soluciones con la ayuda de apuntes de clase.

El estudiante tiene conocimiento previo de los conceptos fundamentales de las ED No Lineales (Árboles), lo cual ayudará

a la evaluación y aplicación en los ejercicios planteados.

Page 13: 3 EstructuraDatos Guia

5. TIEMPO DE DURACIÓN DE LA PRÁCTICA

Se estima 2 periodos clases para solucionar los problemas planteados y/o responder preguntas que puedan surgir durante la

implementación de los programas.

6. RESULTADOS ESPERADOS

A la conclusión de la práctica el alumno tendrá la habilidad de poder realizar aplicaciones utilizando ED No Lineales

(Árboles) a problemas computacionales.

7. CUESTIONARIO

¿Cómo puede Ud. optimizar la implementación de la ED Árbol implementado en las Clases teóricas?, ¿Muestre su propia

abstracción de datos?

Page 14: 3 EstructuraDatos Guia

UNIVERSIDAD DEL VALLE

SISTEMAS Y TECNOLOGIA INFORMATICA

ESTRUCTURA DE DATOS

Práctica Nº 7

GRAFOS

Enunciados:

1. Escribir un programa para dar de entrada los vértices y las aristas de un grafo dirigido. La representación del

grafo será mediante matriz de adyacencia. El programa pedirá un vértice para realizar el recorrido en

profundidad del grafo a partir de dicho vértice.

2. Un grafo etiquetado está formado por los vértices 4, 7, 14, 19, 21 y 25. Las aristas siempre van de un vértice

de mayor valor numérico a otro de menor valor, y el peso es el módulo del vértice origen y el vértice destino.

Escribir un programa que represente el grafo en listas de adyacencia. Además realizar un recorrido en anchura

desde un vértice dado.

3. Una aplicación de planificación de viajes utiliza grafos dirigidos y etiquetados para representar un conjunto

grande de ciudades y caminos o rutas aéreas entre ellas. En general, los grafos utilizados serán poco densos (es

decir, el número de caminos será mucho menor que (número de ciudades)2 ). Necesitamos que la consulta de

las carreteras que salen de una ciudad y las que llegan a la misma sea rápida

a) Proporcione una estructura de representación que sea eficiente en cuanto a uso de memoria y a tiempo de

ejecución de las dos operaciones de consulta anteriores. Ten en cuenta que necesitamos almacenar mucha

información tanto para las ciudades (nombre, posición, país, ...) como para los caminos (tipo, distancia,

...).

4. Un grafo G consta de los nodos V = {A, B, C, D, E} y la matriz de adyacencia:

M =

0 1 1 1 0

1

1 1 0 1 0

1 1 0 1 1

0

0

1

1

1

1

0

0

1

0

a) Dibujar el grafo G (V,A) correspondiente

b) Representar el grafo G mediante listas de adyacencia

5. Dado el grafo G = (V, A) del ejercicio anterior realice el recorrido del grafo en anchura y profundidad partiendo

del nodo C.

Page 15: 3 EstructuraDatos Guia

1. CONOCIMIENTO TEÓRICO REQUERIDO

Para la realización de esta práctica el alumno debe conocer los conceptos generales de Grafos en cuanto a su

implementación y aplicación.

2. OBJETIVOS

· Conocer y realizar aplicaciones con la ED Grafo haciendo uso de los conceptos generales aprendidos en las

clases teóricas.

· Realizar la identificación de las operaciones necesarias para la implementación de la

ED Grafo y su aplicación a problemas.

3. MATERIALES Y EQUIPOS

Para la realización de la práctica el estudiante debe contar con la parte teórica del capítulo Grafos. De la misma manera

utilizará equipos del laboratorio de computación para la programación de los ejercicios planteados.

4. TÉCNICA O PROCEDIMIENTO

El estudiante deberá plantear soluciones con la ayuda de apuntes de clase.

El estudiante tiene conocimiento previo de los conceptos fundamentales de las ED No Lineales (Grafos), lo cual ayudará

a la evaluación y aplicación en los ejercicios planteados.

5. TIEMPO DE DURACIÓN DE LA PRÁCTICA

Se estima 2 periodos clases para solucionar los problemas planteados y/o responder preguntas que puedan surgir durante la

implementación de los programas.

6. RESULTADOS ESPERADOS

A la conclusión de la práctica el alumno tendrá la habilidad de poder realizar aplicaciones utilizando ED No Lineales

(Grafos) a problemas computacionales.

7. CUESTIONARIO

¿Cómo puede Ud. optimizar la implementación de la ED Grafo implementado en las Clases teóricas?, ¿Muestre su propia

abstracción de datos?

Page 16: 3 EstructuraDatos Guia

UNIVERSIDAD DEL VALLE

SISTEMAS Y TECNOLOGIA INFORMATICA

ESTRUCTURA DE DATOS

Práctica Nº 8

ALGORITMOS DE ORDENAMIENTO

Enunciados:

1. Se trata de resolver el siguiente problema escolar. Dada las notas de los alumnos de un colegio en el primer curso

de bachillerato, en las diferentes asignaturas (5, por comodidad) se trata de calcular la media de cada alumno,

la media de cada asignatura, la media total de la clase y ordenar los alumnos por orden decreciente de notas

medias individuales.

2. Escribir un programa que lea una serie de números enteros, los ordene en orden decreciente y a continuación

visualice la lista ordenada.

3. Se lee dos listas de números enteros, A y B, de 100 y 60 elementos, respectivamente. Se desea resolver

mediante procedimientos las siguientes tareas:

a) Ordenar cada una de las listas A y B

b) Crear una lista C por intercalación o mezcla de las listas A y B

c) Localizar si existe en la lista C el número 255.

d) Visualizar la lista C ordenada descendentemente.

1. CONOCIMIENTO TEÓRICO REQUERIDO

Para la realización de esta práctica el alumno debe conocer los conceptos generales de Algoritmos de Ordenamiento en

cuanto a su implementación y aplicación.

2. OBJETIVOS

· Conocer y realizar aplicaciones con los algoritmos de ordenamiento y su análisis de ejecución haciendo uso de los

conceptos generales aprendidos en las clases teóricas.

· Realizar la aplicación y selección de la mejor ED de almacenamiento de la información para operaciones de

ordenamiento de datos.

3. MATERIALES Y EQUIPOS

Para la realización de la práctica el estudiante debe contar con la parte teórica del capítulo Algoritmos de Ordenamiento.

De la misma manera utilizará equipos del laboratorio de computación para la programación de los ejercicios planteados.

4. TÉCNICA O PROCEDIMIENTO

El estudiante deberá plantear programas con la ayuda de apuntes de clase.

El estudiante tiene conocimiento previo de los conceptos fundamentales sobre Algoritmos de Ordenamiento, lo cual

ayudará a la evaluación y aplicación en los ejercicios planteados.

5. TIEMPO DE DURACIÓN DE LA PRÁCTICA

Se estima 1 periodo de la clase para solucionar los problemas planteados y/o responder preguntas que puedan surgir

durante la implementación de los programas.

Page 17: 3 EstructuraDatos Guia

6. RESULTADOS ESPERADOS

A la conclusión de la práctica el alumno tendrá la habilidad de poder realizar aplicaciones utilizando algoritmos de

ordenamiento adecuados según sea la Estructura de Datos seleccionada en la solución de problemas computacionales.

7. CUESTIONARIO

¿Cómo puede Ud. optimizar la implementación de los algoritmos de ordenamiento en una ED Lineal (Listas Enlazadas)?

Page 18: 3 EstructuraDatos Guia

UNIVERSIDAD DEL VALLE

SISTEMAS Y TECNOLOGIA INFORMATICA

ESTRUCTURA DE DATOS

Práctica Nº 9

ALGORITMOS DE BÚSQUEDA

Enunciados:

1. Dado un vector X de n elementos reales, donde n es impar, diseñar una función que calcule y devuelva la

mediana de ese vector. La mediana es el valor tal que la mitad de los números son mayores que el valor y la

otra mitad son menores. Escribir un programa que compruebe la función.

2. Se desea realizar un programa principal que realice las siguientes tareas con procedimientos o funciones

que devuelven un valor:

a) Leer una lista de números desde el teclado

b) Visualizar dichos números

c) Buscar si existe el número 444 en la lista

3. Se quiere construir una agenda telefónica con la siguiente información: nombre, domicilio y número de

teléfono. Diseñar un programa para mantener la agenda, que como mucho almacenará la información sobre

100 personas, de tal forma que la búsqueda se realice por nombre de la misma y que se mantenga durante su

procesamiento ordenada por frecuencia de entrada a la agenda.

4. Escribir un programa que lea 42 números en un arreglo de 7 x 6 y realizar las siguientes operaciones:

a) Mostrar los elementos del arreglo

b) Encontrar el elemento mayor del arreglo

c) Indicar donde se encuentra el elemento mayor del arreglo

d) Si el elemento mayor esta repetido, indicar cuantas veces y la posición de cada elemento

repetido.

1. CONOCIMIENTO TEÓRICO REQUERIDO

Para la realización de esta práctica el alumno debe conocer los conceptos generales de Algoritmos de Búsqueda en

cuanto a su implementación y aplicación.

2. OBJETIVOS

· Conocer y realizar aplicaciones con los algoritmos de búsqueda y su análisis de ejecución haciendo uso de

los conceptos generales aprendidos en las clases teóricas.

· Realizar la aplicación y selección de la mejor ED de almacenamiento de la información para operaciones de

consulta o búsqueda de datos.

3. MATERIALES Y EQUIPOS

Para la realización de la práctica el estudiante debe contar con la parte teórica del capítulo Algoritmos de

Búsqueda. De la misma manera utilizará equipos del laboratorio de computación para la programación de los

ejercicios planteados.

4. TÉCNICA O PROCEDIMIENTO

El estudiante deberá plantear aplicación con la ayuda de apuntes de clase.

El estudiante tiene conocimiento previo de los conceptos fundamentales sobre Algoritmos de Búsqueda, lo cual

Page 19: 3 EstructuraDatos Guia

ayudará a la evaluación y aplicación en los ejercicios planteados.

5. TIEMPO DE DURACIÓN DE LA PRÁCTICA

Se estima 1 periodo de la clase para solucionar los problemas planteados y/o responder preguntas que puedan

surgir durante la implementación de los programas.

6. RESULTADOS ESPERADOS

A la conclusión de la práctica el alumno tendrá la habilidad de poder realizar aplicaciones utilizando algoritmos

de búsqueda adecuados según la Estructura de Datos implementada en la solución de problemas computacionales.

7. CUESTIONARIO

¿Cómo puede Ud. optimizar la implementación de los algoritmos de búsqueda en una lista estática de números

enteros?

Page 20: 3 EstructuraDatos Guia

UNIVERSIDAD DEL VALLE

SISTEMAS Y TECNOLOGIA INFORMATICA

ESTRUCTURA DE DATOS

Práctica Nº 10

ORGANIZACIÓN DE ARCHIVOS

Enunciados:

1. Escribir un programa que permita crear un archivo de inventario de los libros de una librería, así como calcular

e imprimir el valor total del inventario. Donde los datos de un libro son: título, autor, número de código, precio,

cantidad.

2. El programa anterior se desea ampliar en el sentido de visualizar el archivo completo, o bien consultar un

registro determinado

3. Cada vez que la librería del programa 2 recibe un pedido de libros, se introducen en un archivo PEDIDO y

luego se debe mezclar con el archivo INVENTARIO, a fin de tener actualizado el archivo. (Los dos archivos

tienen el mismo tipo de registros.)

4. El programa de librería se desea ampliar para crear una base de datos, de modo que pueda responder

correctamente a las siguientes preguntas:

a) ¿Cuántos libros del autor x existen en stock?

b) ¿Cuántos libros cuyo precio este comprendido entre 35.50 Bs. y 45.70 Bs.?

c) ¿Cuál es el número de código de “La insoportable levedad de ser”?

d) ¿Cuántos libros del stock hay de precio mayor de 50.00 Bs. y más de 10 ejemplares?

e) ¿Cuál es el libro más vendido?

5. Se dispone de un archivo de registros cada uno de los cuales contiene loscampos: nombre, dirección, edad,

fecha de nacimiento, sexo y estado civil, y sequiere crear un nuevo archivo de registros que contenga solo los

nombres yedad. Asimismo se desea escribir el nombre y dirección de cada persona cuyosnombres comiencen

con las letras A, B o C y hayan nacido el mes de mayo.

1. CONOCIMIENTO TEÓRICO REQUERIDO

Para la realización de esta práctica el alumno debe conocer los conceptos generales de Organización de Archivos en cuanto

a su implementación y aplicación.

2. OBJETIVOS

· Conocer y realizar aplicaciones con los archivos y su análisis de ejecución haciendo uso de los conceptos

generales aprendidos en las clases teóricas.

· Realizar la aplicación y selección de la mejor ED de almacenamiento de la información para operaciones de

manipulación de datos.

3. MATERIALES Y EQUIPOS

Para la realización de la práctica el estudiante debe contar con la parte teórica del capítulo Organización de Archivos. De

la misma manera utilizará equipos del laboratorio de computación para la programación de los ejercicios planteados.

4. TÉCNICA O PROCEDIMIENTO

El estudiante deberá plantear aplicación con la ayuda de apuntes de clase.

Page 21: 3 EstructuraDatos Guia

El estudiante tiene conocimiento previo de los conceptos fundamentales sobre Organización de Archivos, lo cual ayudará

a la evaluación y aplicación en los ejercicios planteados.

5. TIEMPO DE DURACIÓN DE LA PRÁCTICA

Se estima 2 periodos clases para solucionar los problemas planteados y/o responder preguntas que puedan surgir durante la

implementación de los programas

6. RESULTADOS ESPERADOS

A la conclusión de la práctica el alumno tendrá la habilidad de poder realizar aplicaciones utilizando algoritmos de

ordenamiento externo adecuados según sea el mecanismo de organización de los datos en archivos en la solución de

problemas computacionales.

7. CUESTIONARIO

¿En qué cree Ud. dificulta los mecanismos de organización de archivos para las operaciones de recuperación y

actualización de datos)?