Académique Documents
Professionnel Documents
Culture Documents
TECNOLOGIAS DE LA INFORMACION
NOMBRE DE LA ASIGNATURA
Plan de Estudios de 2009
Clave: TIC-ED-1-2009
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
I
Manual de Prcticas de Estructura de datos
NOMBRE DE LA ASIGNATURA
Revisin:
N/A
Autor(es):
TABLA DE CONTENIDO
1. Introduccin ................................................................................................................... 1
INTRODUCCIN
Este documento tiene como objetivo primordial ayudar al docente y/o alumno de la asignatura
Estructura de datos en la realizacin de las prcticas estipuladas en el Plan de Estudios de
Ingeniera en Tecnologas de la Informacin basado en el modelo de Competencias Profesionales
del ao 2009.
Por tanto es considerado el documento oficial para la realizacin de las prcticas, el manejo del
entorno de trabajo y la utilizacin de los equipos del taller y/o laboratorio de acuerdo con las
normas de seguridad e higiene estipuladas en el mismo.
COMPETENCIA DE LA ASIGNATURA
OBJETIVO GENERAL
El alumno desarrollar aplicaciones que organicen informacin con base a estructuras de datos
abstractas empleando el paradigma orientado a objetos para agilizar el acceso a los datos
almacenados.
Para lograr el objetivo de cada una de las prcticas descritas en el presente manual, cada uno de
los pasos indicados en ellas debe realizarse en el orden en que se describen, con la finalidad de
alcanzar la competencia enunciada para la asignatura. As mismo dichas prcticas debern ser
anexadas en el portafolio de evidencias, el cul ser entregado al docente para su revisin al
trmino de cada unidad.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
2
Manual de Prcticas de Nombre de la asignatura
El reporte de prcticas deber contener como mximo 5 cuartillas, con la siguiente estructura:
La entrega del Reporte de Prcticas ser establecida por el docente con base al programa de
avances temticos F-DC-06, salvo algn imprevisto en donde pudiera modificarse la fecha
establecida.
Durante la estancia en el taller o laboratorio, se debe cumplir con las siguientes normas
encaminadas a mantener la integridad de los equipos y materiales:
Verifique que las acciones realizadas por Usted sean las indicadas expresamente en el
enunciado que est ejecutando, en caso de no estar seguro verifique con su docente si las
acciones son correctas.
En caso de no conocer el modo de operacin de algn equipo en particular, solicite
asistencia al docente o al responsable del taller o laboratorio.
Cumplir expresamente establecido con las polticas internas del uso de los laboratorios de
cmputo
DOCUMENTOS DE REFERENCIA
METODOLOGA
Suponiendo que n =3 Primero revisar si n es igual a Como fue falso se autollama de nuevo
1 y esto resulta falso al mtodo suma y le manda (3-1)
Ahora n=2 Primero revisar si n es igual a Como fue falso se autollama de nuevo
1 y esto resulta falso al mtodo suma y le manda (2-1)
Ahora n=1 Primero revisar si n es igual a termina y manda un 6
1 como es verdadero
Realiza los pasos anteriores para calcular el factorial de un nmero utilizando el mtodo
recursivo.
Function factorial(ByVal n As Integer) As Double
If n <= 1 Then
Return 1
Else
Return factorial(n - 1) * n
End If
End Function
ACTIVIDAD INTEGRADORA:
Elabore un documento que reporte los programas realizados describiendo: uso de tipos de datos
abstractos, y clases que incluyan mtodos recursivos.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
6
Manual de Prcticas de Nombre de la asignatura
METODOLOGA
ACTIVIDAD INTEGRADORA:
Realice las siguientes prcticas para dar respuesta a los siguientes cuestionamientos y considerarlo
en el reporte de prcticas:
METODOLOGA
Bsqueda secuencial
Este algoritmo encuentra la ubicacin del elemento " sValue" en la matriz "arr()". Si se encuentra
el valor de bsqueda, regresa el valor true de lo contario regresa false.
Bsqueda binaria
Continuando con los mtodos de bsqueda, seguimos con la bsqueda binaria. Este mtodo es el
que habitualmente utilizamos los humanos para encontrar un determinado elemento en una lista
previamente ordenada.
El algoritmo es el siguiente:
1. Se compara el valor buscado con el del elemento central del vector si coinciden, se ha
encontrado el numero y se finaliza la bsqueda de lo contrario, se determina si el valor
buscado debe estar en la mitad izquierda o derecha del vector, dependiendo de si es inferior o
superior, respectivamente, del elemento central. La posicin del elemento central del vector
es calculado con la siguiente frmula:
Donde pInicial y pFinal son las posiciones iniciales y final del subVector que se est considerando.
4. Cuando pInicial sea mayor o igual a pFinal y su contenido sea diferente del valor buscado,
entonces se considera que el valor buscado no existe en el vector.
ACTIVIDAD INTEGRADORA:
Elaborar con base a problemas dados un documento que reporte los programas realizados que
incluyan: ejercicios que incorporen mtodos bsqueda utilizando arreglos unidimensionales y
bidimensionales.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
11
Manual de Prcticas de Nombre de la asignatura
METODOLOGA
Este algoritmo compara elementos consecutivos del arreglo uno con respecto del otro, si es mayor
o menor segn el tipo de ordenamiento y los cambia de posicin. Este proceso se repite
recorriendo todo el arreglo para posicionar un solo dato, por lo que es necesario repetirlo para los
dems datos del arreglo. Su implementacin es la siguiente:
1. Necesitamos recorrer cada uno de los elementos del vector (si tenemos n elementos, nuestro
ciclo girar n veces) y por cada vuelta necesitamos hacer lo siguiente:
a. Buscamos el menor nmero, comenzando en la posicin actual del ciclo exterior + 1
hasta terminar el vector.
b. Una vez que encontramos el nmero menor, lo intercambiamos con el nmero que
este dentro del vector en la posicin de la vuelta externa (es decir, que si por ejemplo
es la vuelta #3, entonces intercambiaremos vector[3] por la variable "mnimo" )
c. Si no se encontr un nmero menor, entonces no sucede nada
2. Hacemos esto hasta que el ciclo externo recorra todas las posiciones del vector
min = outer
For inner = outer + 1 To numElements - 1
If (arr(inner) < arr(min)) Then
min = inner
End If
Next
temp = arr(outer)
arr(outer) = arr(min)
arr(min) = temp
Next
End Sub
Este es uno de los mtodos ms sencillos. Consta de tomar uno por uno los elementos de un
arreglo y recorrerlo hacia su posicin con respecto a los anteriormente ordenados. As empieza
con el segundo elemento y lo ordena con respecto al primero. Luego sigue con el tercero y lo
coloca en su posicin ordenada con respecto a los dos anteriores, as sucesivamente hasta
recorrer todas las posiciones del arreglo. Este es el algoritmo:
ACTIVIDAD INTEGRADORA:
Elaborar con base a problemas dados un documento que reporte los programas realizados que
incluyan: ejercicios que incorporen mtodos ordenamiento utilizando arreglos unidimensionales y
bidimensionales.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
14
Manual de Prcticas de Nombre de la asignatura
Objetivo: El alumno elaborar programas usando listas para manipular datos de forma organizada.
Tema: Duracin (Hrs):
Construccin y operaciones de 2 1
listas
Objetivo(s):
Elaborar listas y sus operaciones desde un enfoque orientado a objetos
Instrucciones:
METODOLOGA
ACTIVIDAD INTEGRADORA:
Elaborar con base a problemas dados un documento que reporte los programas realizados que
incluyan: ejercicios prcticos que incorporen listas y sus operaciones.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
16
Manual de Prcticas de Nombre de la asignatura
Esta clase nos permite gestionar colas de valores, pero los objetos de este tipo, crean listas de
valores al estilo de pilas LIFO (last in, first out), ltimo en entrar/primero en salir.
Tiene la caracterstica de que en una pila, los valores que extraemos son los ltimos que han
entrado.
Elabore un proyecto de tipo consola y ejectelo, verificando cada una de las operaciones sobre
pilas.
ACTIVIDAD INTEGRADORA:
Elaborar con base a problemas dados un documento que reporte los programas realizados que
incluyan: ejercicios prcticos que incorporen pilas y sus operaciones.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
18
Manual de Prcticas de Nombre de la asignatura
Asigne nombres apropiados a cada control y ajuste las propiedades pertinentes haciendo uso de
las buenas prcticas.
En el botn de comando btnConvertir edite el siguiente cdigo
Private Sub btnConvertir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnConvertir.Click
Dim numero As Long = Long.Parse(txtNmero.Text)
Dim base As Byte = Byte.Parse(txtBase.Text)
Dim r As Long
Dim digito As Byte
Dim p As New Stack
While Not numero = 0
r = numero \ base
digito = numero Mod base
p.Push(digito)
numero = r
End While
txtNumConver.Text = String.Empty
For Each elemento As Byte In p
txtNumConver.Text += elemento.ToString()
Next
END SUB
Ejecute el programa y analice en todo momento el contenido de la pila.
Realice una prueba de escritorio de cmo se introducen el contenido de la variable digito a la
pila.
ACTIVIDAD INTEGRADORA:
Elaborar con base a problemas dados un documento que reporte los programas realizados que
incluyan: ejercicios prcticos que incorporen pilas y sus operaciones.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
20
Manual de Prcticas de Nombre de la asignatura
Prctica 3 Aplicacin de las pilas para resolver el problema de las Torres de Hanoi.
METODOLOGA
Asigne nombres apropiados a cada control y ajuste las propiedades pertinentes haciendo uso de
las buenas prcticas.
Crear tres pilas que simulen el contenido de cada Torre
Agregarle elementos de manera aleatoria cuidando que el primer elemento de la pila sea menor
para as poder simular de manera adecuada y cumplir con el criterio del juego, la
implementacin de esto se codificara en el botn .
Escribir cdigo para mover elementos entre las pilas
Private Sub btnMover_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnMover.Click
Select Case nudDe.Value 'De
Case 1 'Si seleccionamos 1
Select Case nudA.Value 'A
Case 2 'Moveriamos a la Pila 2
Dim quitado As Object = t1.Pop()
t2.Push(quitado)
Case 3 'o a la Pila 3
Dim quitado As Object = t1.Pop()
t3.Push(quitado)
End Select
Case 2 'Si seleccionamos 2
Select Case nudA.Value
Case 1 'Moveriamos a la Pila 1
Dim quitado As Object = t2.Pop()
t1.Push(quitado)
Case 3 'o a la Pila 3
Dim quitado As Object = t2.Pop()
t3.Push(quitado)
End Select
End Select
MisTorres.MostrarElementos(lstT1, t1) 'Muestra el contenido de la Pila 1
MisTorres.MostrarElementos(lstT2, t2) 'Muestra el contenido de la Pila 2
MisTorres.MostrarElementos(lstT3, t3) ' Muestra el contenido de la Pila 3
END SUB
Ejecute el programa y analice en todo momento el contenido de la pila.
ACTIVIDAD INTEGRADORA:
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
22
Manual de Prcticas de Nombre de la asignatura
Elaborar con base a problemas dados un documento que reporte los programas realizados que
incluyan: ejercicios prcticos que incorporen pilas y sus operaciones.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
23
Manual de Prcticas de Nombre de la asignatura
Elaborar con base a problemas dados un documento que reporte los programas realizados que
incluyan: ejercicios prcticos que incorporen pilas y sus operaciones.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
25
Manual de Prcticas de Nombre de la asignatura
startDancing(males, females)
If (males.Count > 0 Or females.Count > 0) Then
headOfLine(males, females)
End If
newDancers(males, females)
If (males.Count > 0 Or females.Count > 0) Then
headOfLine(males, females)
End If
newDancers(males, females)
Console.Write("press enter")
Console.Read()
End Sub
Public Sub newDancers(ByRef male As Queue, ByRef _
female As Queue)
Dim m, w As Dancer
If (male.Count > 0) And (female.Count > 0) Then
m = male.Dequeue
w = female.Dequeue
Console.WriteLine("The new dancers are: " & _
m.Name & " and " & w.Name)
ElseIf (male.Count > 0) And (female.Count = 0) Then
Console.WriteLine("Waiting on a female dancer.")
ElseIf (female.Count > 0) And (male.Count = 0) Then
Console.WriteLine("Waiting on a male dancer.")
End If
End Sub
Public Sub headOfLine(ByRef male As Queue, ByRef female As Queue)
Dim m, w As New Dancer
If (male.Count > 0) Then
m = male.Peek()
End If
If (female.Count > 0) Then
w = female.Peek()
End If
If (m.Name <> "" And w.Name <> "") Then
Console.WriteLine("Next in line are: " & m.Name _
& Constants.vbTab & w.Name)
Else
If (m.Name <> "") Then
Console.WriteLine("Next in line is: " & m.Name)
Else
Console.WriteLine("Next in line is: " & w.Name)
End If
End If
End Sub
Public Sub startDancing(ByRef male As Queue, ByRef _
female As Queue)
Dim count As Integer
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
27
Manual de Prcticas de Nombre de la asignatura
Dim m, w As Dancer
Console.WriteLine("Dance partners are: ")
Console.WriteLine()
For count = 0 To 3
m = male.Dequeue
w = female.Dequeue
Console.WriteLine(w.Name & Constants.vbTab _
& m.Name)
Next
End Sub
Public Sub formLines(ByRef male As Queue, ByRef female As Queue)
Dim d As Dancer
Dim theFile As File
Dim inFile As StreamReader
inFile = theFile.OpenText("c: \ dancers.dat")
Dim line As String
While (inFile.Peek <> -1)
line = inFile.ReadLine()
d.Sex = line.Chars(0)
d.Name = line.Substring(2, line.Length - 2)
If (d.Sex = "M") Then
male.Enqueue(d)
Else
female.Enqueue(d)
End If
End While
End Sub
END MODULE
Elaborar con base a problemas dados un documento que reporte los programas realizados que
incluyan: ejercicios prcticos que incorporen colas y sus operaciones. Se recomienda simular una
cola de un Banco, un Supermercado, Gasolinera, etc.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
28
Manual de Prcticas de Nombre de la asignatura
root = Nothing
End Sub
Public Sub Insert(ByVal i As Integer)
Dim newNode As New Nodo()
newNode.iData = i
If (root Is Nothing) Then
root = newNode
Else
Dim current As Nodo = root
Dim parent As Nodo
While (True)
parent = current
If (i < current.iData) Then
current = current.Left
If (current Is Nothing) Then
parent.Left = newNode
Exit While
End If
Else
current = current.Right
If (current Is Nothing) Then
parent.Right = newNode
Exit While
End If
End If
End While
End If
End Sub
END CLASS
Escribir en el Modulo lo siguiente
Module Module1
Sub Main()
Dim nums As New BinarySearchTree()
nums.Insert(23)
nums.Insert(45)
nums.Insert(16)
nums.Insert(37)
nums.Insert(3)
nums.Insert(99)
nums.Insert(22)
Console.WriteLine("Inorder traversal: ")
nums.inOrder(nums.root)
End Sub
END MODULE
Incluya el mtodo en la clase BINARYSEARCHTREE
Public Sub inOrder(ByVal theRoot As Nodo)
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
30
Manual de Prcticas de Nombre de la asignatura
ACTIVIDAD INTEGRADORA:
Elaborar con base a problemas un documento que reporte los programas realizados que
incluyan: ejercicios prcticos que incorporen rboles y sus operaciones.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
31
Manual de Prcticas de Nombre de la asignatura