Arreglos, Procedimientos y Funciones
-
Upload
cesar-david-fernandez-grueso -
Category
Documents
-
view
34.880 -
download
1
description
Transcript of 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
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
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.
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
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
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
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
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
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
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
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.
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
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
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.
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
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
MUCHAS GRACIASPROXIMAMENTE PROGRAMACION ORIENTADA A OBJETOS
INQUIETUDES O DUDAS ?
Ing. Cesar David Fernández Grueso.
CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL
SENA REGIONAL CAUCA