Translate

miércoles, 13 de marzo de 2013

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.

miércoles, 27 de febrero de 2013

Introducción a los objetos en Visual Basic



Un objeto es una estructura que contiene los datos y métodos que manipulan los datos. Casi todas las tareas realizadas en Visual Basic están asociadas con el uso de objetos. Si no tiene experiencia en programación orientada a objetos, los siguientes términos y conceptos le ayudarán a comenzar.

Clases y objetos

Las palabras "clase" y "objeto" se utilizan con tanta frecuencia en la programación orientada a objetos que es fácil confundir los términos. En general, una class es una representación abstracta de algo, mientras que un objeto es un ejemplo utilizable de lo que representa la clase. La única excepción a esta regla la constituyen los miembros de clases compartidas, que pueden utilizarse en instancias de una clase y en variables de objeto declaradas como tipo de la clase.

Campos, propiedades, métodos y eventos

Las clases se componen de campos, propiedades, métodos y eventos. Los campos y propiedades representan información que contiene un objeto. Los campos se parecen a las variables en que se pueden leer y establecer directamente. Por ejemplo, si tiene un objeto denominado "Car", podría almacenar su color en un campo denominado "Color".
Las propiedades se recuperan y establecen como los campos, pero se implementan mediante los procedimientos Get propiedad y Set propiedad, que proporcionan más control sobre la forma en que los valores se establecen o se devuelven. El nivel de direccionamiento indirecto entre el valor que se va a almacenar y los procedimientos que lo utilizan ayuda a aislar los datos y permite validar valores antes de ser asignados o recuperados.
Los métodos representan acciones que un objeto puede realizar. Por ejemplo, un objeto "Car" podría tener los métodos "StartEngine", "Drive" y "Stop". Los métodos se definen agregando procedimientos, ya sean rutinas o funciones Sub, a la clase.
Los eventos son notificaciones que un objeto recibe de, o transmite a, otros objetos o aplicaciones. Los eventos permiten a los objetos realizar acciones siempre que se produce un acontecimiento específico. Un ejemplo de evento para la clase "Car" sería un evento "Check_Engine". Puesto que Microsoft Windows es un sistema controlado por eventos, éstos pueden proceder de otros objetos, aplicaciones o entradas de usuario realizadas al hacer clic con el mouse (ratón) o al presionar teclas.

Encapsulación, herencia y polimorfismo

Los campos, propiedades, métodos y eventos son solamente la mitad de la ecuación de la programación orientada a objetos. Para que la programación orientada a objetos sea auténtica los objetos deben admitir tres cualidades: encapsulación, herencia y polimorfismo.
La encapsulación significa que un grupo de propiedades, métodos y otros miembros relacionados se tratan como si de una sola unidad u objeto se tratase. Los objetos pueden controlar cómo se cambian propiedades o se ejecutan métodos. Por ejemplo, un objeto puede validar valores antes de permitir cambios en la propiedad. La encapsulación, además, facilita la posibilidad de realizar cambios en la implementación pasado algún tiempo, mediante una actividad denominada ocultación de datos que permite ocultar los detalles de implementación de los objetos.
Herencia describe la posibilidad de crear nuevas clases basadas en una clase existente. La nueva clase hereda todas las propiedades, métodos y eventos de la clase base, y puede personalizarse con propiedades y métodos adicionales. Por ejemplo, puede crear una nueva clase denominada "Truck" basada en la clase "Car". La clase "Truck" hereda la propiedad "Color" de la clase "Car" y puede tener propiedades adicionales como "FourWheelDrive".
Polimorfismo significa que puede tener múltiples clases que se pueden utilizar de forma intercambiable, si bien cada clase implementa las mismas propiedades o los mismos métodos de maneras diferentes. El polimorfismo es esencial en la programación orientada a objetos puesto que permite utilizar elementos con los mismos nombres, independientemente del tipo de objeto que se esté utilizando en ese momento. Por ejemplo, dada una clase base "Car", el polimorfismo permite al programador definir diferentes métodos "StartEngine" para cualquier número de clases derivadas. El método "StartEngine" de una clase derivada denominada "DieselCar" puede ser totalmente diferente del método con el mismo nombre en la clase base. Otros procedimientos o métodos pueden utilizar el método "StartEngine" de las clases derivadas exactamente de la misma forma, con independencia del tipo de objeto "Car" que se esté utilizando en ese momento.

Sobrecarga, reemplazo y sombreado

La sobrecarga, el reemplazo y el sombreado son conceptos similares que pueden confundirse fácilmente. Aunque las tres técnicas permiten crear miembros con el mismo nombre, existen algunas diferencias importantes.
  • Los miembros sobrecargados se utilizan para proporcionar diferentes versiones de una propiedad o método que tienen el mismo nombre, pero que aceptan un número diferente de parámetros, o parámetros con diferentes tipos de datos.
  • Las propiedades y métodos reemplazados se utilizan para reemplazar una propiedad o método heredados que no son apropiados en una clase derivada. Los miembros reemplazados deben aceptar el mismo tipo de datos y número de argumentos. Las clases derivadas heredan los miembros reemplazados.
  • Los miembros sombreados se utilizan para reemplazar localmente un miembro que tiene un ámbito más amplio. Cualquier tipo puede sombrear cualquier otro tipo. Por ejemplo, puede declarar un propiedad que sombree un método heredado con el mismo nombre. Los miembros sombreados no se pueden heredar.