Wikipedia dichotomie

Résolu
Bonsoir,
J'ai trouvé le code pour la dichotomie sur une page de Wikipedia :
https://fr.wikipedia.org/wiki/Dichotomie
MAIS je ne sait pas comment m'en servir je veux dire dans quoi il faut l'entrer.
Dans un logiciel ? Une calculatrice ?
Comment faire ?

Merci de m'aider :)
Configuration: Windows Vista
Internet Explorer 7.0

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonsoir,
    Le "code" qui est présent sur cette page est un algorithme, ce qui signifie que ce n'est pas exploitable directement. L'algorithme, c'est une manière de traduire un programme en français, ou du moins d'expliquer comment trouver les solutions à un problème donné, et qui est sensé être compréhensible par tout le monde.

    Une fois écrit de la sorte, il est très facile de le traduire dans un langage particulier (C, C++, Java, Python, langage compréhensible par ta calculatrice...).

    Bref, pour être utilisable, il te faut encore un petit peu d'efforts.

    Cordialement,
    1. Modérateur
      Si tu as fait du Pascal, la traduction algo->pascal est souvent très naturelle, il suffit parfois de remplacer juste quelques mots.

      Ceci dit, si tu as l'habitude d'un langage particulier, même si tu n'as pas l'habitude de l'algo, tu peux éventuellement retrouver le sens du programme en lisant bien l'algo et le retraduire...

      1. Bonjour
        Merci pour toutes ces explications.
        Je commence tout juste a découvrir la programmation et il me semble que j'ai trouvé un code pour ma dichotomie en pascal mais il ne me donne pas le résultat escompté (celui que je devrai trouver) à 1*10-6 prés voici le code :

        program dichotomie;
        var y:integer;
        function f(var x:real):real;

        begin
        if y=1 then f:=(ln (x))/x+((x*x)-1) /2*(1/x) end;

        procedure verif;
        var a,b,m,ep,va:real;
        i,n:integer;
        r,c:char;
        begin repeat
        writeln('f[x]=ln(x)/x + ((x*x)-1)/2*(1/x)');

        writeln('pour calculer la fonction f[x]=1 donnez l intervalle[a,b]') ;
        write(' a=');
        readln(a);
        write(' b=');
        readln(b);
        begin

        writeln('la fonctin f admet une solution dans [',a,';',b,']');
        write(' ');
        write('entrer le nombre d"iteration n=');
        readln(n);
        m:=(a+b)/2; if f(m)=1 then ep:=m
        else
        begin for i:=1 to n-1 do
        begin if f(m)*f(a)>0 then begin a:=m; m:=(b+m)/2; end
        else m:=(a+m)/2; b:=2*m-a;
        end;
        end; i:=i+1;
        ep:=m;
        writeln(' la valeur pour l"iteration ',n,' est epsilon=',ep);
        write('voulez vous continuer O/N? ');
        readln(r); end;
        until r='N';

        end;

        begin
        writeln(' DICHOTOMIE ');
        writeln(' ');

        writeln(' ');
        verif;

        end.