Sunteți pe pagina 1din 12

VISUAL BASIC AVANZADO

TRABAJO COLABORATIVO No. 2

ESTUDIANTES: INS GARCA HERNNDEZ Cdigo: 1.056.994.010 WILDERMAN GALLEGO ALZATE Cdigo: 1.053.770.030 RAMON ANDRES PATERNINA CUESTA DIEGO ALEXANDER FONSECA CRDENAS Cdigo: 1049613601

TUTOR JAIME RUBIANO LLORENTE

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD MANIZALES - CALDAS MAYO 12 DE 2013

INTRODUCCION En el mundo hoy hay muchas herramientas para desarrollar aplicaciones que permiten al ser humano adquirir una comodidad y facilidad ya sea en su mbito laboral o persona donde surgen herramientas como Visual Basic Avanzado, nos proporciona un buen desempeo en el momento de la elaboracin de aplicaciones, suministrando las tcnicas suficientes para realizar programas con un buen desempeo.

DESARROLLO DE LAS ACTIVIDADES ACTIVIDAD No. 1 Responder las siguientes preguntas, cada estudiante debe seleccionar una pregunta y responderla: 1. Cite la instruccin mediante la cual se puede redimensionar un arreglo en .Net Un arreglo en .Net se puede redimensionar a travs de la instruccin Array.Resize que segn la documentacin de Microsoft Cambia el tamao de una matriz al nuevo tamao especificado. Parmetros array Matriz unidimensional de base cero a la que se va a cambiar el tamao, o referencia null (Nothing en Visual Basic) para crear una nueva matriz con el tamao especificado. newSize Tamao de la nueva matriz. 2. Cite la instruccin mediante la cual se puede elementos de un arreglo en .Net Array.Length Obtiene un entero de 32 bits que representa el nmero total de elementos de todas las dimensiones de Array. Valor de propiedad Tipo: System.Int32 Entero de 32 bits que representa el nmero total de elementos en todas las dimensiones de Array; es cero si no hay elementos en la matriz. 3. Explique para que funciona la instruccin Peek y en que estructura(s) de datos se utiliza Se puede utilizar el mtodo Peek para ver el primer mensaje de una cola sin quitarlo de la misma. Esto permite que el componente obtenga informacin de la cola sin impedir que otras aplicaciones u otros componentes recuperen los mensajes que deban procesar. El mtodo Peek slo permite ver el primer mensaje de la cola. Dado que el mensaje no se quita de la cola al examinarlo, no podr examinar los mensajes subsiguientes. Si desea ver todos los mensajes de una cola sin quitarlos de la misma, puede utilizar los mtodos GetAllMessages o GetMessageEnumerator devolver el nmero de

Si no hay mensajes en la cola cuando se llama al mtodo Peek, el mtodo esperar hasta que llegue un mensaje. Puede especificar un tiempo de espera si desea que el mtodo espere slo durante un perodo de tiempo especificado. El perodo de tiempo de espera se especifica como un objeto TimeSpan. Lo ms habitual es que el perodo de tiempo de espera se establezca en cero, en cuyo caso se comprueba si hay un mensaje y no se produce espera, o se establezca en el valor predeterminado infinito, con lo que la espera es indefinida. Para establecer un perodo de tiempo de espera infinito en el cdigo se puede utilizar la sintaxis siguiente: msg.TimeToBeReceived = System.Messaging.Message.InfiniteTimeout Stack.Peek (Mtodo): Devuelve el objeto situado al principio de Stack sin eliminarlo.
Sintaxis: 'Declaracin Public Function Peek As T 'Uso Dim instance As Stack(Of T) Dim returnValue As T returnValue = instance.Peek

En el ejemplo de cdigo siguiente se muestran varios mtodos de la clase genrica Stack, incluyendo el mtodo Peek. En este ejemplo de cdigo se crea una pila de cadenas con capacidad predeterminada y se utiliza el mtodo Push para insertar cinco cadenas en la pila. Se enumeran los elementos de la pila, lo que no cambia el estado de la pila. Se utiliza el mtodo Pop para extraer la primera cadena de la pila. Se usa el mtodo Peek para localizar el siguiente elemento de la pila y, a continuacin, se utiliza el mtodo Pop para extraerlo.
Imports System Imports System.Collections.Generic Module Example Sub Main Dim numbers As New Stack(Of String) numbers.Push("one") numbers.Push("two") numbers.Push("three") numbers.Push("four") numbers.Push("five") ' Una pila puede enumerarse sin perturbar su contenido. For Each number As String In numbers Console.WriteLine(number) Next Console.WriteLine(vbLf & "Popping '{0}'", numbers.Pop()) Console.WriteLine("Peek at next item to pop: {0}", _

numbers.Peek()) Console.WriteLine("Popping '{0}'", numbers.Pop()) ' Crear otra pila utilizando ToArray y el constructor que acepta un objeto IEnumerable(Of T). ' Tenga en cuenta que el orden de los elementos de la nueva pila se invierte. Dim stack2 As New Stack(Of String)(numbers.ToArray()) Console.WriteLine(vbLf & "Contents of the first copy:") For Each number As String In stack2 Console.WriteLine(number) Next ' Crear una matriz del doble de tamao de la pila Dim array2((numbers.Count * 2) - 1) As String numbers.CopyTo(array2, numbers.Count) ' Crear una segunda pila, utilizando el constructor que acepta un IEnumerable(Of T). Dim stack3 As New Stack(Of String)(array2) Console.WriteLine(vbLf & _ "Contents of the second copy, with duplicates and nulls:") For Each number As String In stack3 Console.WriteLine(number) Next Console.WriteLine(vbLf & "stack2.Contains(""four"") = {0}", _ stack2.Contains("four")) Console.WriteLine(vbLf & "stack2.Clear()") stack2.Clear() Console.WriteLine(vbLf & "stack2.Count = {0}", _ stack2.Count) End Sub End Module

Las instrucciones PEEK y POKE permiten leer y escribir en posiciones especficas de memoria. Para leer: PEEK (direccion%) y para escribir: POKE direccion%, byte% donde direccion% es una direccin relativa al segmento actual, definido previamente mediante DEF SEG y byte% es un valor que ser escrito en la posicin de memoria especificada PEEK es una instruccin, en lenguaje BASIC, que usaban los antigos ordenadores de 8 bits, como el ZX Spectrum. Dicha instruccin se encargaba de recuperar un valor en una determinada direccin (posicin) de memoria. Tambin se encuentra la contrapuesta POKE, cuyo objetivo era escribir o grabar un valor en una determinada direccin de memoria.

El valor siempre es devuelto, dada la arquitectura del hardware, en una palabra de 8 bits, es decir en 1 byte. 4. Explique para que funciona la instruccin RemoteAt y en que estructura(s) de datos se utiliza La instruccin RemoveAt, quita el elemento situado en el ndice especificado de un objeto ArrayList. Una vez quitado el elemento, se ajusta el tamao de la coleccin y disminuye el valor de la propiedad Count. En colecciones de elementos contiguos, como listas, los elementos que van a continuacin del elemento eliminado se desplazan hacia arriba para ocupar el espacio libre. Si la coleccin se encuentra indizada, los ndices de los elementos que se muevan tambin se actualizarn. Este comportamiento no se aplica a las colecciones cuyos elementos se agrupan conceptualmente en sectores de almacenamiento, como una tabla hash. Este mtodo es una operacin O(n), donde n es Count. La instruccin RemoveAt, se utiliza para quitar elementos de estructuras de datos tales como ArrayList. 5. Explique para que funciona la instruccin ConstainsKey y en que estructura(s) de datos se utiliza. SINTAXIS
'Declaracin Public Function ContainsKey ( _ key As String _ ) As Boolean 'Uso Dim instance As ShapeCollection Dim key As String Dim returnValue As Boolean returnValue = instance.ContainsKey(key)

Parmetros key Tipo: System.String La clave que se busca en el objeto ShapeCollection. Valor devuelto Tipo: System.Boolean True si la coleccin ShapeCollection contiene un elemento con la clave especificada; en caso contrario, false.

En el ejemplo siguiente se muestra cmo utilizar el mtodo ContainsKey para quitar un control Shape de un formulario si es miembro de la coleccin ShapeCollection del formulario. Este ejemplo requiere que tenga al menos dos controles OvalShape en un formulario .
Private Sub Form1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Click Dim canvas As ShapeContainer ' Get the ShapeContainer. canvas = OvalShape1.Parent ' If OvalShape2 is in the same collection, remove it. If canvas.Shapes.ContainsKey("OvalShape2") Then canvas.Shapes.Remove(OvalShape2) End If End Sub

ACTIVIDAD No. 2 Se debe elaborar un documento en el cual presenten el anlisis respectivo de un problema en el cual involucre el diseo de una base de datos con su interfaz. Se debe presentar el proceso de desarrollo de sistemas de informacin utilizando metodologa UML, presentando los diagramas de casos de usos, diagramas de clases. Problema: En una institucin educativa se viene presentado problemas en el manejo de la informacin con respecto a la calificacin de los estudiantes para lo cual se pide la implementacin de un sistema de informacin que permita almacenar la informacin acadmica de los estudiantes y a su vez le sirva a los profesores para calcular el promedio. Diagrama de Casos de Usos

Diagrama de Clases

ACTIVIDAD No. 3 En otro punto del documento se debe definir los objetos que se requieren crear especificando sus propiedades, mtodos y eventos que se afecten, adicional se debe agregar el cdigo correspondiente para la creacin delas clases derivadas del punto anterior.
Public Class Estudiante 'atributos, Campos o propiedades **** estado Private Codigo As Integer Private Nombre As String Private Apellido As String Private Direccion As String Private Telefono As Integer Private Edad As Integer Private Curso As String 'mtodos constructores **** comportamiento Sub New(ByVal codigo As Integer, ByVal nombre As String, ByVal apellido As String, ByVal direccion As String, ByVal telefono As Integer, ByVal edad As Integer, ByVal curso As String) Me.Codigo = codigo Me.Nombre = nombre Me.Apellido = apellido Me.Direccion = direccion Me.Telefono = telefono Me.Edad = edad Me.Curso = curso End Sub 'mtodos **** comportamiento

Function GetCodigo() As Integer Return Me.Codigo End Function Function GetNombre() As String Return Me.Nombre End Function Function GetApellido() As String Return Me.Apellido End Function Function GetDireccion() As String Return Me.Direccion End Function Function GetTelefono() As Integer Return Me.Telefono End Function Function GetEdad() As Integer Return Me.Edad End Function Function GetCurso() As String Return Me.Curso End Function End Class --------------------------------------------------------------------------------------------------------Public Class Principal

Private Sub BtnMostrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_Mostrar.Click 'Instancia el Objeto Estudiante Dim Usuario As New Estudiante("12345", "Ines", "Garcia", "Uvita", "31256789", "27", "net")

'Creacin de variable para mostrar el dato Dim cod As Integer Dim nom As String Dim ape As String Dim dir As String Dim tel As Integer Dim eda As Integer Dim cur As String 'Se obtiene los datos del objeto estudiante cod = Usuario.GetCodigo()

nom = Usuario.GetNombre() ape = Usuario.GetApellido() dir = Usuario.GetDireccion() tel = Usuario.GetTelefono() eda = Usuario.GetEdad() cur = Usuario.GetCurso() MessageBox.Show("El codigo del estudiante es :" & cod & " Nombre :" & nom & " Apellido :" & ape & " Direccin :" & dir & " Telefono :" & tel & " Edad :" & eda & " Curso :" & cur)

End Sub End Class

REFERENCIAS BIBLIOGRFICAS RODRGUEZ NINO, Maria Consuelo. (2008). Universidad Nacional Abierta y a Distancia - UNAD. Escuela de Ciencias Bsicas, Tecnologa e Ingeniera. Programa de Ingeniera de Sistemas. 405021 Visual Basic Avanzado. Mdulo del Curso. Tunja (Boyac) Colombia. msdn.microsoft.com. (s.f.). Recuperado el 13 de Mayo de 2013, de

http://msdn.microsoft.com: http://msdn.microsoft.com/es-es/library/1ffy6686%28v=vs.85%29.aspx?cs-savelang=1&cs-lang=vb#code-snippet-1

msdn.microsoft.com.

(s.f.).

Recuperado

el

13

de

Mayo

de

2013,

de

http://msdn.microsoft.com: http://msdn.microsoft.com/es-co/library/system.collections.arraylist.removeat.aspx

msdn.microsoft.com.

(s.f.).

Recuperado

el

29

de

Abril

de

2013,

de

http://msdn.microsoft.com:
http://msdn.microsoft.com/es-es/library/1w32446f(v=vs.80).aspx http://msdn.microsoft.com/es-es/library/1w32446f.aspx

msdn.microsoft.com.

(s.f.).

Recuperado

el

06

de

Mayo

de

2013,

de

http://msdn.microsoft.com: http://msdn.microsoft.com/es-es/library/system.array.length.aspx?cs-save-lang=1&cslang=vb#code-snippet-1

msdn.microsoft.com.

(s.f.).

Recuperado

el

07

de

Mayo

de

2013,

de

http://msdn.microsoft.com: http://msdn.microsoft.com/es-co/library/htszx2dy%28v=vs.85%29.aspx

S-ar putea să vă placă și