J´ai fait çà, mais çà marche pas top :
ex: 2² = 9 . .. : (
-----------------------------------------
program puiss;
uses wincrt;
{résultat: élévation à la puissance d´un nombre a par n avec seulement l´opérateur d´addition}
var res : integer; {résultat final}
mult: integer; {résultat intermédiaire, multiplication de a * res avec seulement l´opérateur d´addition}
cpt1 : integer; {compteur de boucles du premier TantQue}
cpt2 : integer; {compteur de boucles du second TantQue}
a : integer; {valeur de a}
n : integer; {valeur de n}
o:integer; {correspond à n-1}

begin
cpt1:=1;
res:=1;
mult:=0;
cpt2:=1;
writeln(´Veuillez saisir la valeur de a: ´);
read(a);
writeln(´Veuillez saisir la valeur de n: ´);
read(n);
while(cpt1<=n)do
begin
while(cpt2<=res)do
begin
mult:=mult+a;
cpt2:=cpt2+1;
end;
res:=res+mult;
cpt1:=cpt1+1;
end;
writeln(´La valeur "a" élevée à la puissance "n" correspond à : ´);
writeln(res);
end.
--------------------------------------
Merci à tous les programmeurs qui pourront m´aider ...