Vous êtes sur la page 1sur 34

INGENIERA EN

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):

Luis Alfredo Isidro Metelin

Derechos Reservados Universidad Tecnolgica de Campeche 2010.


Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
II
Manual de Prcticas de Estructura de datos

TABLA DE CONTENIDO

1. Introduccin ................................................................................................................... 1

2. Competencia de la asignatura ....................................................................................... 1

3. Objetivo General ........................................................................................................... 1

4. Cmo utilizar el manual de prcticas ............................................................................. 1

5. ndice del Reporte de Prcticas del Alumno .................................................................. 2

6. Precauciones Generales y/o Normas de Seguridad ....................................................... 2

7. Documentos de referencia ............................................................................................ 2

8. Prcticas de la Unidad 1 ................................................................................................ 3

a. Prctica 1 Aplicacin de recursividad ........................................................ 4

9. Prcticas de la Unidad 2 ................................................................................................. 7

a. Prctica 1 Inicializacin, acceso, impresin y eliminacin ......................... 7

b. Prctica 2 Bsqueda secuencial y binaria ................................................... 9

c. Prctica 3 Mtodos de ordenamiento ...................................................... 12

10. Prcticas de la Unidad 3 ............................................................................................ 15

a. Prctica 1 Crear listas aplicando el paradigma de orientacin a objetos 15

11. Prcticas de la Unidad 4 ............................................................................................ 16

a. Prctica 1 Operaciones con pilas ............................................................. 16

b. Prctica 2 Aplicacin de las pilas para resolver el problema de las Torres de


Hanoi .......................................................................................................... 18

c. Prctica 3 Conversin de decimal a cualquier base ................................. 20

d. Prctica 4 Es Palndroma. Una aplicacin de las pilas .............................. 23

12. Prcticas de la Unidad 5 ............................................................................................ 25

a. Prctica 1 Operaciones con colas ............................................................ 25

13. Prcticas de la Unidad 6 ............................................................................................ 28

a. Prctica 1 Creacin de un rbol de bsqueda binario ............................. 28


Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
1
Manual de Prcticas de Nombre de la asignatura

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

Implementar sistemas de informacin de calidad, a travs de tcnicas avanzadas de desarrollo de


software para eficientar los procesos de las organizaciones.
Implementar y administrar sistemas manejadores de bases de datos acorde a los requerimientos
de informacin de la organizacin.

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.

CMO UTILIZAR EL MANUAL DE PRCTICAS

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

NDICE DEL REPORTE DE PRCTICAS DEL ALUMNO

El reporte de prcticas deber contener como mximo 5 cuartillas, con la siguiente estructura:

1. Portada por unidad


a. Logotipo y nombre de la Institucin
b. Carrera
c. Ttulo de la unidad
d. Nombre de la asignatura
e. Nombre del Alumno
f. Nombre del Docente
g. Grado y grupo
2. Desarrollo de la prctica acorde en el formato establecido

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.

PRECAUCIONES GENERALES Y/O NORMAS DE SEGURIDAD

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

Apunte de la materia de Estructura de datos


Manual de Visual Basic 2005.
Michael McMillan, Data Structures and Algorithms Using Visual Basic .NET, Editorial
Cambridge, Pgs. 412
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
3
Manual de Prcticas de Nombre de la asignatura

Unidad: I Nombre: CONCEPTOS BSICOS


El alumno elaborar programas que integren el uso de recursividad y definir
Objetivo:
estructuras de datos para generar alternativas de programacin.
Tema: Duracin (Hrs): No. Mximo de Integrantes:
Recursividad 2 1
Objetivo(s):
Elaborar la codificacin de aplicaciones que utilicen recursividad.
Instrucciones:

Materiales, Equipos y Manuales:


Cantidad Descripcin Especificaciones Tcnicas
1 Lpiz
1 Borrador
1 Libreta de apuntes de Estructura de datos
1 Hojas blancas
1 Equipo de cmputo
1 Lenguaje de programacin Visual Basic
Medidas de Seguridad:
Considerar en todo momento el reglamento interno de Laboratorio, verificar conexiones en caso
de que no encienda la computadora, reportar algn contacto en mal estado.
Conocimientos Requeridos:
Operacin de IDE, Lenguaje de programacin, Plataforma .NET. Conocimiento de programacin
estructurada y modular. Programacin orientada a objetos. Conocimiento del lenguaje de
programacin VB.NET
Criterios de evaluacin: (de cada prctica)
Reporte de Practicas 20% de la calificacin de la unidad, en base a la lista de cotejo. La actividad
integradora no se considera dentro de la prctica. Para todas las prcticas se considera la fecha de
entrega, el funcionamiento, el diseo del formulario (ajustar las propiedades de manera
adecuada).

METODOLOGA

Las clases en el aula se impartirn en el horario de grupo de la asignatura, en ellas el profesor


expondr los contenidos del temario de la asignatura. Estas clases sern terico-prcticas,
conjugndose las explicaciones tericas con la exposicin de ejemplos. En la presentacin de
la materia se emplear proyector.
Las clases en laboratorio perseguirn que los alumnos adquieran destreza en el uso del
lenguaje de programacin y comprobacin de los conceptos mostrados en clase por medio de
la realizacin de ejercicios guiados por el profesor.
Las asesoras sern un elemento bsico de interaccin profesor alumno. Tienen como
objetivos resolver dudas, guiar a los alumnos en la ampliacin de conocimientos y facilitarles
bibliografa y orientacin en caso necesario.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
4
Manual de Prcticas de Nombre de la asignatura

Prctica 1 Aplicacin de recursividad


La recursividad es un tema que es muy comn que se utilice en el rea de la programacin, en
donde se utilizan ciclos en lugar de realizar auto llamadas al mismo mtodo, sin embargo dentro
de algoritmos y estructuras de datos se utiliza frecuentemente para la implementacin de las
diferentes estructuras.
Un procedimiento recursivo es aqul que se llama a s mismo. En general, sta no suele ser la
manera ms eficaz de escribir cdigo en Visual Basic.

Para realizar un mtodo recursivo se deben tomar en cuenta lo siguiente:


1. Debe haber una condicin que se debe cumplir en algn momento para terminar.
2. Cualquier llamada a un mtodo recursivo debe progresar a obtener la condicin del punto
anterior.

Crear un proyecto que lleve por nombre practicasEDSepDic2010


Crear una clase llamada clsED
Editar el mtodo para calcular la suma de los n primeros nmeros utilizando el mtodo recursivo
Public Class clsED
Public Shared Function suma(ByVal n As Integer) As Integer
If n = 1 Then
Return 1
Else
Return suma(n - 1) + n
End If
End Function
End Class

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

Realice la siguiente interfaz

Codifique el evento Click para el botn de Comando btn_Sumar


Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
5
Manual de Prcticas de Nombre de la asignatura

Private Sub btnSumar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles btnSumar.Click
txtSuma.Text = clsED.suma(Integer.Parse(txtNumero.Text))
End Sub

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

Integra a la clase el mtodo de para proporcionar la secuencia de Fibonacci


Public Shared Function Fibonacci(ByRef n As Integer) As Integer
If n <= 1 Then
Return n
Else
Return Fibonacci(n - 1) + Fibonacci(n - 2)
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

Unidad: II Nombre: ARREGLOS


El alumno elaborar programas que incluyan mtodos de bsqueda y ordenamiento,
Objetivo: usando arreglos unidimensionales y bidimensionales para manipular datos de forma
organizada.
Tema: Duracin (Hrs): No. Mximo de Integrantes:
Arreglos unidimensionales y 2 1
bidimensionales
Objetivo(s):
Organizar conjuntos de datos mediante el uso de arreglos unidimensionales y Bidimensionales
realizando operaciones bsicas (inicializacin, acceso, impresin y eliminacin).
Instrucciones:

Materiales, Equipos y Manuales:


Cantidad Descripcin Especificaciones Tcnicas
2 Lpiz
1 Borrador
1 Libreta de apuntes de Estructura de datos
1 Hojas blancas
1 Equipo de cmputo
1 Lenguaje de programacin Visual Basic
Medidas de Seguridad:
Considerar en todo momento el reglamento interno de Laboratorio, verificar conexiones en caso
de que no encienda la computadora, reportar algn contacto en mal estado.
Conocimientos Requeridos:
Operacin de IDE, Lenguaje de programacin, Plataforma .NET
Criterios de evaluacin: (de cada prctica)
Reporte de Practicas 10% de la calificacin de la unidad, en base a la lista de cotejo. La actividad
integradora no se considera dentro de la prctica. Para todas las prcticas se considera la fecha de
entrega, el funcionamiento, el diseo del formulario ( ajustar las propiedades de manera
adecuada).

METODOLOGA

Las clases en el aula se impartirn en el horario de grupo de la asignatura, en ellas el profesor


expondr los contenidos del temario de la asignatura. Estas clases sern terico-prcticas,
conjugndose las explicaciones tericas con la exposicin de ejemplos. En la presentacin de
la materia se emplear proyector.
Las clases en laboratorio perseguirn que los alumnos adquieran destreza en el uso del
lenguaje de programacin y comprobacin de los conceptos mostrados en clase por medio de
la realizacin de ejercicios guiados por el profesor.
Las asesoras sern un elemento bsico de interaccin profesor alumno. Tienen como
objetivos resolver dudas, guiar a los alumnos en la ampliacin de conocimientos y facilitarles
bibliografa y orientacin en caso necesario.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
7
Manual de Prcticas de Nombre de la asignatura

Prctica 2 Conceptos bsicos de array: inicializacin, acceso, impresin y eliminacin


Tambin conocido con las denominaciones de matriz y vector, un array es aquel elemento del
lenguaje que nos permite agrupar un conjunto de valores del mismo tipo, y acceder a ellos a
travs de una misma variable o identificador, especificando la posicin o ndice en donde se
encuentra el dato a recuperar.
Crear un proyecto que lleve por nombre U2EDSepDic2010 como tipo de Aplicacin de consola
En el modulo edita el mtodo Main() que realice las operaciones esenciales que podemos
realizar con un array.
MODULE MODULE1
Sub Main()
' declarar un array de tipo String,
' el nmero de elementos es el indicado
' en la declaracin ms uno, porque la primera
' posicin de un array es cero
Dim sNombres(3) As String
' asignar valores al array
sNombres(0) = "Ana"
sNombres(1) = "Pedro"
sNombres(2) = "Antonio"
sNombres(3) = "Laura"
' pasar un valor del array a una variable
Dim sValor As String
sValor = sNombres(2)
' mostrar en la consola el valor pasado a una variable
' y un valor directamente desde el array
Console.WriteLine("Valor de la variable sValor: {0}", sValor)
Console.WriteLine("Valor del array, posicin 1: {0}", sNombres(1))
Console.ReadLine()
End Sub
End Module

ACTIVIDAD INTEGRADORA:

Realice las siguientes prcticas para dar respuesta a los siguientes cuestionamientos y considerarlo
en el reporte de prcticas:

1. El primer ndice de un array debe ser siempre cero


2. No es posible crear arrays con rangos de ndices
3. Todos los arrays son dinmicos
4. Declaracin de arrays
5. Asignacin y obtencin de valores
6. Recorrer el contenido
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
8
Manual de Prcticas de Nombre de la asignatura

Unidad: II Nombre: ARREGLOS


El alumno elaborar programas que incluyan mtodos de bsqueda y ordenamiento,
Objetivo: usando arreglos unidimensionales y bidimensionales para manipular datos de forma
organizada.
Tema: Duracin (Hrs): No. Mximo de Integrantes:
Mtodos de bsqueda 2 1
Objetivo(s):
Elaborar la codificacin de los algoritmos de bsqueda para resolver casos en un lenguaje de POO.
Instrucciones:

Materiales, Equipos y Manuales:


Cantidad Descripcin Especificaciones Tcnicas
2 Lpiz
1 Borrador
1 Libreta de apuntes de Estructura de datos
1 Hojas blancas
1 Equipo de cmputo
1 Lenguaje de programacin Visual Basic
Medidas de Seguridad:
Considerar en todo momento el reglamento interno de Laboratorio, verificar conexiones en caso
de que no encienda la computadora, reportar algn contacto en mal estado.
Conocimientos Requeridos:
Operacin de IDE, Lenguaje de programacin, Plataforma .NET
Criterios de evaluacin: (de cada prctica)
Reporte de Practicas 20% de la calificacin de la unidad, en base a la lista de cotejo. La actividad
integradora no se considera dentro de la prctica. Para todas las prcticas se considera la fecha de
entrega, el funcionamiento, el diseo del formulario ( ajustar las propiedades de manera
adecuada).

METODOLOGA

Las clases en el aula se impartirn en el horario de grupo de la asignatura, en ellas el profesor


expondr los contenidos del temario de la asignatura. Estas clases sern terico-prcticas,
conjugndose las explicaciones tericas con la exposicin de ejemplos. En la presentacin de
la materia se emplear proyector.
Las clases en laboratorio perseguirn que los alumnos adquieran destreza en el uso del
lenguaje de programacin y comprobacin de los conceptos mostrados en clase por medio de
la realizacin de ejercicios guiados por el profesor.
Las asesoras sern un elemento bsico de interaccin profesor alumno. Tienen como
objetivos resolver dudas, guiar a los alumnos en la ampliacin de conocimientos y facilitarles
bibliografa y orientacin en caso necesario.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
9
Manual de Prcticas de Nombre de la asignatura

Prctica 3 Bsqueda secuencial y bsqueda binaria

Bsqueda secuencial

Desarrollar el mtodo de bsqueda secuencial en un arreglo vectorial de n elementos. Este


mtodo atraviesa una lista secuencial para localizar la clave de bsqueda. El algoritmo que se elige
depende en general de la organizacin de los elementos de la matriz. Si los elementos estn en
orden aleatorio, entonces uno debe elegir la tcnica de bsqueda lineal.

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.

Function SeqSearch(ByVal arr() As Integer, ByVal sValue As Integer) As Integer


Dim index As Integer
For index = 0 To arr.GetUpperBound(0)
If (arr(index) = sValue) Then
Return True
End If
Next
Return False
End Function

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:

pMitad = int((pInicial + pFinal)/2)

Donde pInicial y pFinal son las posiciones iniciales y final del subVector que se est considerando.

2. En la mitad donde se deba continuar la bsqueda, se contina de la misma manera, es decir; se


compara el valor buscado con el elemento central de esa mitad.

Si coinciden, se ha encontrado el numero y se finaliza la bsqueda.


Si no coinciden, se determina en cul de las dos mitades de esta subMitad debe estar el
valor buscado.

3. Se continua de este modo (dividiendo el vector en subMitades) hasta que la bsqueda:


Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
10
Manual de Prcticas de Nombre de la asignatura

Finalice con xito (se encuentre el elemento)


Se finalice sin xito (no se encontr el elemento)

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.

Public Function binSearch(ByVal arr() As Integer, ByVal value As Integer) As Integer


Dim pInicial, pFinal, pMitad As Integer
pFinal = arr.GetUpperBound(0)
pInicial = 0
While (pInicial <= pFinal)
pMitad = (pFinal + pInicial) \ 2
If (arr(pMitad) = value) Then
Return pMitad
ElseIf (value < arr(pMitad)) Then
pFinal = pMitad - 1
Else
pInicial = pMitad + 1
End If
End While
Return -1
End Function
End Class

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

Unidad: II Nombre: ARREGLOS


El alumno elaborar programas que incluyan mtodos de bsqueda y ordenamiento,
Objetivo: usando arreglos unidimensionales y bidimensionales para manipular datos de forma
organizada.
Tema: Duracin (Hrs): No. Mximo de Integrantes:
Mtodos de ordenamiento 6 1
Objetivo(s):
Elaborar la codificacin de los algoritmos de bsqueda y ordenamiento para resolver casos en un
lenguaje de POO.
Instrucciones:

Materiales, Equipos y Manuales:


Cantidad Descripcin Especificaciones Tcnicas
2 Lpiz
1 Borrador
1 Libreta de apuntes de Estructura de datos
1 Hojas blancas
1 Equipo de cmputo
1 Lenguaje de programacin Visual Basic
Medidas de Seguridad:
Considerar en todo momento el reglamento interno de Laboratorio, verificar conexiones en caso
de que no encienda la computadora, reportar algn contacto en mal estado.
Conocimientos Requeridos:
Operacin de IDE, Lenguaje de programacin, Plataforma .NET
Criterios de evaluacin: (de cada prctica)
Reporte de Practicas 20% de la calificacin de la unidad, en base a la lista de cotejo. La actividad
integradora no se considera dentro de la prctica. Para todas las prcticas se considera la fecha de
entrega, el funcionamiento, el diseo del formulario (ajustar las propiedades de manera
adecuada).

METODOLOGA

Las clases en el aula se impartirn en el horario de grupo de la asignatura, en ellas el profesor


expondr los contenidos del temario de la asignatura. Estas clases sern terico-prcticas,
conjugndose las explicaciones tericas con la exposicin de ejemplos. En la presentacin de
la materia se emplear proyector.
Las clases en laboratorio perseguirn que los alumnos adquieran destreza en el uso del
lenguaje de programacin y comprobacin de los conceptos mostrados en clase por medio de
la realizacin de ejercicios guiados por el profesor.
Las asesoras sern un elemento bsico de interaccin profesor alumno. Tienen como
objetivos resolver dudas, guiar a los alumnos en la ampliacin de conocimientos y facilitarles
bibliografa y orientacin en caso necesario.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
12
Manual de Prcticas de Nombre de la asignatura

Prctica 3 Mtodos de ordenamiento

Mtodos de ordenamiento: Burbuja

El Ordenamiento de burbuja (Bubble Sort en ingls) es un sencillo algoritmo de ordenamiento.


Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente,
intercambindolos de posicin si estn en el orden equivocado. Es necesario revisar varias veces
toda la lista hasta que no se necesiten ms intercambios, lo cual significa que la lista est
ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los
elementos durante los intercambios, como si fueran pequeas "burbujas". Tambin es conocido
como el mtodo del intercambio directo. Dado que solo usa comparaciones para operar
elementos, se lo considera un algoritmo de comparacin, siendo el ms sencillo de implementar.

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:

Public Sub BubbleSort(ByVal arr() As Integer)


Dim numElements As Integer = arr.GetUpperBound(0)
Dim outer, inner, temp As Integer
For outer = numElements - 1 To 2 Step -1
For inner = 0 To outer - 1
If (arr(inner) > arr(inner + 1)) Then
temp = arr(inner)
arr(inner) = arr(inner + 1)
arr(inner + 1) = temp
End If
Next
Next
End Sub

Mtodos de ordenamiento: Seleccin

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

Public Sub SelectionSort(ByVal arr() As Integer)


Dim numElements As Integer = arr.GetUpperBound(0)
Dim outer, inner, min, temp As Integer
For outer = 0 To numElements - 2
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
13
Manual de Prcticas de Nombre de la asignatura

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

Mtodos de ordenamiento: Insercin

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:

Public Sub InsertionSort(ByVal arr() As Integer)


Dim inner, outer, temp As Integer
Dim numElements As Integer = arr.GetUpperBound(0)
For outer = 1 To numElements - 1
temp = arr(outer)
inner = outer
While (inner > 0 AndAlso (arr(inner - 1) >= temp))
arr(inner) = arr(inner - 1)
inner -= 1
End While
arr(inner) = temp
Next
End Sub

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

Unidad: III Nombre: LISTAS

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:

Materiales, Equipos y Manuales:


Cantidad Descripcin Especificaciones Tcnicas
1 Lpiz
1 Borrador
1 Libreta de apuntes de Estructura de datos
1 Hojas blancas
1 Equipo de cmputo
1 Lenguaje de programacin Visual Basic
Medidas de Seguridad:
Considerar en todo momento el reglamento interno de Laboratorio, verificar conexiones en caso
de que no encienda la computadora, reportar algn contacto en mal estado.
Conocimientos Requeridos:
Operacin de IDE, Lenguaje de programacin, Plataforma .NET
Criterios de evaluacin: (de cada prctica)
Reporte de Practicas 20% de la calificacin de la unidad, en base a la lista de cotejo. La actividad
integradora no se considera dentro de la prctica. Para todas las prcticas se considera la fecha de
entrega, el funcionamiento, el diseo del formulario ( ajustar las propiedades de manera
adecuada).

METODOLOGA

Las clases en el aula se impartirn en el horario de grupo de la asignatura, en ellas el profesor


expondr los contenidos del temario de la asignatura. Estas clases sern terico-prcticas,
conjugndose las explicaciones tericas con la exposicin de ejemplos. En la presentacin de
la materia se emplear proyector.
Las clases en laboratorio perseguirn que los alumnos adquieran destreza en el uso del
lenguaje de programacin y comprobacin de los conceptos mostrados en clase por medio de
la realizacin de ejercicios guiados por el profesor.
Las asesoras sern un elemento bsico de interaccin profesor alumno. Tienen como
objetivos resolver dudas, guiar a los alumnos en la ampliacin de conocimientos y facilitarles
bibliografa y orientacin en caso necesario.
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
15
Manual de Prcticas de Nombre de la asignatura

Prctica 1 Crear listas aplicando el paradigma de orientacin a objetos


El espacio de nombres System.Collections.Generic contiene interfaces y clases que definen
colecciones genricas, permitiendo que los usuarios creen colecciones con establecimiento
inflexible de tipos para proporcionar una mayor seguridad de tipos y un rendimiento mejor que los
de las colecciones no genricas con establecimiento inflexible de tipos.
Representa una lista fuertemente tipada de objetos a los que se puede obtener acceso por el
ndice. Proporciona mtodos para buscar, ordenar y manipular listas.

CREAR UNA CLASE LLAMADA BOTELLA


Public Class Botella
Public Marca As String
Public Nombre As String
Public Categoria As String
Public Tamao As Decimal

Public Sub New( _


ByVal m_Marca As String, _
ByVal m_Nombre As String, _
ByVal m_Categoria As String, _
ByVal m_Tamao As Decimal)
Marca = m_Marca
Nombre = m_Nombre
Categoria = m_Categoria
Tamao = m_Tamao
End Sub

Para construir la coleccin, en el evento Form Load editar el cdigo siguiente:

Dim Armario As List(Of Botella) = New List(Of Botella)


Armario.Add(New Botella ("Castle Creek", "Uintah Blanc", "Wine", 750))
Armario.Add(New Botella ("Zion Canyon Brewing Company", "Springdale Amber Ale", "Beer", 355))
Armario.Add(New Botella ("Spanish Valley Vineyards", "Syrah", "Wine", 750))
Armario.Add(New Botella ("Wasatch Beers", "Polygamy Porter", "Beer", 355))
Armario.Add(New Botella ("Squatters Beer", "Provo Girl Pilsner", "Beer", 355))

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

Unidad: IV Nombre: Pilas


El alumno elaborar programas usando pilas para manipular datos de forma
Objetivo:
organizada.
Tema: Duracin (Hrs):
Operaciones con pilas 2 1
Objetivo(s):
Elaborar pilas desde un enfoque orientado a objetos aplicando sus operaciones.
Instrucciones:

Materiales, Equipos y Manuales:


Cantidad Descripcin Especificaciones Tcnicas
1 Lpiz
1 Borrador
1 Libreta de apuntes de Estructura de datos
1 Hojas blancas
1 Equipo de cmputo
1 Lenguaje de programacin Visual Basic
Medidas de Seguridad:
Considerar en todo momento el reglamento interno de Laboratorio, verificar conexiones en caso
de que no encienda la computadora, reportar algn contacto en mal estado.
Conocimientos Requeridos:
Operacin de IDE, Lenguaje de programacin, Plataforma .NET
Criterios de evaluacin: (de cada prctica)
Reporte de Practicas 10% de la calificacin de la unidad, en base a la lista de cotejo. La actividad
integradora no se considera dentro de la prctica. Para todas las prcticas se considera la fecha de
entrega, el funcionamiento, el diseo del formulario (ajustar las propiedades de manera
adecuada).

Prctica 1 Operaciones con pilas


METODOLOGA

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.

Crear un proyecto de tipo Consola llamado pu4EDSepDic2010_01


En el mdulo editar el mtodo Main()
Public Sub Main()
' creamos una coleccin de tipo pila
Dim oPila As Stack
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
17
Manual de Prcticas de Nombre de la asignatura

oPila = New Stack()


' para aadir valores, usamos el mtodo Push()
oPila.Push("A") ' este ser el ltimo en salir
oPila.Push("B")
oPila.Push("C")
oPila.Push("D")
oPila.Push("E") ' este ser el primero en salir
'Devuelve el objeto situado al principio de la System.Collectios.Stack sin eliminarlo
oPila.Peek()
'Quita todos los objetos de la Coleccion System.Collectios.Stack
oPila.Clear()
' para extraer un valor de la pila, usamos el mtodo Pop(),
' dicho valor se eliminar de la lista
While oPila.Count > 0
Console.WriteLine("El valor obtenido de la lista es: {0}", oPila.Pop)
End While
Console.ReadLine()
End Sub

Analizar cada una de las instrucciones asociadas a el objeto 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
18
Manual de Prcticas de Nombre de la asignatura

Unidad: IV Nombre: Pilas


El alumno elaborar programas usando pilas para manipular datos de forma
Objetivo:
organizada.
Tema: Duracin (Hrs):
Operaciones con pilas 2 1
Objetivo(s):
Elaborar pilas desde un enfoque orientado a objetos aplicando sus operaciones.
Instrucciones:

Materiales, Equipos y Manuales:


Cantidad Descripcin Especificaciones Tcnicas
1 Lpiz
1 Borrador
1 Libreta de apuntes de Estructura de datos
1 Hojas blancas
1 Equipo de cmputo
1 Lenguaje de programacin Visual Basic
Medidas de Seguridad:
Considerar en todo momento el reglamento interno de Laboratorio, verificar conexiones en caso
de que no encienda la computadora, reportar algn contacto en mal estado.
Conocimientos Requeridos:
Operacin de IDE, Lenguaje de programacin, Plataforma .NET
Criterios de evaluacin: (de cada prctica)
Reporte de Practicas 10% de la calificacin de la unidad, en base a la lista de cotejo. La actividad
integradora no se considera dentro de la prctica. Para todas las prcticas se considera la fecha de
entrega, el funcionamiento, el diseo del formulario (ajustar las propiedades de manera
adecuada).

Prctica 2 Aplicacin de las pilas para resolver el problema de conversiones de base


decimal a cualquier base.
METODOLOGA

Crear un proyecto de tipo Consola llamado pu4EDSepDic2010_02


Crear un objeto de tipo Forms con el nombre frmConversiones
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
19
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

Unidad: IV Nombre: Pilas


El alumno elaborar programas usando pilas para manipular datos de forma
Objetivo:
organizada.
Tema: Duracin (Hrs):
Operaciones con pilas 2 1
Objetivo(s):
Elaborar pilas desde un enfoque orientado a objetos aplicando sus operaciones.
Instrucciones:

Materiales, Equipos y Manuales:


Cantidad Descripcin Especificaciones Tcnicas
1 Lpiz
1 Borrador
1 Libreta de apuntes de Estructura de datos
1 Hojas blancas
1 Equipo de cmputo
1 Lenguaje de programacin Visual Basic
Medidas de Seguridad:
Considerar en todo momento el reglamento interno de Laboratorio, verificar conexiones en caso
de que no encienda la computadora, reportar algn contacto en mal estado.
Conocimientos Requeridos:
Operacin de IDE, Lenguaje de programacin, Plataforma .NET
Criterios de evaluacin: (de cada prctica)
Reporte de Practicas 20% de la calificacin de la unidad, en base a la lista de cotejo. La actividad
integradora no se considera dentro de la prctica. Para todas las prcticas se considera la fecha de
entrega, el funcionamiento, el diseo del formulario (ajustar las propiedades de manera
adecuada).

Prctica 3 Aplicacin de las pilas para resolver el problema de las Torres de Hanoi.
METODOLOGA

Crear un proyecto de tipo Consola llamado pu4EDSepDic2010_03


Crear la clase Torres.vb
Escribir el siguiente mtodo para reflejar en todo momento el contenido de las pilas en un
control ListBox.
Public Shared Sub MostrarElementos(ByVal lstLista As ListBox, ByVal pila As Stack)
lstLista.Items.Clear()
For Each miobjetto As Object In pila
lstLista.Items.Add(miobjetto)
Next
END SUB
Crear un objeto de tipo Forms con el nombre frmTHanoi
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
21
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.
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

Unidad: IV Nombre: Pilas


El alumno elaborar programas usando pilas para manipular datos de forma
Objetivo:
organizada.
Tema: Duracin (Hrs):
Operaciones con pilas 2 1
Objetivo(s):
Ilustrar el uso de la estructura de datos pila.
Instrucciones:

Materiales, Equipos y Manuales:


Cantidad Descripcin Especificaciones Tcnicas
1 Lpiz
1 Borrador
1 Libreta de apuntes de Estructura de datos
1 Hojas blancas
1 Equipo de cmputo
1 Lenguaje de programacin Visual Basic
Medidas de Seguridad:
Considerar en todo momento el reglamento interno de Laboratorio, verificar conexiones en caso
de que no encienda la computadora, reportar algn contacto en mal estado.
Conocimientos Requeridos:
Operacin de IDE, Lenguaje de programacin, Plataforma .NET
Criterios de evaluacin: (de cada prctica)
Reporte de Practicas 10% de la calificacin de la unidad, en base a la lista de cotejo. La actividad
integradora no se considera dentro de la prctica. Para todas las prcticas se considera la fecha de
entrega, el funcionamiento, el diseo del formulario (ajustar las propiedades de manera
adecuada).

Prctica 4 Aplicacin de las pilas a una cadena de texto.


METODOLOGA

Crear un proyecto de tipo Consola llamado pu5EDSepDic2010_04


Crear el formulario frmPalindrome

Escribir el cdigo para el botn btnPalindrome


Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
24
Manual de Prcticas de Nombre de la asignatura

Private Sub btnPalindrome_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


btnPalindrome.Click
Dim cadena As String = String.Empty
For Each letra As Char In txtCadena.Text 'Recorremos para quitar espacios
If Not letra = Chr(32) Then 'Si no es espacio
cadena += letra 'Agrega la letra a la cadena
End If
Next
Dim PiladeLetras As New Stack 'Creamos una pila
For Each letra As Char In cadena 'Recorremos para push en la pila
' If Not letra = Chr(32) Then
PiladeLetras.Push(letra)
'End If
Next

Dim CadenaInvertida As String = String.Empty


For Each letra As Char In PiladeLetras
CadenaInvertida += letra
Next
If cadena = CadenaInvertida Then
lblEsPalindrome.Text = "Es palindrome"
Else
lblEsPalindrome.Text = "No es Palindrome"
End If
MessageBox.Show(cadena & vbCrLf & CadenaInvertida)
END SUB
Ejecute el programa y analice el desarrollo para sacar sus propias conclusiones
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
25
Manual de Prcticas de Nombre de la asignatura

Unidad: V Nombre: Colas


El alumno elaborar programas usando colas para manipular datos de forma
Objetivo:
organizada.
Tema: Duracin (Hrs):
Operaciones con pilas 2 1
Objetivo(s):
Ilustrar el uso de la estructura de datos cola.
Instrucciones:

Materiales, Equipos y Manuales:


Cantidad Descripcin Especificaciones Tcnicas
1 Lpiz
1 Borrador
1 Libreta de apuntes de Estructura de datos
1 Hojas blancas
1 Equipo de cmputo
1 Lenguaje de programacin Visual Basic
Medidas de Seguridad:
Considerar en todo momento el reglamento interno de Laboratorio, verificar conexiones en caso
de que no encienda la computadora, reportar algn contacto en mal estado.
Conocimientos Requeridos:
Operacin de IDE, Lenguaje de programacin, Plataforma .NET
Criterios de evaluacin: (de cada prctica)
Reporte de Practicas 20% de la calificacin de la unidad, en base a la lista de cotejo. La actividad
integradora no se considera dentro de la prctica. Para todas las prcticas se considera la fecha de
entrega, el funcionamiento, el diseo del formulario (ajustar las propiedades de manera
adecuada).

Prctica 1 Aplicacin de las operaciones colas


METODOLOGA

Crear un proyecto de tipo Consola llamado pu5EDSepDic2010_01


En el Modulo editar el siguiente cdigo
Module Module1
Public Structure Dancer
Dim Name As String
Dim Sex As String
End Structure
Sub Main()
Dim males As New Queue()
Dim females As New Queue()
formLines(males, females)
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
26
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

Ejecute el programa y analice el desarrollo para sacar sus propias conclusiones


ACTIVIDAD INTEGRADORA:

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

Unidad: VI Nombre: Arboles


El alumno elaborar programas usando rboles para manipular datos de forma
Objetivo:
organizada.
Tema: Duracin (Hrs):
Definicin y tipos de rbol 2 1
Objetivo(s):
Demostrar el uso de la estructura de datos rbol y sus tipos.
Instrucciones:

Materiales, Equipos y Manuales:


Cantidad Descripcin Especificaciones Tcnicas
1 Lpiz
1 Borrador
1 Libreta de apuntes de Estructura de datos
1 Hojas blancas
1 Equipo de cmputo
1 Lenguaje de programacin Visual Basic
Medidas de Seguridad:
Considerar en todo momento el reglamento interno de Laboratorio, verificar conexiones en caso
de que no encienda la computadora, reportar algn contacto en mal estado.
Conocimientos Requeridos:
Operacin de IDE, Lenguaje de programacin, Plataforma .NET
Criterios de evaluacin: (de cada prctica)
El porcentaje de evaluacin es del 40% de la unidad, incluir los recorridos posorder y preorder.

Prctica 1 Creacin de un rbol de bsqueda binario


METODOLOGA

Crear un proyecto de tipo Consola llamado pu6EDSepDic2010_01


Crear la clase Nodo
Public Class Nodo
Public iData As Integer
Public Left As Nodo
Public Right As Nodo
Public Sub displayNode()
Console.Write(iData & " ")
End Sub
END CLASS
Crear la clase BinarySearchTree
Public Class BinarySearchTree
Public root As Nodo
Public Sub New()
Universidad Tecnolgica de Campeche Direccin de Tecnologas de la Informacin y Comunicacin
29
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

If (Not (theRoot Is Nothing)) Then


inOrder(theRoot.Left)
theRoot.displayNode()
inOrder(theRoot.Right)
End If
END SUB
Ejecute el programa y analice el desarrollo para sacar sus propias conclusiones

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

Vous aimerez peut-être aussi