1. Visual Basic . NETEstructuras de DatosProcedimientos y Funciones CESAR DAVID FERNANDEZ GRUESO“Un enfoque practico hacia la reusabilidad es instrucciones”SENA Regional Cauca CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL TECNICO EN PROGRAMACION DE SOFTWAREVigencia 2009 - 2010
2. ARREGLOS UNIDIMENSIONALES Un Array(arreglo) o vector es una estructura que permite almacenar un conjunto de elementos o datos de un mismo tipo de datos. Un Arreglo se declara mediante el nombre del arreglo, el tamaño o numero de elementos y el tipo de dato. Para acceder a cada elemento del arreglo se utiliza un índice que identifica la posición de dicho elemento. El primer elemento se identifica con el índice 0, el segundo elemento con el índice 1 y así sucesivamente. En Visual Basic .NET : Dim Pares(5) As Integer 0 1 2 3 4 5 40 28 4 16 32 12 PARES (5)
3. ARREGLOS UNIDIMENSIONALES Para acceder a cada elemento del arreglo y almacenar el respectivo valor, se hace de la siguiente manera: Dim Pares(5) As Integer Pares(0)=40 Pares(1)=28 Pares(2)=4 Pares(3)=16 Pares(4)=32 Pares(5)=12 Para obtener un valor del arreglo: Dim Par as integer Par = Pares(3) En la variable Par quedara almacenado el numero 16. 0 1 2 3 4 5 40 28 4 16 32 12 PARES (5)
4. ARREGLOS UNIDIMENSIONALES Para leer el arreglo por teclado usando un InputBox: For i=0 to 5 Pares( i ) = InputBox(“Digite numero par : “) Next 0 1 2 3 4 5 40 28 4 16 32 12 PARES (5)
5. ARREGLOS UNIDIMENSIONALES Para recorrer todo el arreglo e imprimirlo: Dim Pares(5) As Integer Pares(0)=40 Pares(1)=28 Pares(2)=4 Pares(3)=16 Pares(4)=32 Pares(5)=12 Imprimiendo el arreglo: For i=0 to 5 MsgBox( Pares(i) ) Next 0 1 2 3 4 5 40 28 4 16 32 12 PARES (5)
6. ARREGLOS MULTIDIMENSIONALES Son aquellos que constan de 2 o mas dimensiones. Los arreglos de 2 dimensiones también se conocen con el nombre de matriz, ya que forman una tabla compuesta por filas (Horizontales) y columnas (verticales). Los arreglos de 3 dimensiones forman un cubo. Dim Pares (3,2) As Integer COLUMNAS 1 0 2 0 1 FILAS 2 3
7. ARREGLOS MULTIDIMENSIONALES Para almacenar datos en cada elemento de la matriz: Declaramos Matriz: Dim empleados (3,1) As String Almacenamos valores: empleados(0,0) = “Cesar"; empleados(0,1) = “Lunes"; empleados(1,0) = “David"; empleados(1,1) = “Martes"; empleados(2,0) = “Felipe"; empleados(2,1) = “Miércoles"; empleados(3,0) = “Carlos"; empleados(3,1) = “Jueves"; 1 0 0 1 2 3
8. ARREGLOS MULTIDIMENSIONALES Para llenar matriz desde teclado usando InputBox: Declaramos Matriz: Dim empleados (3,1) As String Almacenamos valores: For fila = 0 To 3 For columna = 0 To 1 empleados(fila,columna) = InputBox(“Digite información: “) Next Next 1 0 0 1 2 3
9. ARREGLOS MULTIDIMENSIONALES Para imprimir matriz usando MsgBox: Declaramos Matriz: Dim empleados (3,1) As String Almacenamos valores: For fila = 0 To 3 For columna = 0 To 1 MsgBox ( empleados(fila,columna) ) Next Next 1 0 0 1 2 3
10. ARREGLOS MULTIDIMENSIONALES Para imprimir una matriz usando un TextBox Multiline: PublicClassForm1 Dim matriz(,) As Integer= {{1, 2, 3, 4}, {5, 6, 7, 8}} ‘ Inicializaciondel arreglo bidimensional PrivateSub Button1_Click(ByVal senderAsSystem.Object, ByVal e AsSystem.EventArgs) For i = 0 To 1 For j = 0 To 3 TextBox1.Text = TextBox1.Text & matriz(i, j) & “ “ ‘ EscribiendoenelTextBox Next TextBox1.Text = TextBox1.Text & vbCrLf‘ vbCrLf SALTO DE LINEA Next End Sub EndClass
11. DATAGRIDVIEW Este objeto o control de interface permite visualizar una consulta o tabla de una Base de Datos. Lo utilizaremos mas adelante para desplegar objetos de bases de datos SQLServer.En este caso utilizaremos este control para mostrar en pantalla los arreglos bidimensionales o matrices. Esta compuesto por columnas y filas logrando una apariencia de hoja de calculo. Al insertar el objeto en el formulario se pueden crear las respectivas columnas así: Observe que cuando se crean las columnas se crea por defecto la primera fila. Cada fila se identifica desde 0 en adelante de igual manera con las columnas. DataGridView 1. Click Aquí 3. Nombre de la columna DataGridView con 4 columnas 2. Click Aquí 4. Click Aquí para adicionar.
12. DATAGRIDVIEW Las columnas y las filas del DataGridView se pueden crear en tiempo de ejecución de esta manera: Forj = 1 To 4 ‘ Este ciclo crea 4 columnas con la propiedad Name = cesar y como cabecera de cada columna: DAVID. DataGridView1.Columns.Add("cesar", "DAVID") Next Fori = 1 To 3 ‘ Este ciclo adiciona 3 filas mas a partir de la primera fila creada automáticamente después de haber creado las 4 columnas. DataGridView1.Rows.Add() Next
13. DATAGRIDVIEW Desplegar una matriz a través de un DataGridView: PublicClassForm1 Dimmatriz(,) As Integer= {{1, 2, 3, 4}, {5, 6, 7, 8}} Private Sub Button1_Click(ByValsenderAsSystem.Object, ByVal e AsSystem.EventArgs) For j = 0 To 3 DataGridView1.Columns.Add("cesar", "COL " & j) Next DataGridView1.Rows.Add() Fori = 0 To 1 For j = 0 To 3 DataGridView1.Rows(i).Cells(j).Value = matriz(i, j) Next Next End Sub EndClass Creamos primero el DataGridView Insertamos cada dato de la matriz en la celda correspondiente
14. PROCEDIMIENTOS Los procedimientos son instrucciones que encapsulan un conjunto de líneas de código para ser invocadas las veces que se requieran durante la ejecución del programa. Los procedimientos NO devuelven ningún valor. Los procedimientos se identifican con la expresión reservada : Sub. Por ejemplo los controladores de eventos son procedimientos ya que están precedidos por la expresión Sub y se ejecutan en respuesta a un evento. A su vez, no devuelven ningún valor. Ej. Private Sub Button1_Click(ByValsenderAsSystem.Object, ByVal e AsSystem.EventArgs) Los Procedimientos requieren a veces de argumentos o parámetros con los cuales realizan los correspondientes procesos de ejecución. Estos van encerrados en paréntesis. Un procedimiento se invoca con sus propios parámetros. Además, un procedimiento puede ser invocado dese otro procedimiento. Sub Main() MostrarNumero ( 1 ) End Sub SubMostrarNumero (ByVal Valor As Integer) Valor = Valor + 1 MsgBox(“El resultado es: “ & Valor) End Sub Procedimiento Main sin parámetros. Invocando procedimiento con su respectivo parámetro Procedimiento MostrarNumero con su parámetro Valor de tipo entero.
15. FUNCIONES Las Funciones son instrucciones que encapsulan un conjunto de líneas de código para ser invocadas las veces que se requieran durante la ejecución del programa. Los procedimientos SI devuelven un valor y por lo tanto deben declararse como las variables. Las funciones se identifican con la expresión reservada : Function. Por ejemplo: MsgBox es una funcion por que devuelve un objeto de tipo: MsgBoxResult. Un ejemplo de una función construida por el usuario: FunctionSumaValores(ByVal X As Integer, ByVal Y As Integer) As Integer Las funciones requieren de argumentos o parámetros con los cuales realizan los correspondientes procesos de ejecución. Estos van encerrados en paréntesis. Una funcion se invoca con sus propios parámetros. Además, una funcion puede ser invocada dese otra función o procedimiento. SubMain() Label1.Text = SumaValores (100, 200) End Sub FunctionSumaValores ( ByVal X As Integer, ByVal Y As Integer) As Integer SumaValores = X + Y EndFunction Invocando la función SumaValorescon sus parámetros y entregándole la respuesta a un objeto Label. Declarando Función Parámetro X Parámetro Y
16. PARAMETROS O ARGUMENTOS Los argumentos pueden ser pasados por valor o por referencia. POR VALOR: Cuando se invoca un procedimiento o función con una variable esta NO se altera en todo el programa. Expresión : ByVal POR REFERENCIA: Cuando se invoca un procedimiento o función con una variable esta SI se altera en todo el programa. Expresión : ByRef DimX As Integer= 1 Dim Y As Integer= 1 Private Sub Button1_Click(ByValsenderAs System.Object, ByVal e AsSystem.EventArgs) MostrarNumero1(X ) Label1.Text = X End Sub Private Sub Button2_Click(ByValsenderAsSystem.Object, ByVal e As System.EventArgs) MostrarNumero2(Y) Label1.Text = Y End Sub Sub MostrarNumero1(ByValVAs Integer) V = V + 1 End Sub Sub MostrarNumero2(ByRefRAs Integer) R = R + 1 End Sub Imprime : 1, Variable no alterada. Imprime : 2, Variable alterada. Paso de argumento por VALOR Paso de argumento por REFERENCIA
17. MUCHAS GRACIASPROXIMAMENTE PROGRAMACION ORIENTADA A OBJETOS INQUIETUDES O DUDAS ? Ing. Cesar David Fernández Grueso. CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL SENA REGIONAL CAUCA