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.

I just made a new Voki. See it here:

lunes, 2 de mayo de 2011

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

martes, 26 de abril de 2011




Ejemplo de algoritmo (Máximo Común Divisor)

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:

lunes, 11 de abril de 2011

ejemplo de algoritmo


Algoritmo

Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quienes deban realizar dicha actividad. En la vida cotidiana se emplean muchos algoritmos para resolver problemas. Algunos ejemplos son los manuales de usuario, que mustra algoritmos para usar un aparato o las instrucciones que recibe un trabajador se su trabajador.