code utilisé: with() , eval() , replace() , \n

Suites récurrentes

On considère une suite définie par son premier terme et une relation du type un+1=f(un). Regardez un exemple en cliquant sur les deux premiers boutons, puis utilisez la fonction f dont vous avez besoin.

le produit se note* et le quotient /, par exemple (3*x+1)/(x+2)

les notations suivantes sont évidentes : cos(x) , sin(x), tan(x), exp(x) , ln(x) et PI.

sqrt(x) désigne la racine carrée de x et pow(x+1,3) représente (x+1)3

La machine

f(x)=
indice du premier terme
valeur du premier terme
calcul jusqu'à l'indice

Le code


function suiterec()
{	var ind=0;
	ind=document.machineSuite.indicepremier.value;
	
	var x=0;
	x=document.machineSuite.u0.value;
	x=parseFloat(x);//pour être sûr qu'il sera traité comme un nombre.
	
	var fonctionRec;
	fonctionRec=document.machineSuite.fonction.value;
	
	var reglog=new RegExp("ln", "g");// expression régulière
	fonctionRec=fonctionRec.replace(reglog,"log");//remplacement
	
	
	document.machineSuite.liste.value="";
	
	var n=0;
	n=document.machineSuite.n.value;
	n=parseInt(n)//pour être sûr qu'il sera traité comme un nombre entier.
	
	
	for(var a=ind; a<=n;a++)
		{
		with(Math)
			{
			document.machineSuite.liste.value +="u"+a +" = "+ x+ "";
			x=eval(fonctionRec);
			}	
		}
}

Commentaire du code

On remplace dans la chaîne décrivant la fonction ln par log car en Javascript, le logarithme népérien est noté comme notre logarithme décimal.

with(Math){ } permet de travailler avec les fonctions mathématiques directement. Si on ne l'avait pas écrit, il aurait fallu écrire, par exemple, Math.cos(x) au lieu de cos(x).

"\n" indique un retour à la ligne.

fonctionRec est la chaîne qui décrit f(x) par exemple cos(x), x est une variable qui contient un nombre et eval(fonctionRec); exécute le code correspondant à la chaîne fonctionRec, c'est-à-dire que cos(x) est remplacé par sa valeur. La chaîne de caractères devient du code.