O con recursión final usando un procedimiento extra: