Você está na página 1de 4

Leccion 4 Recursividad

Definición:

Capacidad que tiene los métodos de invocarse a si mismos, esta es una potente herramienta en la
informática.

Con esta herramienta muchos algoritmos pueden simplificarse significativamente.

Programa:

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <iomanip.h>

#include <iostream.h>

class Matematicas

public:

void Tablas(int T,int B)

if(B<11)

cout<<T<<" X "<<setw(2)<<B<<" = "<<(T*B)<<endl;

Tablas(T,B+1);

return;

long Factorial(long n)

if(n<=1)

ESTRUCTURAS DE DATOS – LECCION 4 RECURSIVIDAD Pá gina 1


return 1;

else

return (n* Factorial(n - 1));

void Formula(int X)

if(X<11)

cout<<"f("<<X<<") = "<<((X*X*X)+(2*X)+(3))<<endl;

Formula(X+1);

return;

void Torres(int N,char Inicio,char Aux,char Fin)

if(N==1)

cout<<Inicio<<" --> "<<Fin<<endl;

return;

Torres(N-1,Inicio,Fin,Aux);

cout<<Inicio<<" --> "<<Fin<<endl;

Torres(N-1,Aux,Inicio,Fin);

return;

}tec;

main()

ESTRUCTURAS DE DATOS – LECCION 4 RECURSIVIDAD Pá gina 2


int t,b,op=0;

while(op!=5)

clrscr();

cout<<"\n1) Tablas de Multiplicar\n2) Factorial de un Numero\n";

cout<<"3) Formula Lineal\n4) Torres de Hanoi\n5) Salida"<<endl;

gotoxy(1,1);

cout<<"Que deseas hacer: ";

cin>>op;

clrscr();

switch(op)

case 1:

cout<<"Que Tabla de Multiplicar deseas Imprimir?"<<endl;

cin>>t;

cout<<"Desde que Numero deseas empezar a multiplicar (Menor que 10)"<<endl;

cin>>b;

tec.Tablas(t,b);

break;

case 2:

cout<<"Que Factorial deseas conocer"<<endl;

cin>>t;

cout<<t<<"! = "<<tec.Factorial(t)<<endl;

break;

case 3:

cout<<"f(x) = x^3 + 2x + 3"<<endl;

cout<<"Escribe la Base (Menor de 10)"<<endl;

cin>>t;

tec.Formula(t);

ESTRUCTURAS DE DATOS – LECCION 4 RECURSIVIDAD Pá gina 3


break;

case 4:

cout<<"Cuantos discos deseas mover?"<<endl;

cin>>t;

tec.Torres(t,'A','B','C');

break;

case 5:

cout<<"Salida...";

break;

default:

cout<<"Opcion Erronea...";

break;

getch();

ESTRUCTURAS DE DATOS – LECCION 4 RECURSIVIDAD Pá gina 4

Você também pode gostar