A voir également:
- Exercice en algorithmique d'approximation
- Fleur d'encre 5eme corrigé exercice ✓ - Forum PDF
- Comment trouver la correction d'un exercice ✓ - Forum Programmation
- Algorithme boucle pour exercice corrigé ✓ - Forum Algorithmes / Méthodes
- Exercice java orienté objet corrigé ✓ - Forum Java
- Exercice d'expression écrite cm2 gratuit - Télécharger - Éducatifs
5 réponses
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 004
27 avril 2009 à 16:40
27 avril 2009 à 16:40
La plupart des approximations utilisées en algorithmique sont liées au concept mathématiques de série, et nottament de série entière.
Quelques exemples avec les développements usuels
On peut grâce à ce "petit" point de théorie faire un certain nombre d'approximation, à condition que tu saches faire des sommes, des calculs de puissances, et des factorielles (le tout combiné) dans le langage de programmation que tu utilises (ps. ce serait bien de préciser lequel c'est)
Quelques exemples avec les développements usuels
On peut grâce à ce "petit" point de théorie faire un certain nombre d'approximation, à condition que tu saches faire des sommes, des calculs de puissances, et des factorielles (le tout combiné) dans le langage de programmation que tu utilises (ps. ce serait bien de préciser lequel c'est)
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 004
27 avril 2009 à 17:10
27 avril 2009 à 17:10
Dans les exemples si tu prends la formule 9 tu as une formule pour calculer (1+x)^a pour x sur ]-1;1[
Avec a=1/2 on peut alors calculer racine(1+x) pour x sur ]-1;1[
Et en posant y=x+1 on obtient donc une formule de racine(y) pour y sur ]0;2[
La formule est un algorithme exprimé dans un langage formel (les mathématiques) il s'agit de faire une somme (infinie mais faut s'arrêter un peu avant) où dans chaque terme tu as un produit, une factorielle, et une puissance...
Je ne peux pas te proposer d'algorithme dans ton langage de programmation, parce que... tu n'as pas dit ce que c'était !
Avec a=1/2 on peut alors calculer racine(1+x) pour x sur ]-1;1[
Et en posant y=x+1 on obtient donc une formule de racine(y) pour y sur ]0;2[
La formule est un algorithme exprimé dans un langage formel (les mathématiques) il s'agit de faire une somme (infinie mais faut s'arrêter un peu avant) où dans chaque terme tu as un produit, une factorielle, et une puissance...
Je ne peux pas te proposer d'algorithme dans ton langage de programmation, parce que... tu n'as pas dit ce que c'était !
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 004
27 avril 2009 à 17:29
27 avril 2009 à 17:29
Remarque : pour l'approximation de la racine carré on a l'algorithme de Babylone
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 004
27 avril 2009 à 18:20
27 avril 2009 à 18:20
Voici l'implémentation des deux méthodes (en langage Pascal) :
const epsilon=1E-10;
function racine1(y:real):real; // méthode des développements usuels
var n:integer; x,somme,produit,factorielle,puissance,memoire:real;
begin
x:=y-1;
if abs(x)>=1 then begin
writeln('/!\ le calcul de racine(y) necessite y sur ]0;2[');
readln; halt;
end;
n:=0;
somme:=1;
produit:=1;
factorielle:=1;
puissance:=1;
repeat
memoire:=somme;
n:=n+1;
produit:=produit*(0.5-n+1); // a=0.5
factorielle:=factorielle*n;
puissance:=puissance*x;
somme:=somme+produit*puissance/factorielle;
until abs(somme-memoire)<epsilon;
result:=somme;
end;
function racine2(a:real):real; // algorithme de Babylone
var x,y:real;
begin
if a<=0 then begin
writeln('/!\ le calcul de racine(a) necessite a>0');
readln; halt;
end;
y:=a;
repeat
x:=y; // x <=> x(n)
y:=(x+a/x)/2; // y <=> x(n+1)
until abs(x-y)<epsilon;
result:=y;
end;La deuxième est plus simple mais elle ne s'utilise qu'avec le calcul de la racine alors que la première peut facilement se modifier pour s'adapter à tous les développements usuels
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
27 avril 2009 à 16:57
ce que je cherche par exemple l'algorithme d'approximation de la fonction racine carré de x