Documente Academic
Documente Profesional
Documente Cultură
NET
Estructuras de Datos Procedimientos y Funciones
CESAR DAVID FERNANDEZ GRUESO
Un enfoque practico hacia la reusabilidad es instrucciones
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
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:
Para obtener un valor del arreglo: Dim Par as integer Par = Pares(3)
PARES (5)
40
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
ARREGLOS UNIDIMENSIONALES
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
Imprimiendo el arreglo:
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.
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";
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
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
Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca
ARREGLOS MULTIDIMENSIONALES
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
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
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
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
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