Está en la página 1de 17

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 System.Object, ByVal e As System.EventArgs) For i = 0 To 1 For j = 0 To 3 TextBox1.Text = TextBox1.Text & matriz(i, j) & Escribiendo en el TextBox Next TextBox1.Text = TextBox1.Text & 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. DataGridView1.Columns.Add("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. DataGridView1.Rows.Add() 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 System.Object, ByVal e As System.EventArgs) For j = 0 To 3 DataGridView1.Columns.Add("cesar", "COL " & j) Creamos primero el Next DataGridView DataGridView1.Rows.Add() For i = 0 To 1 For j = 0 To 3 Insertamos cada dato de la matriz DataGridView1.Rows(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 System.Object, ByVal e As System.EventArgs)

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() Label1.Text = 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 System.Object, ByVal e As System.EventArgs) MostrarNumero1(X ) Label1.Text = X Imprime : 1, Variable no alterada. End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) MostrarNumero2(Y) Imprime : 2, Variable alterada. Label1.Text = 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