ErrorDeSintaxis

Pequeños fragmentos de código fuente en distintos lenguajes de programación, agrupados por categorías.

Puedes buscar entre los fuentes existentes, o aportar los tuyos.

Pascal: Factorial (recursivo)

Ejemplo básico de función recursiva: el factorial de un número, usando Pascal

Lenguaje: Pascal (compilador: FreePascal)

Categoría: Básico

(* Fuente procedente de ErrorDeSintaxis.es *)
(* Ejemplo básico de función recursiva: el *)
(*  factorial de un número, usando Pascal *)
(* Lenguaje: Pascal *)
(* Compilador: FreePascal *)
(* Nivel: Básico *)
(* Disponible desde 28/06/2011 *)
(* Aportado por Nacho *)
(* Autor original: Nacho Cabanes *)
(* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=136 *)

 program PruebaDeFactorial;
 
 var numero: integer;
 
 function factorial( num : integer) : integer;
 begin
   if num = 1 then
     factorial := 1        (* Aseguramos que tenga salida siempre *)
   else
     factorial := num * factorial( num-1 );       (* Caso general *)
 
 end;
 
 begin
   writeln( 'Introduce un número entero (no muy grande) ;-) ' );
   readln(numero);
   writeln( 'Su factorial es ', factorial(numero) );
 end.