viernes, 27 de febrero de 2015

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

No hay comentarios:

Publicar un comentario