programme dicho; type Tab: tableau 1..1000 de entier; fonction cherche(val n, min, max:entier; ref T:Tab): entier; /* position de n si entre min et max; 0 sinon */ var i:entier; debut si max=min alors si T[min]=n alors retourne min sinon retourne 0 finsi sinon si n>T[(min+max)/2] alors retourne cherche(n,(min+max)/2+1,max,T) sinon retourne cherche(n,min,(min+max)/2,T) finsi finsi fin finfonction; var TABLE:Tab; var j:entier; debut pour j allant de 1 a 1000 par pas de 1 faire TABLE[j]:=3*j*j finpour; printf("position de 30000 est %i\n",cherche(30000,1,1000,TABLE)) fin.