lunes, 4 de abril de 2011

Realizar el algoritmo para el cálculo del factorial de un número

Algoritmo en pseudocódigo para el cálculo del factorial de un número

Desarrollar un algoritmo para calcular e imprimir el factorial de un número.


Eg. Se desea programar el siguiente algoritmo:


                5! = 1x2x3x4x5 = 120
                4! = 1x2x3x4 = 24
                3! = 1x2x3 = 6
                2! = 1x2 = 1
                1! = 1
                0! = 1


1) Se debe solicitar al usuario el numero del factorial a calcular. 

En este caso sería "n" que es el número de entrada que es 5.

Luego; la estructura repetitiva está en el cálculo mismo del número. 

2) Para el cálculo de 5! el ciclo se repetirá desde 1 hasta 5 inclusivos.

3) Usaremos una estructura repetitiva automática ya que sabemos el número de veces que se repetirá dicha estructura.



Entrada

numero = 5

-------------------------------------------

Proceso

  1. factorial = 1
  2. si numero >= 1 entonces
  3.    haga desde i=1 hasta numero
  4.       factorial = factorial*i
  5.    fin_desde
  6. sino
  7.    si numero = 0
  8.       factorial = 1
  9.    sino
  10.       imprimir("No se puede calcular factorial; número negativo")
  11.    fin_si  
  12. fin_si
     
------------------------------------------------------------------------------------------------------------------------


Salida

factorial



DESARROLLO DEL ALGORITMO


inicio calculoFactorial
   1:var factorial:real
   2:var numero:real
      3:numero = Leer("Ingrese un número natural")
   4:factorial = 1
   5:si numero >= 1 entonces
      6:haga desde i=1 hasta numero
         7:factorial = factorial*i
      8:fin_desde
   9:sino
      10:si numero = 0
         11:factorial = 1
      12:sino
         13:imprimir("No se puede calcular factorial; número invalido")
      14:fin_si  
   15:fin_si
   16:imprimir"El factorial de: ";  numero  "es: ";  factorial
17:fin calculoFactorial

-------------------------------------------------
Corrida:




(¿1<=3?)
(¿2<=3?)
(¿3<=3?)
(¿4<=3?)
si numero >= 1 entonces
TRUE
True
True
FALSE
haga desde i=1 hasta numero
TRUE



factorial = factorial*i
1*1=1
1*2=2
2*3=6

i = i+1
1+1=2
2+1=3
3+1=4











5 comentarios:

  1. hay algo que no entiendo, en que momento se declara el valor de i por el cual se multiplicara factorial?

    ResponderEliminar
    Respuestas
    1. Saludos: se declara en la línea 3.
      Recuerda que en las estructuras repetitivas las variables incrementables se inicializan cuando escribes la sentencia de la estructura, o mejor dicho cuando se ejecuta dicha sentencia.

      Eliminar
  2. en el proceso no entiendo por que pone eso en las lineas 7 y 8

    ResponderEliminar
    Respuestas
    1. 6:haga desde i=1 hasta numero //Una estructura repetitiva.
      7:factorial = factorial*i //Se realiza el calculo del factorial
      8:fin_desde // fin de la estructura repetitiva.

      Eliminar
  3. muchas gracias amigo, me ayudo mucho sigue así

    ResponderEliminar