Les tests : si ... alors ... sinon

L'un des piliers de tout programme informatique, ce sont les tests; On doit pouvoir vérifier qu'une condition est ou pas réalisée, et agir

  • Si la concentration de CO (monoxyde de carbone) détectée par un capteur dépasse une limite, on déclenche une alerte
  • Lors d'un retrait bancaire, si le compte est créditeur d'un montant supérieur à la demande de retrait, on autorise le retrait. Sinon, on informe le titulaire du compte qu'il ne dispose pas de la somme suffisante
  • Lors de l'achat d'un bien sur un site marchand, l'achat est validé si l'internaute a bien coché la case " j'accepte les conditions générale de vente ".
Ce sont tous ces tests qui sont autant de "décisions" que prend le programme et qui passerait parfois (lorsque les décisions sont complexes) pour un certaine forme d'intelligence.

La syntaxe

La forme la plus simple d'un test est la suivante :

if (condition) {
  instructions ...
}
Si la condition est vraie (par exemple il y a assez d'argent sur le compte bancaire), alors on effectue les instructions. Une forme plus étendue est la forme suivante :
if (condition) {
  instructions1 ...
} else {
  instructions2 ...
}
Si la condition est vraie, on réalise les instructions 1, sinon, on réalise les instructions 2.

un exemple

Faisons un petit exemple tout simple. Nous allons réaliser une alternance de 10 ellipses noires et grises qui vont se placer sur notre canevas de dessin. Tout d'abord, nous allons devoir réaliser une boucle pour pouvoir faire ces 10 barres. La boucle va modifier une variable i qui ira de 0 à 9
for (var i=0;i<10;i++)
Nous devons ensuite tester si la valeur de la variable est i est paire ou impaire. Pour cela, nous utilisons l'opérateur modulo qui donne le reste de la division entière. En effet, un nombre pair est un nombre dont le reste de la division entière par 2 est 0, un nombre impair est un nombre dont le reste de la division entière par 2 est 1.
L'opérateur qui sert à faire une comparaison, pour savoir si deux nombre sont ou non égaux, est le double égal. Ainsi, notre condition "i est pair" s'écrira
 i%2 == 0
si la condition est vrai, on utilisera la couleur noire, sinon on utilisera la couleur grise. Il ne nous reste plus qu'à tracer le rectangle grâce à la fonction ellipse(). L'ensemble de la fonction de dessin est donc :
for (var i=0;i<10;i++) {
  if ( i%2 == 0 ) {
    fill(0);
  } else {
    fill(128);
  }      
  var abscisse = width/10*(i+0.5); // on coupe en 10
  var ordonnee = height/2; // au milieu
  var rayon = width/20;
  ellipse(abscisse,ordonnee,rayon,rayon);
}

La réalisation en processing

À vous !

  • Commencez par créer cet exemple à partir de vos fichiers de base sur processing
  • Modifiez cette exemple pour ne plus avoir une alternance de 10 cercle mais un damier de 10 cases par 10 cases. vous pourrez pour cela soit utiliser une boucle allant de 0 à 99 et utiliser les modulos pour trouver les lignes et les colonnes, soit utiliser deux boucles imbriquées l'une dans l'autre, allant chacune de 0 à 10.
Cette syntaxe étant maintenant comprise, voyons comment procéder pour réaliser quelque chose d'un peu plus animé
Exemple
À faire vous même