je viens de faire un petit programme tout bête mais l'affichage final ne correspond pas à ce que je veux.En fait malgré un traitement sur les variables a et b préalablement saisies le programme me retourne mes variables a et b que j'ai rentré au début du programme

saisir ("borne a",a);
saisir ("borne b",b);
saisir ("precision p",p);
tantque b-a>p faire
c:=(a+b)/2;
si (-c^2+5)*(-a^2+5)>=0 alors a:=c sinon b:=c fsi
ftantque;
afficher ((a),(b));
ps : ce programme marche très bien en créant une fonction mais ce n'est pas dans mes objectifs :, je préfère faire simple pour mes élèves de 2nd..D'ailleurs à quoi sert la fonction proc dans le programme ci-dessous ( je me suis inspiré de programmes sans la comprendre

dichotomie:= proc(a,b,p)
local c;
tantque b-a>p faire
c:=(a+b)/2;
si (-c^2+5)*(-a^2+5)>=0 alors a:=c sinon b:=c fsi
ftantque
afficher((a),(b));
end
:;
Merci