Sie sind auf Seite 1von 2

Calcular el número factorial de un número natural

J. R. Cerón Goyes – 316023

Se pretende calcular el número factorial de cualquier número natural, que ingrese al programa;
antes que nada creamos dos variables, la primera será “fac” y la segunda es “res”, asignamos los
valores 1 y 0 respectivamente, en el diagrama de flujo se usa la imagen que se muestra en la
figura 1, para almacenar variables y en matlab se usa el “=”.

Figura 1. Figura 2. Figura 3.


Después, pedimos el ingreso del número del cual calcularemos el factorial, el cual se guardara en
una variable “num”, para el diagrama de flujo usamos la imagen que se muestra en la figura 2, y
en matlab usamos la función “input”, nuestro código consta de una especie de filtros; el primer
filtro empezara a distinguir si el número que se ingresó, es mayor o igual a cero, en el diagrama
de flujo usamos la imagen que se muestra en la figura 3 y en matlab usamos “if”, de tal manera
que se introduce una condición, y que al cumplirse esta, seguirá al segundo filtro, sino regresara a
pedir nuevamente un número, y recomendara que sea positivo. Un segundo filtro nos dirá si el
número que se ingreso es cero, usando en el diagrama de flujo otra vez la figura 3, para terminar
el programa, mostrando en pantalla la variable “fac”, como resultado el número factorial será
igual a 1, en el diagrama de flujo se usa el símbolo que se muestra en la figura 4, el texto entre
comillas simples, se pone coma y por último la variable que se quiere mostrar, en matlab se usa la
función “disp(fac)”, para decirle al programa que nos muestre en pantalla el valor que la variable
tiene en ese momento.

Figura 4. Figura 5. Figura 6.


Si el número no es igual a cero, pasa al tercer filtro, en donde se divide el numero entre 1, y el
residuo de esa división se almacena en la variable “res”, con ayuda de la función “mod”, en el
diagrama de flujo podemos representar ese proceso con un “rectángulo” como se muestra en la
figura 5, en matlab escribimos “res=mod(num,1)”, ponemos otra condición en donde se pregunta
si res=0, en el caso de que no sea así, el programa nos pedirá ingresar otro número,
recomendando que sea entero, usamos la figura 4 para representar esto en el diagrama de flujo, y
una flecha volviendo justo antes de la figura 2, en matlab usamos un ciclo “while” de tal manera
que volvamos al inicio. Si el número cumple con que es positivo, diferente de cero y entero,
entonces se usa el último filtro, en donde usaremos la figura 6 para el diagrama de flujo, con una
condición que se repite hasta que el contador en este caso “i” sea mayor que un número en este
caso “num-1”, en otras palabras es un ciclo en el cual nosotros definimos el inicio y el final, en
matlab podemos hacer uso de este con la función “for”, una vez definido el inicio y fin del ciclo,
definimos el proceso que realizara en cada ciclo, como necesitamos hallar el número factorial del
número ingresado, podemos decir que “fac=fac*(num-i)”, de esta manera el ciclo nos calcularía
el factorial de un número, para después salir del ciclo y mostrar la variable fac en pantalla,
usando la figura 4 en el diagrama de flujo y la función “disp” en matlab. Entonces la prueba de
escritorio la haremos con el número 4, num=4, es positivo, diferente de cero y entero, en el
último filtro, en el primer ciclo, cuando i=0, pasa por la condición y pregunta i>=3, como no se
cumple esta condición realiza la multiplicación fac=fac*(num-i), el nuevo valor de fac=4, en el
segundo ciclo, i=1, pasa por la condición y pregunta i>=3, como no se cumples realiza la
multiplicación fac=fac*(num-i), pero el nuevo valor de fac=4, por lo que cuando realiza la
multiplicación fac=12, en el tercer ciclo, i=2, pasa por la condición y pregunta i>=3, como no se
cumple realiza la multiplicación fac=fac*(num-i), el nuevo valor de fac=36, en el cuarto ciclo
i=3, pasa por la condición y pregunta i>=3, como se cumple esta vez, el programa se sale del
ciclo, imprimiendo en pantalla la variable fac=36 que corresponde al número factorial de 4.