La boucle : while et tantque

### 9.4.25 La boucle : while et tantque

while et tantque permettent de faire plusieurs fois des instructions.
while est suivi d’un booléen mis entre des parenthèses et d’un bloc d’instructions. while permet de faire plusieurs fois ce bloc d’instructions tant que la valeur de ce booléen est vrai.
tantque est suivi d’un booléen, de faire d’instructions puis de ftantque. tantque permet de faire plusieurs fois les instructions situèes entre faire et ftantque tant que la valeur de ce booléen est vrai.
On tape :

    somwhile(eps):={
    local s,j;
    s:=0;
    j:=1;
    while (1/j>=eps){
     s:=s+1/j;
     j:=j+1;
    }
    return s;
    }

Ou on tape :

    somtantque(eps):={
    local s,j;
    s:=0;
    j:=1;
    tantque 1/j>=eps faire
     s:=s+1/j;
     j:=j+1;
    ftantque
    retourne s;
    }

puis :

somwhile(0.2)

ou

somantque(0.2)

On obtient :

137/60

Remarque
On peut aussi écrire un while avec un for :
while (<condition>)<instructions> est équivalent à :
for (;<condition>;)<instructions>
On aurait donc pu écrire :

    somwhilefor(eps):={
    local s,j;
    s:=0;
    j:=1;
    for (;1/j>=eps;){
     s:=s+1/j;
     j:=j+1;
    }
    return s;
    }

ou encore

    somforwhile(eps):={
    local s,j;
    s:=0;
    for (j:=1;1/j>=eps;j++){
     s:=s+1/j;
    }
    return s;
    }

On tape :

somwhile(0.1);somforwhile(0.1);somwhilefor(0.1)

On obtient :

7129/2520,7129/2520,7129/2520