Estadistica
Por otra parte, la recursividad también puede ser indirecta, si tenemos un procedimiento P que llama a otro Q y éste a su vez llama a P. También en estos casos debe haber una condición de parada.
Existen ciertas estructuras cuya definición es recursiva, talescomo los árboles, y los algoritmos que utilizan árboles suelen ser en general recursivos.
Un ejemplo de programa recursivo en C, el factorial:
int factorial(int n)
{
if (n == 0) return 1;
return n * factorial(n-1);
}
Como se observa, en cada llamada recursiva se reduce el valor de n, llegando el caso en elque n es 0 y no efectúa más llamadas recursivas. Hay que apuntar que el factorial puede obtenerse con facilidad sin necesidad de emplear funciones recursivas, es más, el uso del programa anterior es muy ineficiente, pero es un ejemplo muy claro.
A continuación se expone un ejemplo de programa que utiliza recursión indirecta, y nos dice si un número es par o impar. Al igual que el programa anterior,hay otro método mucho más sencillo de determinar si un número es par o impar, basta con determinar el resto de la división entre dos. Por ejemplo: si hacemos par(2) devuelve 1 (cierto). Si hacemos impar(4) devuelve 0 (falso).
/* declaracion de funciones, para evitar errores */
int par(int n);
int impar(int n);int par(int n)
{
if (n == 0) return 1;
return impar(n-1);
}
int impar(int n)
{
if (n == 0) return 0;
return par(n-1);
}
Poliformismo. (I)
I Capacidad para adoptarvarias formas.
I En entornos de POO se refiere a objetos que pueden tomar
varias formas.
I Los cuales en tiempo de ejecuci´on podr´an conectarse a
objetos de tipos distintos.
I Todo esto controlado por la declaraci´on est´aticaEjemplo de poliformismo en Java y C++ (R-1.0)
Poliformismo. (II)
Poliformismo. (II)
I Entidad poliforma, se conoce as´ı a la entidad que define la
especializaci´on deuna clase, es decir, que agrupa un conjunto
de propiedades comunes a objetos, creando relaciones del tipo
tiene un. (Seg´un Bertrand Meyer )
I Asignaci´on poliforma, sea
p := q
llamaremos asignaci´on poliforma a esta operaci´on cuando el
tipo de origen q es distinto del tipo de p. En el apartado de
implementaci´on se veran ejemplos de estos dos conceptos.Ejemplo de poliformismo en Java yC++ (R-1.0)
Ejemplo de poliformismo con figuras geom´etricas.
Ejemplo de poliformismo con figuras geom´etricas.
Vamos a implementar un ejemplo de poliformismo dado por el
diagrama UML que acompa˜na al documento.Ejemplo de poliformismo en Java y C++ (R-1.0)
Implementaci´on en C++. (I)
Implementaci´on en C++. (I)
Figura.h:
#ifndef FIGURA
#define FIGURA
#include<iostream>
using namespacestd;
class Figura {
public:
//Funcion virtual pura. Devuelve un string que representa al objeto
virtual string imprime() const = 0;
};#endif
ORDENAMIENTO.
Uno de los procedimientos más comunes y útiles en el procesamiento de datos, es la clasificación u ordenación de los mismos. Se considera ordenar al proceso de reorganizar un conjunto dado de objetos en una secuencia determinada....
Regístrate para leer el documento completo.