Documentos de Académico
Documentos de Profesional
Documentos de Cultura
REA:
SISTEMAS INFORMTICOS.
DOCENTE:
JULIANA KARINA ALEJANDRO JIMENEZ
ALUMNOS: MARA ELENA DE LA CRUZ HERNNDEZ. DIANA PEREZ SALVADOR GABRIEL RAMOS HERNANDEZ MARCO ANTONIO MORA LOPEZ
LISTAS
Una lista es una estructura de datos homognea y dinmica, que va a estar formada por una secuencia de elementos, donde cada uno de ellos va seguido de otro o de ninguno.
Homognea: Todos los elementos que la forman tienen el mismo tipo base. Dinmica: Puede crecer o decrecer en tiempo de ejecucin segn nuestras necesidades. Las No L1: L2: gato, listas tienen el pueden mismo gato, canario, ser nmero diferentes de si: elementos: perro. cerdo.
Cuando, aun teniendo el mismo nmero de elementos, estos son distintos: L1: L2: gato, gato, perro. cerdo.
Cuando, aun teniendo el mismo nmero de elementos y siendo estos los mismos, no L1: L2: estn dispuestos en gato, perro, el mismo orden. perro. gato.
Hay varios criterios para clasificar las listas: segn su modo de acceso o segn su informacin de acceso. Modo De Acceso.
Atendiendo a este, se dividen en densas y enlazadas. El modo de acceso es independiente Listas de la implementacin realizada. densas
Se caracterizan porque los elementos siguen una secuencia fsica. Sabemos cuales es el siguiente elemento porque para acceder a l hemos tenido que pasar por todos los anteriores.
La El
de es llegar a el
un
cualquiera de N-1 la
ser: lista.
N-esimo
hemos
por
elementos.
Siguen una estructura fsica secuencial luego se pueden implementar utilizando ficheros, ARRAYS y punteros.
CARACTERISTICAS: 1- La lista debe estar ordenada. 2- A diferencia de las pilas y las colas se pueden extraer e insertar elementos en cualquier parte de la lista. 3-Las listas enlazadas permiten inserciones y eliminacin de nodos en cualquier punto de la lista en tiempo constante, pero no permiten un acceso aleatorio. 4- Existen diferentes tipos de listas enlazadas: Listas enlazadas simples, listas doblemente enlazadas, listas enlazadas circulares y listas enlazadas doblemente circulares. 5- Pueden ser implementadas en muchos lenguajes. Lenguajes tales como Lisp y Scheme tiene estructuras de datos ya construidas, junto con operaciones para acceder a las listas enlazadas. Lenguajes imperativos u orientados a objetos tales como C o C++ y Java, respectivamente, disponen de referencias para crear listas enlazadas.
PASOS PARA CREAR UNA LISTA 1- Comprobar si est vaca 2- Buscar la posicin (orden) 3- Crear enlaces.
Se tienen dos casos particulares para la insercin de un elemento. 1- Insertar el nuevo nodo en el frente (principio de la lista). 2- Insertar el nuevo nodo en cualquier otro lugar de la lista. Para la eliminacin de un elemento en una lista enlazada antes de proceder con la eliminacin deberemos comprobar que no est vaca. Tambin en este caso se tienen dos consideraciones particulares. 1.-El elemento a suprimir esta al principio de la lista. 2.-El elemento se encuentra en cualquier otro lugar de la lista.
Tal y como explicamos en su momento, ser posible crear arrays con ms de una dimensin, pasando de la idea de lista, vector o matriz de una sola fila a la idea de matriz de m x n elementos, estructuras tridimensionales, tetradimensionales, etc. La sintaxis ser:
Si no se declara el tipo de variable el array ser tipo Variant por defecto. Conviene tener cuidado con esto y seguir las mismas pautas que hemos indicado para las variables. La declaracin de una matriz tradicional de m x n elementos podra ser:
El nmero de elementos declarados depende de cmo tengamos establecido Option Base. Si est fijado en uno, la matriz ser de 3 filas (1, 2 y 3) y dos columnas (1 y 2) siendo por tanto el nmero de elementos 3 x 2 = 6 mientras que si est fijado en cero tendremos adems una fila cero y una columna cero, con lo que el nmero de elementos ser de 4 x 3 = 12.
Vamos a definir una matriz con el mismo ejemplo que usamos cuando hablamos de pseudocdigo: queremos almacenar en una matriz el nmero de alumnos con que cuenta una academia ordenados en funcin del nivel y del idioma que se estudia. Tendremos 3 filas que representarn Nivel bsico, medio o de perfeccionamiento y 4 columnas que representarn los idiomas (1 = Ingls, 2 = Francs, 3 = Alemn y 4 = Ruso). La declaracin de dicha matriz sera:
Dim Alumnosfxniveleidioma(3, 4)
Alumnosfxniveleidioma(1, 1) = 7 Alumnosfxniveleidioma(1, 2) = 14
Alumnosfxniveleidioma(1, 3) = 8 Alumnosfxniveleidioma(1, 4) = 3 Alumnosfxniveleidioma(2, 1) = 6 Alumnosfxniveleidioma(2, 2) = 19 Alumnosfxniveleidioma(2, 3) = 7 Alumnosfxniveleidioma(2, 4) = 2 Alumnosfxniveleidioma(3, 1) = 3 Alumnosfxniveleidioma(3, 2) = 13 Alumnosfxniveleidioma(3, 3) = 4 Alumnosfxniveleidioma(3, 4) = 1
La representacin grfica que podramos asociar a esta asignacin de datos sera esta matriz:
La organizacin de la informacin en matrices nos generar importantes ventajas a la hora del tratamiento de datos en nuestros programas.
Para terminar en cuanto a multidimensionalidad, veamos casos de declaraciones con ms de dos dimensiones. Para ello volveremos al ejemplo del conteo de coches que ya hemos usado. La forma de declarar esos array sera la siguiente:
con Visual
es
Nmerodecoches) Array de un localizador (hora) Array Varios das de dos (hora y Dim Nc(24, 31)
Un da
Dim Nc(24)
Varios meses
Varios aos
Varios siglos
localizadores
mes, ao y siglo)
Una lista lineal es un conjunto de N nodos l1, l2, ln, con n 0, cuyas propiedades estructurales esenciales incluyen slo las posiciones lineales (unidimensionales) relativas de los nodos; para ella se definen operaciones como las siguientes: Tener acceso a un nodo. Insertar y eliminar un nodo en la lista. Combinar dos o ms listas en una. Dividir una lista en dos o ms listas. Determinar la cantidad de nodos de la lista. Ordenar la lista de acuerdo a un criterio. Buscar un elemento bajo una condicin. Lista enlazada
Un nodo de una lista simplemente enlazada contiene dos campos: datos (contiene un elemento de la lista) ysiguiente (almacena un enlace al siguiente nodo de la lista).
El campo siguiente del ltimo nodo contiene un smbolo especial que indica el final de las lista. Se accede a la lista por medio de un apuntador al primer elemento y solo se puede recorrer la lista en un sentido, del primer nodo al ltimo nodo.
Cada nodo contiene tres campos: un campo que almacena el elemento de la lista y los otros dos almacenan los enlaces a los nodos precedente y siguiente de la lista. Se usan punteros nulos para marcar ambos extremos de la lista. Listas enlazadas
Son aquellas en las que cada elemento que los compone contiene la informacin necesaria para acceder al elemento siguiente. La localizacin de un elemento cualquiera ser:
Un elemento de la lista tendr la direccin K si K es el primero y K es conocido (direccin Estar en el Dir. J si J est de contenida en el elemento inicio). anterior.
Los elementos se van colocando en la lista a medida que llegan y se identifican por el orden de llegada. El acceso a un elemento es por su orden o posicin relativa dentro de la lista. Listas calificadas
Los elementos se clasifican por una clave y pueden estar ordenados o no estarlo.
A un elemento se accede por la informacin contenida en un campo clave. Diferencias: En la primera clase importa en orden de llegada, mientras que en la segunda depende de la clave.
3.determinar en que casos se pueden utilizar los diferentees tipos de listas. 4.como se construye y opera una lista. sintaxis para crear una lista. (3 y4 de mora)
' Create an array of type String(). Dim winterMonths = {"December", "January", "February"} ' Create an array of type Integer() Dim numbers = {1, 2, 3, 4, 5} ' Create a list of menu options. (Requires an extension method ' named Add for List(Of MenuOption) Dim menuOptions = New List(Of MenuOption) From {{1, "Home"}, {2, "Products"}, {3, "News"}, {4, "Contact Us"}}
Tenemos que tener en cuenta que "borrar" es una variable que en el bucle recorrera las difenrentes posiciones para que el procedimiento las borre. Les tiene que quedar una cosa asi: For borrar = lista.ListCount - 1 To 0 Step -1 lista.RemoveItem (borrar)
Un control Label1 y en el Caption escribir "Nombre". Un Command1 y en el Caption "Aadir". Al Command2 "Eliminar Seleccionado". Luego agrega un Text1 al lado del control Label1 y un control List1. El elemento que escribamos en el Text1, cuando se presione " Aadir " se agregar al control List1, cuando presionemos el Command2 se eliminar de la lista el elemento que se encuentre seleccionado.
Colocar el cdigo en el formulario: Private Sub Command1_Click() If Text1 = "" Then MsgBox "Debe ingresar un nombre para poder agregar un elemento", vbQuestion + vbOKOnly, "Datos incompletos" 'Salimos de la rutina ya que no se ha ingresado nada en el control text1
Exit Sub End If 'Agregamos el contenido del Text1 en el control List1 List1.AddItem Text1 End Sub Private Sub Command2_Click() 'Si la lista no est vaca entonces podemos eliminar If List1.ListIndex <> -1 Then 'Eliminamos el elemento que se encuentra seleccionado List1.RemoveItem List1.ListIndex End If End Sub
Entonces hacemos doble clic en el botn BUSCAR POR INDICE y dentro de sus funcines escribimos el siguiente cdigo: 'primero capturamos el numero ingresado por el TEXTBOX DimindiceAsInteger indice = TextBox1.Text 'Ahora nos fijamos que este dentro del rango de la cantidad de tems
If (indice> 0) And (indice< (ListBox1.Items.Count + 1)) Then ' Si existe mostramos el tem en un mensaje MsgBox(ListBox1.Items.Item(indice - 1)) End Else ' Si no existe le advertimos que el ndice no existe MsgBox("No Existe el ndice especificado...") EndIf
Ahora hacemos doble clic en el botn BUSCAR POR ITEM para que recuperemos el tem escrito en el TEXTBOX2:
Hacemos doble clic en el botn2 BUSCAR POR ITEM y dentro de su funcin escribimos el siguiente cdigo: recogemos el escrito del TEXBOX2
DimitemAsString item = TextBox2.Text ahora lo buscamos es capaz de encontrar solo poniendo las tres primeras letras del tem If (ListBox1.FindString(item)) > (-1) Then MsgBox("Se encuentra en el indice: " + (ListBox1.FindString(item) + 1)) End Else MsgBox("No Existe el tem especificado...") EndIf
Ejemplos:
EJEMPLO DE CDIGO PARA AGREGAR ELEMENTOS A UNA LISTA DE VISUAL BASIC MUESTRA CDIGO DE VISUAL BASIC PARA AGREGAR ELEMENTOS A UNA LISTA
Sub Example1() DialogSheets(1).ListBoxes(1).ListFillRange = "MyWorksheet!A2:A15" End Sub
Nota: "MyWorksheet" es el nombre de la hoja de clculo que contiene los datos que desea en el cuadro de lista.
Para rellenar un cuadro de lista con datos de las celdas de una hoja de clculo
Sub Example2() DialogSheets(1).ListBoxes(1).List = _ Array("Mon", "Tue", "Wed", "Thu", "Fri") End Sub
Para rellenar el cuadro de lista con datos de una matriz horizontal de celdas MUESTRA CDIGO DE VISUAL BASIC PARA QUITAR ELEMENTOS DE UNA LISTA
Para obtener informacin adicional, consulte el artculo siguiente en Microsoft Knowledge Base: 105877 XL: RemoveItem y RemoveAllItems mtodos no funcionen
Para borrar todos los elementos de un cuadro de lista con RemoveAllItems MUESTRA CDIGO DE VISUAL BASIC PARA RECUPERAR ELEMENTOS DE UNA LISTA
Sub Example6() Dim LTemp As Variant Dim LItem As Variant Dim Counter As Integer Dim CurList as ListBox ' Set an object name for easy referencing of the list box. Set CurList = DialogSheets(1).ListBoxes(1) ' Put the Selected array into the variable LTemp. LTemp = CurList.Selected ' Initialize a Counter variable. Counter = 1 ' Iterate through the loop once for each item in the array. For Each LItem In LTemp ' If the value of the current item is True... If LItem = True Then ' Show a message box indicating the item is selected. MsgBox CurList.List(Counter) & " is selected." End If ' Increment the Counter to get next selected item. Counter = Counter + 1 Next End Sub
Para obtener informacin adicional, consulte el artculo siguiente en Microsoft Knowledge Base: 124214 XL: Devuelve un valor de un cuadro de lista en Visual Basic
Para obtener informacin adicional, consulte el artculo siguiente en Microsoft Knowledge Base: 111564 XL: Determinar los elementos seleccionados en un cuadro de lista
Set mtemp = DialogSheets(1).ListBoxes(1) ' Set mtemp = myList. myList = mtemp.List ' Create a For-Each Loop. For Each LItem In myList ' Display the selected item. MsgBox Litem Next End Sub