Algoritmo factorial VB
Dos algoritmos para encontrar factoriales
Método 1 (bucle de conteo)
Utilice la instrucción For.
Función factorial (n como entero) siempre
En caso de error, GoTo Hander
Atenuar i mientras
Fábrica = 1 p>
Para i = n a 1 Paso -1
Fábrica = Factorial * i
Siguiente i
Salir de la función
Hander:
MsgBox "¡El valor es demasiado grande!", vbExclamation, "Error"
Reanudar siguiente
Finalizar función
Método 2 (recursión)
En pocas palabras, la recursividad es un procedimiento que llama al proceso en sí.
La idea es: n! = n * (n-1)!
Función factorial (n como entero) siempre
En caso de error, Ir a Hander
p>Si n > 0 Entonces
Factorial = n * Factorial(n - 1)
De lo contrario
Factorial = 1 p>
Finalizar si
Salir del sub
Hander:
Msgbox "¡El valor es demasiado grande!",vbExclamation,"Error"
Reanudar siguiente
Finalizar función
Por ejemplo, cuando n=5, el valor de Factorial(5) se convierte en 5 * Factorial(4). Y Factorial (4) puede convertirse en 4 * Factorial (3) ..., y Factorial (2) puede convertirse en 2 * Factorial (1). En este momento, se conoce Factorial (1) = 1 y se llama recursivamente. Detente, el resultado de la ejecución es 5 * 4 * 3 * 2 * 1, ¡que es 5!
Se sigue utilizando una trampa de error (On Error...) en el proceso para evitar que se produzca un error de desbordamiento si el valor es demasiado grande.