Recursividad

El programa que se presenta (en Turbo Pascal), determina si un número dado (entero positivo) es par o impar, a través de la técnica de resolución de problemas denominada recursividad.
El ejemplo aprovecha la propiedad: (-1) elevado a la "n" es positivo si "n" es par; negativo si "n" es impar. La llamada "recursiva" en el código es: par:= -1 * par(m-1). Es decir, la función "par" se invoca a sí misma hasta la condición "m=1", en la que deja de invocarse.
De manera muy simple, la recursividad se puede definir como la propiedad que poseen determinadas funciones por la cual pueden llamarse a sí mismas. Existen lenguajes de programación que permiten escribir programas que pueden llamarse a sí mismos, para la resolución de un problema "recursivo". El ejemplo típico es el cálculo del número factorial: n! = n . (n-1) . (n-2) . (n-3)......1 . 0! (por definición 0! = 1).  Se puede observar que la solución de (n-3)! es similar a la de n! (la misma definición), aunque (n-3)! es un problema "más pequeño" que n!. 
El concepto de PILA (stack) está asociado a la implementación de la recursividad en un computador.