macado
Inscrit le: 08 Fév 2005 Messages: 4
|
Posté le: 15 Mar 2005 11:46 Sujet du message: sortie de boucles |
|
|
On a un problème avec une procédure :
final:=proc(n,X) local i,Y,a,x,h,m,j;
> m:=Id;
> Y:=X; for j from 1 to 18 do
> for i from (n-2) by -1 to 0 do
> if Y=idd() then return inverse (m) else x:=convert(Y,list):
> a:=iquo(op(i+1,x),op(i+2,x)):
> h:=simple(i,a):
> Y:=multiply(h,Y):
> m:=multiply(h,m):end if; end do;
> end do; return inverse (m);
> end proc;
Id est la matrice identité, idd() est le vecteur identité, simple construit une matrice spécifique, Y est un vecteur donné de dimension (n,1).
On a essayé ttes les combinaisons possibles (des whiles, des for, des while dans des for, des if, ...il renvoie qu'il y a une division par 0 (dans iquo) pourtant on a une condition qui devrait l'arrêter avant, non?
Comment stopper la boucle au milieu quand Y=idd()
Merci d'avance!!!  |
|