mi hermanita y yo

mi hermanita y yo

Buscar este blog

lunes, 16 de mayo de 2011


Métodos y Propiedades de Visual Basic

¿Que es una propiedad?

Una propiedad, simplificando para que se entienda, es una información o dato "propio" del objeto; por ejemplo, un "objeto" label tiene una propiedad Caption que le indica lo que tiene que mostrar.
Las propiedades son como variables que le indican al control o formulario y por extensión a todos los objetos, qué mostrar, cómo mostrarse o hacer cualquier otra cosa.

Veamos más ejemplos, así conocerás algunas propiedades "comunes" a la mayoría de controles:

Width Indica el ancho del control. Cambiando el valor de esta propiedad, cambiamos el ancho del control... como es de suponer...
Height El alto del control, si queremos cambiarlo...
Top La posición superior del control. Normalmente hace referencia al control que lo contiene. Un form normal, hará referencia a la posición en la pantalla.
Left La posición izquierda del control. Mismo comentario que para Top
Visible Si se muestra o no
Enabled Si está disponible o no.
Name El nombre del control u objeto.
Tag Para usos "personalizados", es como una especie de variable que tiene cada control, en el que podemos guardar lo que queramos y no afectará al aspecto y/o funcionamiento del control.
Caption Esta no está presente en todos los controles, pero es típico para los botones command y las etiquetas. Sirve para contener el texto a mostrar.
Text Esta tampoco es común a todos los controles, pero también sirve para mostrar texto, aunque normalmente los controles que la tienen suelen permitir que ese texto se modifique, el caso típico son los TextBox.


Los Métodos

Los métodos no son otra cosa que procedimientos (SUB o FUNCTION).
Un método siempre hace algo, a diferencia de las propiedades que, aunque también pueden hacer algo, su papel suele ser parecido a una variable; por ejemplo, si queremos ocultar un formulario, llamamos al método Hide, que queremos mover el formulario, pues usamos Move con los parámetros correspondientes y asunto arreglado.
Es decir, son procedimientos normales y corrientes, pero su comportamiento está relacionado con el objeto, control o formulario, al que pertenece.

Muchas veces a las funciones se las considera propiedades en lugar de métodos, a esta "opinión" no debes darle más importancia de la que tiene y centrarte en lo que realmente te interesa: aprender a usarlas e incluso a crearlas.

Ciclos Repetitivos En Visual Basic

Bucle infinito en programación es aquel ciclo que se repite de forma indefinida ya que su condición para finalizar nunca se cumple.

Por definición un bucle debe contener condiciones que establezcan cuándo empieza y cuándo acaba, de manera que, mientras las condiciones se cumplan, ejecute una secuencia de código de manera repetitiva. En el caso de ciclo infinito, como la condición de finalización no se alcanza, el bucle sigue ejecutando el segmento de código indefinidamente.

Bucle infinito en Visual Basic (While)

 Public function suma2(a, b) As Double
suma2 = a + b
While (suma2 >= 10)
suma2 = suma2 + 1
Wend

Siempre que la suma de a y b sea superior o igual a 10


ejemplo de algoritmo (Suma de dos números)

Algoritmo para calcular la suma de dos números enteros

un algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema y se representan por diagramas de flujo. Un ejemplo clasico de un Algoritmo es una receta de cocina, te dice que tienes que hacer detalladamente y paso por paso. Este problema es de lógica, mi algoritmo es:

1: Inicio
2: declarar variables(x, y, z)
3: darle valor a las variables(x= 2, y=3)
4: sumar variables(x+y=z, z= 2+3)
5: Imprimir resultado(z=5)
6: Fin
Este algoritmo está mas orientado hacia la Programación.

Algoritmo para calcular el máximo común divisor

dados dos números, obtener el máximo número que divida a ambos.
Para ello, lo primero que había que hacer era descomponer cada número en factores primos. Por ejemplo, para calcular el mcd (máximo común divisor) de 756 y 1617:

756 = 7 * 3^3 * 2^2
1617 = 11 * 7^2 * 3

A continuación tomamos los factores comunes elevemos al menos exponente y ese es el mcd; en nuestro ejemplo:

mcd(756,1617) = 7 * 3 = 21

Hacer esto es relativamente sencillo, ahora bien, programarlo ya es otra cosa bien distinta. Lo más complicado sería implementar una función que descomponga un número en sus factores primos.
Se podría hacer, si bien existe un método bastante más sencillo: utilizando el algoritmo de Euclides. ¿En qué consiste? De forma resumida, el pseudocódigo para la función que calcula el mcd quedaría:

function mcd(a, b) {
if (a > b) {
return mcd(a-b, b);
} else if (b > a) {
return mcd(a, b-a);
} else { // a == b
return a;
}
}

Aplicándolo a nuestro ejemplo:

mcd(756,1617) = mcd(756,861) = mcd(756,105) = mcd(651,105) = mcd(546,105) = mcd(441,105) = mcd(336,105) = mcd(231,105) = mcd(126,105) = mcd(21,105) = mcd(21,84) = mcd(21,63) = mcd(21,42) = mcd(21,21) = 21

Por supuesto, este algoritmo es susceptible de ciertas mejoras. Por ejemplo, multiplicar y dividir por 2 es algo sencillo utilizando las operaciones de bits: al desplazar un bit a la izquierda estamos multiplicando por 2 y al desplazarlo a la derecha estamos dividiendo por 2. De esta forma, podríamos ahorrarnos algunos pasos en el ejemplo anterior:

function mcd_mejorado(x, y) {
var mayor = max(x,y);
var menor = min(x,y);
if (mayor > (menor << 1)) {
return mcd_mejorado(mayor - (menor << 1), menor);
} else {
return mcd(mayor,menor); //llamada a la funcion anterior
}
}

Volviendo a nuestro ejemplo:

mcd_mejorado(1617,756) = mcd_mejorado(756,105) = mcd_mejorado(546,105) = mcd_mejorado(336,105) = mcd_mejorado(126,105) = mcd(21,105) = mcd(21,84) = mcd(21,63) = mcd(21,42) = mcd(21,21) = 21

Algoritmo para calcular números primos

Por qué cambiar de algoritmo para calcular los números primos? Pues porque el que hay ahora 2 E NP -1 (2 elevado a un numero primo, al resultado se le resta 1) el resultado que da no se sabe si es primo y hay que comprobarlo, con mi algoritmo no hay que preocuparse de si es o no primo porque (al menos teoricamente) ya he probado que siempre da números primos.

La lista tendrá este formato:

ejemplo de algoritmo (Suma de dos números)

Algoritmo para calcular la suma de dos números enteros

un algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema y se representan por diagramas de flujo. Un ejemplo clasico de un Algoritmo es una receta de cocina, te dice que tienes que hacer detalladamente y paso por paso. Este problema es de lógica, mi algoritmo es:

1: Inicio
2: declarar variables(x, y, z)
3: darle valor a las variables(x= 2, y=3)
4: sumar variables(x+y=z, z= 2+3)
5: Imprimir resultado(z=5)
6: Fin
Este algoritmo está mas orientado hacia la Programación.

Algoritmo para calcular el máximo común divisor

dados dos números, obtener el máximo número que divida a ambos.
Para ello, lo primero que había que hacer era descomponer cada número en factores primos. Por ejemplo, para calcular el mcd (máximo común divisor) de 756 y 1617:

756 = 7 * 3^3 * 2^2
1617 = 11 * 7^2 * 3

A continuación tomamos los factores comunes elevemos al menos exponente y ese es el mcd; en nuestro ejemplo:

mcd(756,1617) = 7 * 3 = 21

Hacer esto es relativamente sencillo, ahora bien, programarlo ya es otra cosa bien distinta. Lo más complicado sería implementar una función que descomponga un número en sus factores primos.
Se podría hacer, si bien existe un método bastante más sencillo: utilizando el algoritmo de Euclides. ¿En qué consiste? De forma resumida, el pseudocódigo para la función que calcula el mcd quedaría:

function mcd(a, b) {
if (a > b) {
return mcd(a-b, b);
} else if (b > a) {
return mcd(a, b-a);
} else { // a == b
return a;
}
}

Aplicándolo a nuestro ejemplo:

mcd(756,1617) = mcd(756,861) = mcd(756,105) = mcd(651,105) = mcd(546,105) = mcd(441,105) = mcd(336,105) = mcd(231,105) = mcd(126,105) = mcd(21,105) = mcd(21,84) = mcd(21,63) = mcd(21,42) = mcd(21,21) = 21

Por supuesto, este algoritmo es susceptible de ciertas mejoras. Por ejemplo, multiplicar y dividir por 2 es algo sencillo utilizando las operaciones de bits: al desplazar un bit a la izquierda estamos multiplicando por 2 y al desplazarlo a la derecha estamos dividiendo por 2. De esta forma, podríamos ahorrarnos algunos pasos en el ejemplo anterior:

function mcd_mejorado(x, y) {
var mayor = max(x,y);
var menor = min(x,y);
if (mayor > (menor << 1)) {
return mcd_mejorado(mayor - (menor << 1), menor);
} else {
return mcd(mayor,menor); //llamada a la funcion anterior
}
}

Volviendo a nuestro ejemplo:

mcd_mejorado(1617,756) = mcd_mejorado(756,105) = mcd_mejorado(546,105) = mcd_mejorado(336,105) = mcd_mejorado(126,105) = mcd(21,105) = mcd(21,84) = mcd(21,63) = mcd(21,42) = mcd(21,21) = 21

Algoritmo para calcular números primos

Por qué cambiar de algoritmo para calcular los números primos? Pues porque el que hay ahora 2 E NP -1 (2 elevado a un numero primo, al resultado se le resta 1) el resultado que da no se sabe si es primo y hay que comprobarlo, con mi algoritmo no hay que preocuparse de si es o no primo porque (al menos teoricamente) ya he probado que siempre da números primos.

La lista tendrá este formato:




















Métodos y Propiedades de Visual Basic

¿Que es una propiedad?

Una propiedad, simplificando para que se entienda, es una información o dato "propio" del objeto; por ejemplo, un "objeto" label tiene una propiedad Caption que le indica lo que tiene que mostrar.
Las propiedades son como variables que le indican al control o formulario y por extensión a todos los objetos, qué mostrar, cómo mostrarse o hacer cualquier otra cosa.

Veamos más ejemplos, así conocerás algunas propiedades "comunes" a la mayoría de controles:

Width Indica el ancho del control. Cambiando el valor de esta propiedad, cambiamos el ancho del control... como es de suponer...
Height El alto del control, si queremos cambiarlo...
Top La posición superior del control. Normalmente hace referencia al control que lo contiene. Un form normal, hará referencia a la posición en la pantalla.
Left La posición izquierda del control. Mismo comentario que para Top
Visible Si se muestra o no
Enabled Si está disponible o no.
Name El nombre del control u objeto.
Tag Para usos "personalizados", es como una especie de variable que tiene cada control, en el que podemos guardar lo que queramos y no afectará al aspecto y/o funcionamiento del control.
Caption Esta no está presente en todos los controles, pero es típico para los botones command y las etiquetas. Sirve para contener el texto a mostrar.
Text Esta tampoco es común a todos los controles, pero también sirve para mostrar texto, aunque normalmente los controles que la tienen suelen permitir que ese texto se modifique, el caso típico son los TextBox.


Los Métodos

Los métodos no son otra cosa que procedimientos (SUB o FUNCTION).
Un método siempre hace algo, a diferencia de las propiedades que, aunque también pueden hacer algo, su papel suele ser parecido a una variable; por ejemplo, si queremos ocultar un formulario, llamamos al método Hide, que queremos mover el formulario, pues usamos Move con los parámetros correspondientes y asunto arreglado.
Es decir, son procedimientos normales y corrientes, pero su comportamiento está relacionado con el objeto, control o formulario, al que pertenece.

Muchas veces a las funciones se las considera propiedades en lugar de métodos, a esta "opinión" no debes darle más importancia de la que tiene y centrarte en lo que realmente te interesa: aprender a usarlas e incluso a crearlas.


Ciclos Repetitivos En Visual Basic

Bucle infinito en programación es aquel ciclo que se repite de forma indefinida ya que su condición para finalizar nunca se cumple.

Por definición un bucle debe contener condiciones que establezcan cuándo empieza y cuándo acaba, de manera que, mientras las condiciones se cumplan, ejecute una secuencia de código de manera repetitiva. En el caso de ciclo infinito, como la condición de finalización no se alcanza, el bucle sigue ejecutando el segmento de código indefinidamente.

Bucle infinito en Visual Basic (While)

 Public function suma2(a, b) As Double
suma2 = a + b
While (suma2 >= 10)
suma2 = suma2 + 1
Wend

Siempre que la suma de a y b sea superior o igual a 10

ejemplo de algoritmo (Suma de dos números)

Algoritmo para calcular la suma de dos números enteros

un algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema y se representan por diagramas de flujo. Un ejemplo clasico de un Algoritmo es una receta de cocina, te dice que tienes que hacer detalladamente y paso por paso. Este problema es de lógica, mi algoritmo es:

1: Inicio
2: declarar variables(x, y, z)
3: darle valor a las variables(x= 2, y=3)
4: sumar variables(x+y=z, z= 2+3)
5: Imprimir resultado(z=5)
6: Fin
Este algoritmo está mas orientado hacia la Programación.

Algoritmo para calcular el máximo común divisor

dados dos números, obtener el máximo número que divida a ambos.
Para ello, lo primero que había que hacer era descomponer cada número en factores primos. Por ejemplo, para calcular el mcd (máximo común divisor) de 756 y 1617:

756 = 7 * 3^3 * 2^2
1617 = 11 * 7^2 * 3

A continuación tomamos los factores comunes elevemos al menos exponente y ese es el mcd; en nuestro ejemplo:

mcd(756,1617) = 7 * 3 = 21

Hacer esto es relativamente sencillo, ahora bien, programarlo ya es otra cosa bien distinta. Lo más complicado sería implementar una función que descomponga un número en sus factores primos.
Se podría hacer, si bien existe un método bastante más sencillo: utilizando el algoritmo de Euclides. ¿En qué consiste? De forma resumida, el pseudocódigo para la función que calcula el mcd quedaría:

function mcd(a, b) {
if (a > b) {
return mcd(a-b, b);
} else if (b > a) {
return mcd(a, b-a);
} else { // a == b
return a;
}
}

Aplicándolo a nuestro ejemplo:

mcd(756,1617) = mcd(756,861) = mcd(756,105) = mcd(651,105) = mcd(546,105) = mcd(441,105) = mcd(336,105) = mcd(231,105) = mcd(126,105) = mcd(21,105) = mcd(21,84) = mcd(21,63) = mcd(21,42) = mcd(21,21) = 21

Por supuesto, este algoritmo es susceptible de ciertas mejoras. Por ejemplo, multiplicar y dividir por 2 es algo sencillo utilizando las operaciones de bits: al desplazar un bit a la izquierda estamos multiplicando por 2 y al desplazarlo a la derecha estamos dividiendo por 2. De esta forma, podríamos ahorrarnos algunos pasos en el ejemplo anterior:

function mcd_mejorado(x, y) {
var mayor = max(x,y);
var menor = min(x,y);
if (mayor > (menor << 1)) {
return mcd_mejorado(mayor - (menor << 1), menor);
} else {
return mcd(mayor,menor); //llamada a la funcion anterior
}
}

Volviendo a nuestro ejemplo:

mcd_mejorado(1617,756) = mcd_mejorado(756,105) = mcd_mejorado(546,105) = mcd_mejorado(336,105) = mcd_mejorado(126,105) = mcd(21,105) = mcd(21,84) = mcd(21,63) = mcd(21,42) = mcd(21,21) = 21

Algoritmo para calcular números primos

Por qué cambiar de algoritmo para calcular los números primos? Pues porque el que hay ahora 2 E NP -1 (2 elevado a un numero primo, al resultado se le resta 1) el resultado que da no se sabe si es primo y hay que comprobarlo, con mi algoritmo no hay que preocuparse de si es o no primo porque (al menos teoricamente) ya he probado que siempre da números primos.

La lista tendrá este formato:


Métodos y Propiedades de Visual Basic

¿Que es una propiedad?

Una propiedad, simplificando para que se entienda, es una información o dato "propio" del objeto; por ejemplo, un "objeto" label tiene una propiedad Caption que le indica lo que tiene que mostrar.
Las propiedades son como variables que le indican al control o formulario y por extensión a todos los objetos, qué mostrar, cómo mostrarse o hacer cualquier otra cosa.

Veamos más ejemplos, así conocerás algunas propiedades "comunes" a la mayoría de controles:

Width Indica el ancho del control. Cambiando el valor de esta propiedad, cambiamos el ancho del control... como es de suponer...
Height El alto del control, si queremos cambiarlo...
Top La posición superior del control. Normalmente hace referencia al control que lo contiene. Un form normal, hará referencia a la posición en la pantalla.
Left La posición izquierda del control. Mismo comentario que para Top
Visible Si se muestra o no
Enabled Si está disponible o no.
Name El nombre del control u objeto.
Tag Para usos "personalizados", es como una especie de variable que tiene cada control, en el que podemos guardar lo que queramos y no afectará al aspecto y/o funcionamiento del control.
Caption Esta no está presente en todos los controles, pero es típico para los botones command y las etiquetas. Sirve para contener el texto a mostrar.
Text Esta tampoco es común a todos los controles, pero también sirve para mostrar texto, aunque normalmente los controles que la tienen suelen permitir que ese texto se modifique, el caso típico son los TextBox.


Los Métodos

Los métodos no son otra cosa que procedimientos (SUB o FUNCTION).
Un método siempre hace algo, a diferencia de las propiedades que, aunque también pueden hacer algo, su papel suele ser parecido a una variable; por ejemplo, si queremos ocultar un formulario, llamamos al método Hide, que queremos mover el formulario, pues usamos Move con los parámetros correspondientes y asunto arreglado.
Es decir, son procedimientos normales y corrientes, pero su comportamiento está relacionado con el objeto, control o formulario, al que pertenece.

Muchas veces a las funciones se las considera propiedades en lugar de métodos, a esta "opinión" no debes darle más importancia de la que tiene y centrarte en lo que realmente te interesa: aprender a usarlas e incluso a crearlas.

Ciclos Repetitivos En Visual Basic

Bucle infinito en programación es aquel ciclo que se repite de forma indefinida ya que su condición para finalizar nunca se cumple.

Por definición un bucle debe contener condiciones que establezcan cuándo empieza y cuándo acaba, de manera que, mientras las condiciones se cumplan, ejecute una secuencia de código de manera repetitiva. En el caso de ciclo infinito, como la condición de finalización no se alcanza, el bucle sigue ejecutando el segmento de código indefinidamente.

Bucle infinito en Visual Basic (While)

 Public function suma2(a, b) As Double
suma2 = a + b
While (suma2 >= 10)
suma2 = suma2 + 1
Wend

Siempre que la suma de a y b sea superior o igual a 10

Ciclos Repetitivos En Visual Basic

Bucle infinito en programación es aquel ciclo que se repite de forma indefinida ya que su condición para finalizar nunca se cumple.

Por definición un bucle debe contener condiciones que establezcan cuándo empieza y cuándo acaba, de manera que, mientras las condiciones se cumplan, ejecute una secuencia de código de manera repetitiva. En el caso de ciclo infinito, como la condición de finalización no se alcanza, el bucle sigue ejecutando el segmento de código indefinidamente.

Bucle infinito en Visual Basic (While)

 Public function suma2(a, b) As Double
suma2 = a + b
While (suma2 >= 10)
suma2 = suma2 + 1
Wend

Siempre que la suma de a y b sea superior o igual a 10

Métodos y Propiedades de Visual Basic

¿Que es una propiedad?
Una propiedad, simplificando para que se entienda, es una información o dato "propio" del objeto; por ejemplo, un "objeto" label tiene una propiedad Caption que le indica lo que tiene que mostrar.
Las propiedades son como variables que le indican al control o formulario y por extensión a todos los objetos, qué mostrar, cómo mostrarse o hacer cualquier otra cosa.

Veamos más ejemplos, así conocerás algunas propiedades "comunes" a la mayoría de controles:
Width Indica el ancho del control. Cambiando el valor de esta propiedad, cambiamos el ancho del control... como es de suponer...
Height El alto del control, si queremos cambiarlo...
Top La posición superior del control. Normalmente hace referencia al control que lo contiene. Un form normal, hará referencia a la posición en la pantalla.
Left La posición izquierda del control. Mismo comentario que para Top
Visible Si se muestra o no
Enabled Si está disponible o no.
Name El nombre del control u objeto.
Tag Para usos "personalizados", es como una especie de variable que tiene cada control, en el que podemos guardar lo que queramos y no afectará al aspecto y/o funcionamiento del control.
Caption Esta no está presente en todos los controles, pero es típico para los botones command y las etiquetas. Sirve para contener el texto a mostrar.
Text Esta tampoco es común a todos los controles, pero también sirve para mostrar texto, aunque normalmente los controles que la tienen suelen permitir que ese texto se modifique, el caso típico son los TextBox.


Los Métodos

Los métodos no son otra cosa que procedimientos (SUB o FUNCTION).
Un método siempre hace algo, a diferencia de las propiedades que, aunque también pueden hacer algo, su papel suele ser parecido a una variable; por ejemplo, si queremos ocultar un formulario, llamamos al método Hide, que queremos mover el formulario, pues usamos Move con los parámetros correspondientes y asunto arreglado.
Es decir, son procedimientos normales y corrientes, pero su comportamiento está relacionado con el objeto, control o formulario, al que pertenece.

Muchas veces a las funciones se las considera propiedades en lugar de métodos, a esta "opinión" no debes darle más importancia de la que tiene y centrarte en lo que realmente te interesa: aprender a usarlas e incluso a crearlas.
¿el algoritmo de una suma?
demos descomponer al numero X en la forma xn, x(n-1), ... x2, x1, x0 donde el numero al costado de la x representa el numero de ceros que tiene esta cantidad, es decir hay x0 unidades, x1 decenas, x2 centenas , etc

Por ejemplo si X= 754, x0= 4 x1=5 y x2=7

Una vez entendido eso, si tenemos otro numero para sumar y este es Y, descomponiendolo de la misma manera podemos comenzar a identificar el algoritmo. llamemos ademas al resultado Z

Primero sumamos x0 con y0, esto da dos posibilidades, que sea mayor que 9 o menor o igual que 9. si es menor o igual a 9
z0=x0+y0
si es mayor que 9 entonces z0= x0+y0-10

Luego sumamos x1+y1 si el resultado de la operacion anterior fue menor o igual que nueve, se recurre al mismo analisis que en ese caso para esta suma. en caso contrario analizamos que pasa con x1+y1+1 (por que llevabamos 1).

De aqui en adelante el algoritmos es igual.