17
Visual Basic . NET Estructuras de Datos Procedimientos y Funciones CESAR DAVID FERNANDEZ GRUESO “Un enfoque practico hacia la reusabilidad es instruccionesSENA Regional Cauca CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL TECNICO EN PROGRAMACION DE SOFTWARE Vigencia 2009 - 2010

Arreglos, Procedimientos y Funciones

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Arreglos, Procedimientos y Funciones

Visual Basic . NETEstructuras de Datos

Procedimientos y Funciones

CESAR DAVID FERNANDEZ GRUESO

“Un enfoque practico hacia la reusabilidad es instrucciones”

SENA Regional CaucaCENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL

TECNICO EN PROGRAMACION DE SOFTWARE

Vigencia 2009 - 2010

Page 2: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

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

40 28 4 16 32 12PARES (5)

0 1 2 3 4 5

Page 3: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción 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

40 28 4 16 32 12PARES (5)

0 1 2 3 4 5

Para obtener un valor del arreglo:Dim Par as integerPar = Pares(3)

En la variable Par quedara almacenado el numero 16.

Page 4: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

ARREGLOS UNIDIMENSIONALES

Para leer el arreglo por teclado usando un InputBox:

40 28 4 16 32 12PARES (5)

0 1 2 3 4 5

For i=0 to 5 Pares( i ) = InputBox(“Digite numero par : “)Next

Page 5: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción 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

40 28 4 16 32 12PARES (5)

0 1 2 3 4 5

Imprimiendo el arreglo:

For i=0 to 5 MsgBox( Pares(i) )Next

Page 6: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

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.

10 2

COLUMNAS

FIL

AS

0

1

2

3

Dim Pares (3,2) As Integer

Page 7: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

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";

10

0

1

2

3

Cesar Lunes

David Martes

Felipe Miércoles

Carlos Jueves

Page 8: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción 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 información: “)

Next

Next 10

0

1

2

3

Cesar Lunes

David Martes

Felipe Miércoles

Carlos Jueves

Page 9: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción 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 10

0

1

2

3

Cesar Lunes

David Martes

Felipe Miércoles

Carlos Jueves

Page 10: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción 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

Page 11: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción 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í:

DataGridView 1. Click Aquí

2. Click Aquí

3. Nombre de la columna

4. Click Aquí para

adicionar.

DataGridView con 4 columnas

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.

Page 12: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

DATAGRIDVIEW

Las columnas y las filas del DataGridView se pueden crear en tiempo de ejecución 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 automáticamente después de haber creado las 4 columnas.

DataGridView1.Rows.Add()

Next

Page 13: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

DATAGRIDVIEW

Desplegar una matriz a través 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)

Next

DataGridView1.Rows.Add()

For i = 0 To 1

For j = 0 To 3

DataGridView1.Rows(i).Cells(j).Value = matriz(i, j)

Next

Next

End Sub

End Class

Creamos primero el DataGridView

Insertamos cada dato de la matriz en la celda correspondiente

Page 14: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

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(ByVal sender As System.Object, ByVal e As System.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

Sub MostrarNumero (ByVal Valor As Integer)

Valor = Valor + 1

MsgBox(“El resultado es: “ & Valor)

End Sub

Invocando procedimiento con su respectivo parámetro

Procedimiento MostrarNumero con su parámetro Valor de tipo entero.

Procedimiento Main sin parámetros.

Page 15: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

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:

Function SumaValores(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.

Sub Main()

Label1.Text = SumaValores (100, 200)

End Sub

Function SumaValores ( ByVal X As Integer, ByVal Y As Integer) As Integer

SumaValores = X + Y

End Function

Invocando la función SumaValores con sus parámetros y entregándole

la respuesta a un objeto Label.

Parámetro X Parámetro Y

Declarando Función

Page 16: Arreglos, Procedimientos y Funciones

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción 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 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

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

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

MostrarNumero2(Y)

Label1.Text = Y

End Sub

Sub MostrarNumero1(ByVal V As Integer)

V = V + 1

End Sub

Sub MostrarNumero2(ByRef R As 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

Page 17: Arreglos, Procedimientos y Funciones

MUCHAS GRACIASPROXIMAMENTE PROGRAMACION ORIENTADA A OBJETOS

INQUIETUDES O DUDAS ?

Ing. Cesar David Fernández Grueso.

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL

SENA REGIONAL CAUCA