Este documento describe un ejercicio en Visual Basic para crear un programa que calcule el factorial de un número. Incluye instrucciones para diseñar la interfaz gráfica con etiquetas, cuadros de texto y botones. También incluye el código para introducir el número, calcular el factorial mediante un bucle y mostrar el resultado, así como código para inicializar variables y cerrar el programa. Señala que se producirá un error al calcular factoriales grandes debido al tipo de datos integer y cómo cambiarlo a long para permitir números más grandes.
1. EJERCICIO DE VISUAL BASIC
En este ejercicio vamos a crear un programa con Visual Basic, mediante el cual
podamos calcular el factorial de un numero.
Empezaremos diseñando el formulario,
Dibujamos un “Label” y le colocamos las propiedades,
Backcolor color “salmón”
Caption “Calculo del FACTORIAL”
Font Negrita – tamaño “10”
Alineación “Centro”
Continuamos colocando otro “Label” que indicara el concepto del valor a
introducir. Como en la siguiente imagen....
2. Este segundo “Label” tiene las propiedades,
Caption “Introduce un Numero:”
BorderStyle “1.-Fixed Single”
Continuaremos colocando un “TextBox” que es donde el usuario introducirá un
numero al cual le calcularemos el factorial.
3. A este “textbox” tan solo le hemos borrado el contenido en la propiedad “Text”.
Colocaremos ahora los botones de comando “CommandButton” necesarios
para realizar el calculo del factorial y para finalizar la ejecución.
Estos dos botones de comando tan solo tiene la propiedad “Caption” en la que
hemos introducido los textos que vemos en los botones de la imagen anterior.
Y finalmente colocaremos otro “Label” en el cual el programa nos mostrara el
resultado del calculo.
4. Al ultimo label que hemos colocado hemos cambiado el color de fondo
“Backcolor” por amarillo, para resaltar el “label” donde se visualizara el
resultado.
Una vez tenemos el formulario diseñado, procederemos a introducir en los
componentes necesarios el código que ejecutara Visual Basic al producirse un
evento determinado.
En el primer botón de comando “Command1” que es el de “Calculo” en el
evento “Click” tendrá que realizar el calculo del factorial. De forma que
hacemos “2 clics” en el “Command1” y en la pantalla de código introducimos...
Antes de colocar el código en el “Command1”, desde la pantalla de código de
Visual en el apartado “General ----- Declaraciones”, declararemos las dos
variables que utilizaremos en el calculo,
Aquí tanto la “a” como la “b” se han declarado “numéricas enteras”.
Ahora vamos con el código del botón 1,
Private Sub Command1_Click()
For a = Text1.Text To 1 Step -1
b=b*a
Next a
Label3.Caption = b
End Sub
5. En este primer código realizamos un “bucle” donde la variable “a” coge el valor
introducido en “Text1.text” y le ira restando de uno en uno (step-1) hasta llegar
a obtener el valor “1”.
Cada vez que le reste uno a la variable “a”, el valor de esta será multiplicado
por el valor de “b”, (b=b*a), que a su vez almacena el valor de la multiplicación
anterior.
Al finalizar el bucle (o sea que la variable “a” llegue a “1”) saldrá del mismo
(next a) y en el “label3” colocara el valor de “b”.
Para que las multiplicaciones se lleven a cabo de forma correcta, en el evento
“load” del “form1” tendremos que introducir el código ....
Private Sub Form_Load()
b=1
End Sub
de tal forma que la variable “b” se inicializa a “1”, de no ser así el valor por
defecto de “b” seria “0” con lo cual el resultado de las multiplicaciones del bucle
siempre daría “0”.
Finalmente en el “Command2” el botón de salir introduciremos el código ...
Private Sub Command2_Click()
End
End Sub
Ahora realizamos una prueba de ejecución,
6. ATENCION, en el caso de que introduzcamos un valor un poco elevado,
Visual Basic mostrara el siguiente error,
7. Este error indica que el resultado que ha calculado es un numero mayor que el
que admite una variable de tipo “integer” como la variable “a” y “b”. De forma
que este es un error normal en cálculos grandes con variable de poco rango
como la “integer”.
** Si quisiéramos poder calcular números un poco mas grandes, tendríamos
que rectificar en el código la declaración de las variables y definirla como tipo
“long” **
Dim a, b As Long
Con este tipo de variables podemos llegar a calcular el factorial de “12” no mas.
Ahora almacenamos el ejercicio y el formulario.