EJERCICIO DE VISUAL BASIC

Document Sample
EJERCICIO DE VISUAL BASIC Powered By Docstoc
					Visual Basic por Gustavo Raya                                        Ejercicio 10



                       EJERCICIO 10 DE VISUAL BASIC



En este ejercicio vamos a crear un programa con Visual Basic, mediante el cual
podamos calcular el factorial de un número.


Empezaremos diseñando el formulario,




Dibujamos un “Label” y le colocamos las propiedades:


Backcolor  color “salmón”
Caption  “Cálculo del FACTORIAL”
Font  Negrita – tamaño “10”
Alignment (Alineación)  “Centro”


Continuamos colocando otro “Label”, que indicará el concepto del valor a
introducir. Como en la siguiente imagen....



I.E.S.Valsequillo                                                Dpto. Tecnología
Visual Basic por Gustavo Raya                                     Ejercicio 10




Este segundo “Label” tiene las propiedades…
                    Caption  “Introduce un Número:”
                    BorderStyle  “1.-Fixed Single”
Continuaremos colocando un “TextBox” que es donde el usuario introducirá un
número al cual le calcularemos el factorial.




I.E.S.Valsequillo                                             Dpto. Tecnología
Visual Basic por Gustavo Raya                                               Ejercicio 10


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 cálculo del factorial y para finalizar la ejecución.




Estos dos botones de comando tan solo tienen 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 mostrará el
resultado del cálculo.




I.E.S.Valsequillo                                                       Dpto. Tecnología
Visual Basic por Gustavo Raya                                            Ejercicio 10


Al último Label que hemos colocado le hemos cambiado el color de fondo,
“Backcolor” por amarillo, para resaltar el “Label” donde se visualizará el
resultado.


Una vez tenemos el formulario diseñado, procederemos a introducir en los
componentes del mismo el código que ejecutará Visual Basic al producirse un
evento determinado.




En el primer botón de comando “Command1”, es el de “Cálculo”. En el evento
“Click” tendrá que realizar el cálculo 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 Basic, en el apartado “General ----- Declaraciones”, declararemos las
dos variables que utilizaremos en el cálculo:




Hemos declarado las variables “a” y “b” como “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




I.E.S.Valsequillo                                                    Dpto. Tecnología
Visual Basic por Gustavo Raya                                               Ejercicio 10


En este primer código realizamos un “bucle” donde la variable “a” coge el valor
introducido en “Text1.text” y le irá 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” colocará 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” sería “0”, con lo que 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…




I.E.S.Valsequillo                                                       Dpto. Tecnología
Visual Basic por Gustavo Raya                                    Ejercicio 10




ATENCION, en el caso de que introduzcamos un valor un poco elevado,




Visual Basic mostrará el siguiente error,




I.E.S.Valsequillo                                            Dpto. Tecnología
Visual Basic por Gustavo Raya                                              Ejercicio 10


Este error indica que el resultado que ha calculado es un número 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 variables 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
MÁS.


Para solucionar el problema definitivamente procederemos como sigue:


                        Private Sub Command1_Click()
                                b=1
                                For a = Val(Text1.Text) To 1 Step -1
                                b=b*a
                                Next a
                                Label3.Caption = b
                        End Sub


                        Private Sub Command2_Click()
                                End
                        End Sub


Ahora almacenamos el proyecto y el formulario con la opción que más nos
convenza.




I.E.S.Valsequillo                                                      Dpto. Tecnología