Wikipedia dichotomie

Résolu/Fermé
uesgui Messages postés 172 Date d'inscription vendredi 29 décembre 2000 Statut Membre Dernière intervention 10 octobre 2012 - 18 déc. 2008 à 18:56
uesgui Messages postés 172 Date d'inscription vendredi 29 décembre 2000 Statut Membre Dernière intervention 10 octobre 2012 - 8 févr. 2009 à 10:59
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 :)

4 réponses

Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 329
19 déc. 2008 à 00:23
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,
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
19 déc. 2008 à 00:31
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...

0
uesgui Messages postés 172 Date d'inscription vendredi 29 décembre 2000 Statut Membre Dernière intervention 10 octobre 2012 20
Modifié par uesgui le 22/02/2011 à 21:08
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.
0
uesgui Messages postés 172 Date d'inscription vendredi 29 décembre 2000 Statut Membre Dernière intervention 10 octobre 2012 20
Modifié par uesgui le 22/02/2011 à 21:08
ok
0