Adapter un programme de dichotomie AlgoBox
Posted: 18 Nov 2012, 19:07
Bonjour à tous !
Étudiant actuellement en classe la dichotomie, j'ai essayé de créer un programme - plus complet que celui proposé sur Ti-Planet - afin de le partager avec la communauté.
1ère étape : Mise en place de l'algorithme dans Algobox - pas de soucis à noter. Le programme vise à déterminer une solution unique (f(x)=k), avec k, qui peut être égal 0 ou à un autre nombre.
Note : Le programme de dichotomie proposé sur Ti-planet ne permet le calcul qu'avec k=0, voilà pourquoi je souhaite créer un programme remplissant cette fonction.
Voici le code sur Algobox :
Variables
a est du type nombre
b est du type nombre
k est du type nombre
n est du type nombre
c est du type nombre
d est du type nombre
e est du type nombre
Début algorithme :
Lire a
Lire b
Lire k
Lire n
c prend la valeur F1(a)
Tant que ((b-a)>pow(10,-n)) FAIRE
Début tant que
d prend la valeur (a+b)/2
e prend la valeur F1(d)
Si ((k-e)*(k-c)<0) Alors
Début si
b prend la valeur d
Fin si
Sinon
Début sinon
a prend la valeur d
Fin sinon
Fin tant que
Afficher a
Pause
Afficher b
Bref, le programme fonctionne bien sur Algobox.
Exemple : je souhaite calculer la valeur de alpha lorsque f(x)=x^3+x=4 sur [1;2]
Ça me donne :
J'entre F1(x)=pow(x,3)+x, l'algorithme se lance puis j'entre les valeurs demandées : 1 en a, 2 en b, 4 en k, 5 en n. n correspond à la précision du calcul.
On obtient alors alpha = 1,37879.
Encore novice en programmation Nspire, quelqu'un pourrait-il m'aider à adapter ce programme ?
Un grand merci pour votre aide !!
Étudiant actuellement en classe la dichotomie, j'ai essayé de créer un programme - plus complet que celui proposé sur Ti-Planet - afin de le partager avec la communauté.
1ère étape : Mise en place de l'algorithme dans Algobox - pas de soucis à noter. Le programme vise à déterminer une solution unique (f(x)=k), avec k, qui peut être égal 0 ou à un autre nombre.
Note : Le programme de dichotomie proposé sur Ti-planet ne permet le calcul qu'avec k=0, voilà pourquoi je souhaite créer un programme remplissant cette fonction.
Voici le code sur Algobox :
Variables
a est du type nombre
b est du type nombre
k est du type nombre
n est du type nombre
c est du type nombre
d est du type nombre
e est du type nombre
Début algorithme :
Lire a
Lire b
Lire k
Lire n
c prend la valeur F1(a)
Tant que ((b-a)>pow(10,-n)) FAIRE
Début tant que
d prend la valeur (a+b)/2
e prend la valeur F1(d)
Si ((k-e)*(k-c)<0) Alors
Début si
b prend la valeur d
Fin si
Sinon
Début sinon
a prend la valeur d
Fin sinon
Fin tant que
Afficher a
Pause
Afficher b
Bref, le programme fonctionne bien sur Algobox.
Exemple : je souhaite calculer la valeur de alpha lorsque f(x)=x^3+x=4 sur [1;2]
Ça me donne :
J'entre F1(x)=pow(x,3)+x, l'algorithme se lance puis j'entre les valeurs demandées : 1 en a, 2 en b, 4 en k, 5 en n. n correspond à la précision du calcul.
On obtient alors alpha = 1,37879.
Encore novice en programmation Nspire, quelqu'un pourrait-il m'aider à adapter ce programme ?
Un grand merci pour votre aide !!