Visual Basic .
NET
Estructuras de Datos Procedimientos 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 SOFTWARE Vigencia 2009 - 2010
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 tamao o numero de elementos y el tipo de dato. Para acceder a cada elemento del arreglo se utiliza un ndice que identifica la posicin de dicho elemento. El primer elemento se identifica con el ndice 0, el segundo elemento con el ndice 1 y as sucesivamente.
0 PARES (5) 40
1 28
2 4
3 16
4 32
5 12
En Visual Basic .NET :
Dim Pares(5) As Integer
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
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 28 2 4 3 16 4 32 5 12
PARES (5)
40
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
ARREGLOS UNIDIMENSIONALES
Para leer el arreglo por teclado usando un InputBox:
For i=0 to 5 Pares( i ) = InputBox(Digite numero par : ) Next
0 PARES (5) 40
1 28
2 4
3 16
4 32
5 12
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
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 PARES (5) 40
1 28
2 4
3 16
4 32
5 12
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
ARREGLOS MULTIDIMENSIONALES
Son aquellos que constan de 2 o mas dimensiones. Los arreglos de 2 dimensiones tambin 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 0 0 FILAS 1 2 3
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
ARREGLOS MULTIDIMENSIONALES
Para almacenar datos en cada elemento de la matriz: Declaramos Matriz: Dim empleados (3,1) As String 0 Almacenamos valores: 1 empleados(0,0) = Cesar"; 2 empleados(0,1) = Lunes"; empleados(1,0) = David"; 3 empleados(1,1) = Martes"; empleados(2,0) = Felipe"; Cesar empleados(2,1) = Mircoles"; empleados(3,0) = Carlos"; David empleados(3,1) = Jueves";
Lunes Martes Mircoles Jueves
Felipe
Carlos
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
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 informacin: ) Next Next 0 1
0
1 2 3
Cesar David Felipe Carlos
Lunes Martes Mircoles Jueves
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
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 0 1
0
1 2 3
Cesar David Felipe Carlos
Lunes Martes Mircoles Jueves
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
ARREGLOS MULTIDIMENSIONALES
Para imprimir una matriz usando un TextBox Multiline:
Public Class Form1 Dim matriz(,) As Integer = {{1, 2, 3, 4}, {5, 6, 7, 8}} Inicializacion del arreglo bidimensional Private Sub Button1_Click(ByVal sender As [Link], ByVal e As [Link]) For i = 0 To 1 For j = 0 To 3 [Link] = [Link] & matriz(i, j) & Escribiendo en el TextBox Next [Link] = [Link] & vbCrLf vbCrLf SALTO DE LINEA Next End Sub End Class
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
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.
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
DATAGRIDVIEW
Las columnas y las filas del DataGridView se pueden crear en tiempo de ejecucin de esta manera:
For j = 1 To 4 Este ciclo crea 4 columnas con la propiedad Name = cesar y como cabecera de cada columna: DAVID. [Link]("cesar", "DAVID") Next For i = 1 To 3 Este ciclo adiciona 3 filas mas a partir de la primera fila creada automticamente despus de haber creado las 4 columnas. [Link]() Next
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
DATAGRIDVIEW
Desplegar una matriz a travs de un DataGridView:
Public Class Form1 Dim matriz(,) As Integer = {{1, 2, 3, 4}, {5, 6, 7, 8}} Private Sub Button1_Click(ByVal sender As [Link], ByVal e As [Link]) For j = 0 To 3 [Link]("cesar", "COL " & j) Creamos primero el Next DataGridView [Link]() For i = 0 To 1 For j = 0 To 3 Insertamos cada dato de la matriz [Link](i).Cells(j).Value = matriz(i, j) en la celda correspondiente Next Next End Sub End Class
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
PROCEDIMIENTOS
Los procedimientos son instrucciones que encapsulan un conjunto de lneas de cdigo para ser invocadas las veces que se requieran durante la ejecucin del programa. Los procedimientos NO devuelven ningn valor. Los procedimientos se identifican con la expresin reservada : Sub. Por ejemplo los controladores de eventos son procedimientos ya que estn precedidos por la expresin Sub y se ejecutan en respuesta a un evento. A su vez, no devuelven ningn valor. Ej. Private Sub Button1_Click(ByVal sender As [Link], ByVal e As [Link])
Los Procedimientos requieren a veces de argumentos o parmetros con los cuales realizan los correspondientes procesos de ejecucin. Estos van encerrados en parntesis. Un procedimiento se invoca con sus propios parmetros. Adems, un procedimiento puede ser invocado dese otro procedimiento. Procedimiento Main sin parmetros. Sub Main()
MostrarNumero ( 1 ) End Sub Sub MostrarNumero (ByVal Valor As Integer) Valor = Valor + 1 MsgBox(El resultado es: & Valor) End Sub
Invocando procedimiento con su respectivo parmetro
Procedimiento MostrarNumero con su parmetro Valor de tipo entero.
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
FUNCIONES
Las Funciones son instrucciones que encapsulan un conjunto de lneas de cdigo para ser invocadas las veces que se requieran durante la ejecucin del programa. Los procedimientos SI devuelven un valor y por lo tanto deben declararse como las variables. Las funciones se identifican con la expresin reservada : Function. Por ejemplo: MsgBox es una funcion por que devuelve un objeto de tipo: MsgBoxResult. Un ejemplo de una funcin construida por el usuario: Function SumaValores(ByVal X As Integer, ByVal Y As Integer) As Integer
Las funciones requieren de argumentos o parmetros con los cuales realizan los correspondientes procesos de ejecucin. Estos van encerrados en parntesis. Una funcion se invoca con sus propios parmetros. Adems, una funcion puede ser invocada dese otra funcin o procedimiento.
Sub Main() [Link] = SumaValores (100, 200) End Sub
Invocando la funcin SumaValores con sus parmetros y entregndole la respuesta a un objeto Label.
Function SumaValores ( ByVal X As Integer, ByVal Y As Integer) As Integer SumaValores = X + Y End Function
Declarando Funcin
Parmetro X
Parmetro Y
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
PARAMETROS O ARGUMENTOS
Los argumentos pueden ser pasados por valor o por referencia.
POR VALOR: Cuando se invoca un procedimiento o funcin con una variable esta NO se altera en todo el programa. Expresin : ByVal
POR REFERENCIA: Cuando se invoca un procedimiento o funcin con una variable esta SI se altera en todo el programa. Expresin : ByRef
Dim X As Integer = 1 Dim Y As Integer = 1 Private Sub Button1_Click(ByVal sender As [Link], ByVal e As [Link]) MostrarNumero1(X ) [Link] = X Imprime : 1, Variable no alterada. End Sub Private Sub Button2_Click(ByVal sender As [Link], ByVal e As [Link]) MostrarNumero2(Y) Imprime : 2, Variable alterada. [Link] = Y End Sub Sub MostrarNumero1(ByVal V As Integer) V=V+1 Paso de argumento por VALOR End Sub Sub MostrarNumero2(ByRef R As Integer) R=R+1 Paso de argumento por REFERENCIA End Sub
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
MUCHAS GRACIAS
PROXIMAMENTE PROGRAMACION ORIENTADA A OBJETOS
INQUIETUDES O DUDAS ?
Ing. Cesar David Fernndez Grueso. CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL SENA REGIONAL CAUCA