Accueil site Tableur Programmation Outils XML Téléchargement Informations



Algorithmique

Avec Algobox

Résolution d'équation 1 
 
Introduction
Initiation
  Généralités
  Première activité
  Calcul d'une racine carrée
  Exemple en géométrie
  Exemple avec Logo
Prolongement
  Symétrie centrale
  Parallélogramme
  Procédures avec Logo
  Récursivité avec Logo
Avec Algobox
  Fraction irréductible
  Fonction monotone
  Résolution d'équation 1
  Résolution d'équation 2
Avec Python
  Environnement
  Autres environnements
  L'essentiel
  Premier exemple
  Addition de fractions
  Cryptographie
  Statistiques / Probabilité
Avec Java
  Environnement
  L'essentiel
  Premier exemple
  Avec des classes
 
Soit f une fonction définie au moins sur l'intervalle [a ; b].
Dans cet intervalle {a ; b], on recherche une solution, si elle existe, de l'équation :
f(x) = 0.

Recherche par balayage
On peut diviser l'intervalle [a ; b] en N intervalles de même longueur et parcourir [a ; b] par pas de longueur ces intervalles en calculant l'image par f de l'extrémité de chacun des N intervalles.


On trouve une solution de l'équation f(x) = 0 dès que la valeur absolue d'une image est plus petite qu'une valeur p donnée (1/10, 1/100, 1/1000 ...). La précision d'une solution dépend de la fonction f, du nombre p ainsi que du nombre N d'intervalles (que l'on peut prendre grand).
Algorithme avec Algobox
Voici un exemple d'algorithme (qui utilise la structure TANT QUE ... FAIRE pour le traitement et une structure SI .. ALORS pour l'affichage) et qui arrête le balayage dès qu'une solution a été trouvée ou que la valeur testée est supérieure à b.
La définition de la fonction doit se faire dans l'onglet Utiliser une fonction numérique en bas de la fenêtre du logiciel en cochant la case Utiliser une fonction.
On écrira l'expression de la fonction en utilisant la syntaxe d'Algobox, par exemple pour définir la fonction f telle que f(x) = x3 + x2 - 3x - 1, on écrira :
pow(x,3)+pow(x,2)-3*x-1.
Le nom de la fonction est F1 et dans le programme, l'image d'un nombre a par la fonction F1 s'écrira : F1(a).


Télécharger le fichier Algobox de ce premier exemple.

Remarques
Dans cet algorithme, si le nombre d'intervalles est trop petit, la précision sera limitée, s'il est trop grand la durée du traitement peut être importante. Ce nombre N d'intervalles peut être fixé dans l'algorithme au lieu de le faire saisir.
Par exemple, avec f(x) = x3 + x2 - 3x - 1 et en prenant le nombre d'intervalles égal à 100000, on peut avoir une solution x0 sur l'intervalle [0 ; 2] telle que |f(x0)| < 0.0001 en quelques secondes. La précision sur la valeur de la solution x0 trouvée est de l'ordre de 0.00001.
Cet algorithme n'est pas très performant. En revanche il ne produit pas d'erreur si la fonction donnée ne s'annule pas sur l'intervalle donné [a ; b].

© Matabu mars 2020 - Tous droits réservés. Limitation à l'usage non commercial, privé ou scolaire.