// Algorithme du tri à bulles
// Il fonctionne avec scilab ; les commandes scilab pour les lycees sont indiquees.
clear
timer() // debut du comptage de temps1
A=input("A="); // A est donne sous la forme [a_1,...,a_n]
Aoriginal=A; // permet de conserver les donnees sous le nom Aoriginal
n=size(A,"c");// taille(A)= commande scilab pour les lycees (?)// n est le nombre de termes de A
  for k=1:(n-1)// pour chaque valeur de k, une manipulation est effectuee
    for j=1:(n-1)// Ceci regle la succession des couples lors d'une manipulation
      if A(1,j)>A(1,j+1) then //traitement de chaque couple par une boucle if
        c=A(1,j);
        A(1,j)=A(1,j+1);
        A(1,j+1)=c;
      end
    end // fin de manipulation
  end // fin des (n-1) manipulations
disp(A) // afficher(A) = commande scilab pour les lycees
temps1=timer()// Temps de calcul du tri en unites CPU (?), facultatif
// Fin de l'algorithme du tri a bulles
//////////////////////////////////////////////////////////////////////////////////////////
// On recommence le tri de Aoriginal avec la fonction pre-programmee ad hoc (sort ou trier)
A=Aoriginal;
A=1-sort(1-A);// faire help sort
// A=trier(A,"<"); // instruction scilab pour les lycees.
disp(A)
// afficher(A) = commande scilab pour les lycees
temps2=timer()// Duree du second tri, facultatif.
//////////////////////////////////////////////////////////////////////////////////////////
// autres commandes utiles pour les questions 4.b et 4.d
// grand(1,300,'uin',213,945) // tirage_entier(1000,213,945) = commande scilab pour les lycees
// grand(1,100000,"def") // tirage_reel(1000,0,1) = commande scilab pour les lycees
