> n:=2:
 

> plus:=proc(k)
global n;
n:=n+k;
end:
 

> plus(3);
 

5 (1)
 

> plus(3);
 

8 (2)
 

> suivant:=proc(n)
if n=0 then 1
else 1+suivant(n-1)
fi
end:
 

> suivant(50000);
 

Error, (in suivant) too many levels of recursion
 

> suivant_rec:=proc(n,resultat)
if n=0 then resultat
else suivant_rec(n-1,resultat+1)
fi
end:
 

> suivant_total:=proc(n)
suivant_rec(n,1)
end:
 

> suivant_total(50000);
 

50001 (3)
 

> fact:=proc(n) option remember;
if n<0 then 0
elif n=0 then 1
else n*fact(n-1)
fi
end:
 

>
 

> fact(800);
 

77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
77105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881...
(4)
 

>
 

> fact_rec:=proc(n,res)
if n<0 then 0
elif n=0 then res
else fact_rec(n-1,n*res)
fi
end:
 

> fact_total:=proc(n)
fact_rec(n,1)
end:
 

> fact_total(985);
 

44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
44716433446226865297525545123690840313062516942184720734793020717988213792535659683066133512658298481136134459150374810209933236511879382474291093381628925737723417978006830066269937056415667500679564...
(5)
 

>
 

> Im(2+I);
 

1 (6)
 

> partie_entiere_pos:=proc(n)
if n<1 then 0
else 1+partie_entiere_pos(n-1)
fi
end:
 

> partie_entiere_pos(753.20005);
 

753 (7)
 

> partie_entiere:=proc(n)
if n>=0 and n<1 then 0
elif n>=1 then 1+partie_entiere(n-1)
else partie_entiere(n+1)-1
fi
end:
 

>
 

> partie_entiere(45.115648);
 

 

 

 

 

45 (8)
 

> partie_entiere(-45.45343);
 

-46 (9)
 

> spirale_rec:=proc(n,z,liste_point)
if n=0 then liste_point
else spirale_rec(n-1,evalc(z*exp(-I*Pi/4)*sqrt(2)),[op(liste_point),[Re(z),Im(z)]])
fi
end:
 

> spirale:=proc(n)
plot([spirale_rec(n,-I,[])]);
end:
 

> spirale(10);
 

Plot_2d
 

> euler_rec:=proc(f,x,xmax,y,h,liste)
if x>=xmax then liste
else euler_rec(f,x+h,xmax,y+f(y,x)*h,h,[op(liste),[x,y]])
fi
end:
 

>
 

> Euler:=proc(f,xo,xmax,yo,h)
plot([euler_rec(f,xo,xmax,yo,h,[])])
end:
 

> Euler((y,x)->-y,-2,2,1,0.01);
 

Plot_2d
 

>
 

> dicho_rec:=proc(f,a,b,eps)
if b-a<eps then 0.5*(b+a)
 elif f(a)*f(0.5*(b+a))>0 then dicho_rec(f,0.5*(b+a),b,eps)
 else dicho_rec(f,a,0.5*(b+a),eps)
fi
end:   
 

> dicho_rec(x->x^2-2,1.0,2.0,0.00000001);
 

1.414213564 (10)
 

> newton_rec:=proc(f,x,eps)
if evalf(abs(f(x)/D(f)(x)),100)<eps then evalf(x,floor(abs(log[10](eps))))
else newton_rec(f,evalf(x-f(x)/D(f)(x),100),eps)
fi
end:
 

> newton_rec(x->x^2-2,1.0,10.0^(-50));
 

1.4142135623730950488016887242096980785696718753769 (11)
 

> evalf(sqrt(2),50);
 

1.4142135623730950488016887242096980785696718753769 (12)
 

> DL:=proc(f,n)
if n=0 then f(0)
else (D@@n)(f)(0)*x^n/n!+DL(f,n-1)
fi;
end:
 

> DL(x->tan(x),15);
 

`+`(`*`(`/`(929569, 638512875), `*`(`^`(x, 15))), `*`(`/`(21844, 6081075), `*`(`^`(x, 13))), `*`(`/`(1382, 155925), `*`(`^`(x, 11))), `*`(`/`(62, 2835), `*`(`^`(x, 9))), `*`(`/`(17, 315), `*`(`^`(x, 7... (13)
 

> rectangles:=proc(f,a,b,h)
if a>b then 0 else f(a)*h+rectangles(f,a+h,b,h) fi;
end:
 

> 4*rectangles(x->1/(1+x^2),0,1,0.01);
 

3.171575988 (14)
 

>
 

>
 

>