Révision du language processing
I) Exemple de l'algorithme de tri par selection
void setup() { //fonction setup qui ne prend aucun paramètre, qui ne renvoie à rien et qui ne s'exécute qu'une seule fois dans le sketch (et qui n'a pas besoin d'être appelée)
int i, j, k, z; //instruction de déclaration de 4 variables entières nommées i,j, k et z (on n'affecte pas de valeur)
int [] tab = new int [16]; //déclaration d'un tableau de valeurs entières nommé « tab » qui pourra contenir 16 valeurs (cases)
for (i = 0; i <= 15; i = i + 1) { //déclaration d'une boucle ayant pour paramètre i qui a pour valeur de départ 0 et peut aller jusqu'à 15 ; on a16 boucles
avec i qui s'incrémente à chaque tour
tab[i] = (int)Math.floor(Math.random() * 1000);//on affecte dans la case i du tableau une valeur entière aléatoire : "affecter à chaque valeur du tableau 16 valeurs entières aléatoires"
}
for (i = 0; i <= 15; i = i + 1) {
print(tab[i] + " "); //affichage sur la console de toutes les valeurs du tableau séparées par un espace
}
System.out.println(); //retour à la ligne ("println" suffit sur Processing)
for (i = 0; i <= 14; i = i + 1) {
k = i;
for (j = i + 1; j <= 15; j = j + 1) {
if (tab[j] <= tab[k]) {//condition : si la valeur de j dans le tableau est inférieure à la valeur de k faire les instructions qui suivent ; ce qui est entre parenthèses correspond à un booléen
k = j;
}
}
z = tab[i] ;
tab[i] = tab[k];
tab[k] = z;
}
for (i = 0; i <= 15; i = i + 1) {
print(tab[i] + " ");
}
System.out.println();
}
II) D'autres mots de vocabulaire
-une ligne de code finie par « ; » est une instruction
-un mot en vert est un des mots clés de Processing
-un mot en orange correspond au type de variable (ex : « int » pour une variable entière)
-un mot en bleu est une fonction (ou méthode) et est toujours suivi de parenthèses (contenant les paramètres)
-un mot en rose est une variable prédéfinie par Processing
-Dans une boucle « for », i est un compteur de boucle
-« (int) » est un cast : il transforme une valeur décimale en valeur entière
-« random » génère un nombre aléatoire en 0 et 1
-« floor » ne conserve que la partie entière de l'argument
-« while » (tant que) est un outil qui gère des boucles mais qui est « dangereux » car il peut faire planter le logiciel : le nombre de tours n'est pas défini ce qui entraîne un risque de boucle sans fin.
-« Pimage » correspond à un objet
-« audioplayer ou minim » sont des classes qui permettent de définir des objets
-Quand une variable est déclarée en dehors des fonctions, elle est utilisable dans tout le programme. C'est une variable globale.
-Un algorithme récursif utilise des fonctions qui s'appellent elles-mêmes.
EX :
void fusion (.......) {
.......................
fusion (.....) ;
.......................
}
-Il existe des combinaison de conditions.
Exemple:
if(((x<b+s)&&(y<b+2+s)&&(tab[x]<tab[y]) | | (y== b+2+s))) {
....
}
Remarque : en JAVA, la première fonction qui s'exécute est le main (équivalent de setup de processing)