Translate

miércoles, 13 de marzo de 2013

ARREGLOS VISUAL BASIC 2005


En programacion tradicional siempre se manejan dos tipos de arreglos los arreglos tipo listas, vectores o unidimensionales y los arreglos tipo tablas, cuadros, concentrados, matrices o bidimensionales en ambos casos son variables que permiten almacenar un conjunto de datos del mismo tipo a la vez, su diferencia es en la cantidad de columnas que cada uno de estos tipos contiene, como en los siguientes ejemplos:
a) LISTAS
EDAD
18
34
22
15
B) TABLAS
CIA ACME
ING MENS VTAS
(MILES DE $)
…….ENE FEB MAR ABR MAY
SUC A
10
20
30
40
SUC B
50
60
70
80
SUC D
90
100
110
120
Como se observa la diferencia principal entre un arreglo tipo lista y un arreglo tipo tabla son las cantidades de columnas que contienen.

NOTA IMPORTANTE.- LOS CONCEPTOS MANEJADOS AQUI ESTAN ENFOCADOS A LOS SISTEMAS DE INFORMACION CONTABLES FINANCIEROS ADMINISTRATIVOS.
EN ALGEBRA MATRICIAL, SI SON IMPORTANTES LOS CONCEPTOS DE VECTORES Y MATRICES, PERO LAS OPERACIONES Y METODOS SON PRECISAMENTE LOS DEL ALGEBRA MATRICIAL

INTRODUCCION PROGRAMACION ARREGLOS


Uno de los problemas mas comunes en los diversos sistemas de informacion es el tratamiento o procesamiento de una gran volumen de datos o de informacion.
Las variables usadas hasta ahora reciben propiamente el nombre de variables escalares porque solo permiten almacenar o procesar un dato a la vez.
Por ejemplo si se quiere almacenar nombre y edad de 15 personas con el metodo tradicional se ocuparan 30 variables y solo es nombre y edad de 15 personas, agreguen mas datos y mas personas y ya es tiempo de empezar a analizar otro tipo de variables.
Es decir, en problemas que exigen manejar mucha informacion o datos a la vez, variables escalares no son suficientes ya que su principal problema es que solo permiten almacenar y procesar un dato a la vez.
Se ocupan entonces variables que sean capaces de almacenar y manipular conjuntos de datos a la vez.
Variables de tipo arreglo si permiten almacenar y procesar conjuntos de datos del mismo tipo a la vez.
Cada dato dentro del arreglo se le conoce como elemento del arreglo y se simboliza y procesa (captura, operacion, despliegue ) usando el nombre del arreglo respectivo y un subindice indicando la posicion relativa del elemento con respecto a los demas elementos del arreglo, solo recordar que en VISUAL BASIC 2005 la primera posicion, elemento o renglon es el 0 (cero), ej.
NOMBRES
Juan –>nombres(0)
Pedro → nombres(1)
Rosa –> nombres(2)
Jose –> nombres(3)
Sin embargo sus problemas son similares a los de variables normales es decir hay que declararlos, capturarlos, hacer operaciones con ellos, desplegarlos, compararlos, etc.

ARREGLOS COMO PARAMETROS


Para pasar un arreglo completo como parámetro a un procedimiento o a una función solo se manda el nombre del arreglo sin corchetes e índices, en el procedimiento o función que recibe solo se declara un arreglo del mismo tipo y se puede usar el mismo o diferente nombre del arreglo sin corchetes e índices.
Sin embargo es conveniente aclarar, que a diferencia de variables escalares normales visual Basic 2005 no genera una nueva variable en memoria ni tampoco copia los datos al arreglo que recibe, en su lugar visual Basic sigue usando los datos que están en el arreglo original, es por esta razón que cambios que se le hagan a los datos del arreglo que recibe realmente se esta haciendo al arreglo original como lo muestra el siguiente ejemplo:
Prog
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

' creando y cargando una lista local con 5 elementos

Dim lista1() As Integer = {1, 2, 3, 4, 5}

' pasandola a un procedimiento

' observar que se pasa sin paréntesis

Call PROC1(lista1)

' desplegando lista original y observar el resultado

Dim r As Integer

For r = 0 To 4

LISTA.Items.Add(lista1(r))

Next r

End Sub

Sub PROC1(ByVal vector)

' recibiendola con otro nombre y

' sumando a vector + 100

Dim r As Integer

For r = 0 To 4

vector(r) = vector(r) + 100

Next r

End Sub

corrida

Es de recordar que los cambios que le hagan al arreglo dentro del procedimiento se reflejaran en el arreglo original, es por esto que si se quiere modificar un arreglo en un procedimient función no hay necesidad de regresar ningún valor y por tanto no se ocupan funciones.
Solo para los casos que se quiera regresar algun dato especial del arreglo, por ejemplo regresar el primer dato par, o la suma de todos los elementos del arrreglo o el promedio de todos sus elementos, etc etc etc, solo en casos como estos se mandara una arreglo a una función.
TAREA PROGRAMACION VISUAL BASIC 2005
1.- Inicializar 10 edades en el principal(buttonclick) mandar la lista a un procedimiento que la convierte a meses, desplegar en principal.
2.- Capturar un arreglo de 7 ciudades en un primer procedimiento, sortear en un segundo y desplegar en un tercero, la lista original y la lista ordenada.




VISUAL BASIC 2005 FUNCIONES


Una función es un módulo de un programa separado del cuerpo principal que realiza una tarea específica y que puede regresar un valor a la parte principal del programa u otra función o procedimiento que la invoque.
La forma general de una función es:
Function NOMFUNCION(parámetros)
instrucciones
NOMFUNCION = cargarlo porque es quien regresa el dato
End Function
La lista de parámetros formales es una lista de variables separadas por comas (,) que almacenaran los valores que reciba la función estas variables actúan como locales dentro del cuerpo de la función.
Aunque no se ocupen parámetros los paréntesis son requeridos.
Dentro del cuerpo de la función deber haber una instrucción que cargue el NOMFUNCION para regresar el valor, de esta manera se regresan los datos.
Sin embargo es de considerar que NOMFUNCION puede regresar un dato, una variable o una expresión algebraica(no ecuación o formula) como lo muestran los siguientes ejemplos;
a) NOMFUNCION = 3.1416
b) NOMFUNCION = area
c) NOMFUNCION = x + 15 / 2
Recordar además:
a) Una función no se llama usando CALL
b) Cuando se llame a una función deberá haber una variable que reciba el valor que regresara la función, es decir generalmente se llama una función mediante una sentencia de asignación, por ejemplo resultado = función(5, 3.1416)
Prog
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

' creando variable que recibira el valor que

' regrese la función

Dim alfa

'llamando la función y mandandole datos o parámetros

' observar que se llama por igualdad

alfa = FUNCION1(500)

' aunque se puede llamarla directamente

' y cuantas veces sea necesario

Label1.Text = FUNCION1(100) - alfa

End Sub

Function FUNCION1(ByVal varuno As Integer)

' cargando y regresando el nomfuncion

FUNCION1 = 100 + varuno

End Function

Corrida

Es permitido cargar más de un NOMFUNCION en el cuerpo de instrucciones sobre todo en condiciones, pero solo uno de ellos se ejecutara, ejemplo;
if suma >= 10 then
funcion50 = 300
else
funcion50 = 20
end if
EXISTEN 3 CLASES USUALES DE FUNCIONES.
Las primeras son de tipo computacional que son diseñadas para realizar operaciones con los argumentos y regresan un valor basado en el resultado de esa operación.
Las segundas funciones son aquellas que manipulan información y regresan un valor que indican la terminación o la falla de esa manipulación.
Las terceras son aquellas que no regresan ningún valor, es decir son estrictamente procedurales.
Esto quiere decir que en general toda operación o calculo en un programa deberá convertirse a una o muchas funciones y el resto deberán ser procedimientos.
TAREAS PROGRAMACION VISUAL BASIC 2005
1.- Capturar 3 calificaciones y nombre en un procedimiento, calcular promedio en una función, desplegar en otro procedimiento, BUTTONCLICK SOLO ACTIVA EL PRIMER PROCEDIMIENTO
2.- Crear una tabla de multiplicar, captura y control de ciclo en el principal (BUTTONCLICK), operaciones en una función, despliegue en el principal.


VARIABLES LOCALES Y GLOBALES VISUAL BASIC 2005


El lugar donde sea declarada una variable afectara el uso que el programa quiera hacer de esa variable.
Las reglas básicas que determinan como una variable puede ser usada depende de 3 lugares donde se puede declarar una variable.
En primer lugar es dentro de cualquier función o procedimiento a estas se les llama variables locales y solo pueden ser usadas por instrucciones que estén dentro de esa función o procedimiento.
En segundo lugar es como parámetro de una función donde después de haber recibido el valor podrá actuar como variable local en esa función o procedimiento.
En esencia una variable local solo es conocida por el código de esa función o procedimiento y es desconocida por otras funciones o procedimientos.
En tercer lugar es fuera de todas los procedimiento o funciones(que es el caso común de casi todas las variables usadas hasta ahora en los ejemplos y programas hechos) a este tipo de variables se les llama variables globales y pueden ser usadas por cualquier función o procedimiento del programa.
En programación en serio no es acostumbrado usar muchas variables globales por varias razones, una de ellas es que variables globales están vivas todo el tiempo de ejecución del programa y si una global solo la ocupa unos cuantos procedimientos no tiene caso que este viva para todo el resto, otra razón es que es peligroso tener variables globales porque todo el conjunto de procedimiento y funciones que componen un programa tienen acceso o comparten su valor y se corre el riesgo de que inadvertidamente alguno de ellos modifique su valor.
Prog
' creando y cargando una var global

Dim varglobaluno = 50

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

' creando, cagando y mandando una var local

Dim varlocaldos = 20

Call PROC1(varlocaldos)

End Sub

Sub PROC1(ByVal varlocaltres As Single)

'aqui se puede usar varglobaluno por ser global

'y varlocaltres por ser local pero no se puede usar varlocaldos

Label1.Text = varglobaluno + varlocaltres

End Sub

corrida :

TAREAS PROGRAMACION VISUAL BASIC 2005
1.- BOLETA DE CALIFICACIONES Y SOLO USAR DOS VARIABLES GLOBALES
2.- UNA TABLA DE MULTIPLICAR Y SOLO USAR UNA VARIABLE GLOBAL


VISUAL BASIC 2005 PARAMETROS


Un parámetro es una variable que puede pasar su valor a un procedimiento desde el principal o desde otro procedimiento.
Existen ocasiones en que es necesario mandar al procedimiento ciertos valores para que los use en algún proceso.
Estos valores que se pasan del cuerpo principal del programa o de un procedimiento a otros procedimientos se llaman parámetros.
Entonces la declaración completa de un procedimiento es:
SUB NOMPROC(lista de parametros)
cuerpo de instrucciones
END SUB
Donde lista de parámetros es una o más variables separadas por comas como lo muestra el programa ejemplo.
Prog
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim nom As String

nom = "pepe"

'se puede mandar como parámetro un dato, variable

'o expression algebraica

Call PROC1(3.75, nom, 4 + 8)

End Sub

Sub PROC1(ByVal deci As Single, ByVal nom As String, ByVal suma As Integer)

' pero siempre se recibe en una variable

Label2.Text = EDAD.Text + deci + suma

Label3.Text = nom

End Sub

Observar que en el procedimiento los parámetros crean dos variables de manera local, es decir variables que solo se pueden usar dentro del procedimiento estas variables son quienes reciben los datos o valores.
REGLAS PARA EL USO DE PARAMETROS :
1.- Cuando se usan variables como parámetros la variable que se manda debe ser declarada dentro del principal o del procedimiento de donde se esta enviando.
2.- La variable que se manda tiene un nombre, la que se recibe puede tener otro nombre o el mismo nombre por claridad de programa, pero recordar que internamente en la memoria del computador existirán dos variables diferentes.
3.- La cantidad de variables que se envían deben ser igual en cantidad, orden y tipo a las variables que reciben.
4.- La variable que se recibe tiene un ámbito local dentro del procedimiento, es decir solo la puede usar ese procedimiento.
5.- Se puede mandar a un procedimiento un dato, una variable (como lo muestran los ejemplos) o una expresión algebraica (no ecuación o formula) pero siempre se deberán recibir en una variable.
Corrida
image398.jpg
TAREAS PROGRAMACION VISUAL BASIC 2005
1.- En una VENTANA recoger 3 calificaciones en el onclick, calcular promedio en procedimiento uno y desplegar nombre y promedio en un segundo procedimiento
2,- Construir una tabla de multiplicar que el usuario indique, captura y control de ciclo en button_click, calculo y despliegue en un procedimiento usar un solo listbox para la tabla resultado.
3.- Construir un procedimiento que reciba un número entero y que mande llamar a un segundo procedimiento pasando el letrero “PAR O IMPAR”

PROCEDIMIENTOS O SUBRUTINAS


Recordar que un objeto presenta tres aspectos, propiedades, métodos y eventos, en esta unidad se analizan algunos elementos que intervienen en la definición de un método.
Estamos hablando de los llamados procedimientos y funciones, que quede claro que procedimientos y funciones son solo algunos aspectos (importantes) de la definición de un método, pero que existen elementos tan o mas importantes que los analizados en esta unidad.
Un procedimiento es un grupo de instrucciones, variables, constantes, etc, que están diseñados con un propósito particular y tiene su nombre propio.
Es decir un procedimiento es un modulo de un programa que realiza tareas especificas y que no puede regresar valores al programa principal u a otro procedimiento que lo esté invocando.
Después de escribir un procedimiento se usara su propio nombre como una sola instrucción o llamada al procedimiento usando el formato:
CALL NOMPROC()
El formato para construir un procedimiento o subrutina en VISUAL BASIC 2005 es:
Sub NomProc()
Instrucciones
End Sub
Un programa puede tener tantos procedimientos o subrutinas como se deseen, para hacer una llamada o invocación al procedimiento durante la ejecución de un programa solo se deberá escribir el nombre del procedimiento y los paréntesis en blanco.
Prog
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

' llamando, invocando o activando procedimiento uno

Call PROC1()

End Sub

Sub PROC1()

Label2.Text = EDAD.Text * 12

End Sub

Corrida

Como se observa un procedimiento puede ser un programa completo.
TAREAS PROGRAMACION VISUAL BASIC 2005
Construir TRES PROGRAMAS QUE CONTENGAN LOS PROCEDIMIENTOS ABAJO DEL SUB BUTTONCLICK().
a) Convertir $800.00 Pesos a dólares.
b) Calcular el Área de un triangulo
c) Desplegar una Boleta de calificaciones.