Mini-cours sur les algorithmes

Partie II

Lors du traitement des données, on utilise des opérateurs ...

Les 16 opérateurs

La liste des 16 opérateurs représente la liste des opérations qu'un programme peut faire : additionner, soustraire, multiplier, diviser, comparer (retourner un false ou un true) et ... produire un booléen à partir d'autres booléens  !

Il existe 4 types d'opérateurs.

Les opérateurs arithmétiques

Ils sont au nombre de 5 : +, *, -, /, mod

Le cinquième - mod - est rarement utilisé. Cet opérateur s'appelle "modulo" et il donne le reste de la division.

Les opérateurs arithmétiques ne s'appliquent qu'à des nombres (entiers ou réels).

Les opérateurs de comparaison

Ils sont au nombre de 6 : <, <=, ==, !=, >=, >
Inférieur, inférieur ou égal, égal, différent, supérieur ou égal, supérieur

Attention :
Le signe = permet d'affecter une variable

Le signe == compare deux variables et détermine leur égalité ou pas

Les opérateurs de comparaison ne s'appliquent qu'à des nombres (entiers ou réels) ou à des chaînes de caractères. Lorsque la comparaison portent sur des chaînes de caractères, les chaînes sont comparées, caractère par caractère, selon leur code ASCII. Ainsi "a" > "A", retourne true (car 97 est supérieur à 65)

Les opérateurs logiques

Les opérateurs logiques sont une nouveauté, pour les débutants.

Les principaux sont au nombre de 3 : NON, OU, ET

Tous les cas peuvent être résolus via ces trois opérateurs. Toutefois, pour des raisons de performance, certains langages autorisent l'utilisation d'autres opérateurs.

Les opérateurs logiques ne s'appliquent qu'à des booléens.

Les opérateurs unitaires

Lorsqu'on écrit "-2", on indique que le nombre est négatif.
Mais, on peut aussi écrire "+2" pour indiquer que le nombre est positif.

Les opérateurs unitaires sont connus depuis l'école primaire, sous le terme de signe positif ou signe négatif.

Les principaux sont au nombre de 2 : +, -

Certains langages, comme le C++ ou JavaScript, autorisent l'utilisation de deux autres opérateurs unitaires : ++ et --

Les opérateurs unitaires ne s'appliquent qu'à une seule opérande (de type nombre).
Les opérateurs ++ et -- ne s'appliquent qu'à des nombres entiers.

Les opérandes

On parle d'opérandes et non d'opérantes.

Il existe deux types d'opérandes :

  1. les littéraux
  2. les variables

Un littéral est une valeur donnée explicitement.

2, "Bonjour !", true, 3.14     sont 4 littéraux.

Les expressions

Une expression est un ensemble d'opérateurs et d'opérandes.

C'est simple, mais il est important de savoir ce qu'est une expression

  /* Exemples d'expressions : Attention à la migraine ! */

  /* Quelques expressions arithmétiques */

  17
  2 + 2
  1 + 2 * 3                 // vaut 7
  ( 1 + 2 ) * 3             // vaut 9
  1 + ( 2 * 3 )             // vaut 7
  2 + 2 - 1 * 4             // vaut 0
  ( 2 + 2 ) - ( 1 * 4 )     // vaut 0
  ( 2 + 2 - 1 ) * 4         // vaut 12
  ( (2 + 2) - 1 ) * 4       // vaut 12
  nombreDeJoueurs + 1
  rayon * rayon * nombrePI

  /* Quelques expressions conditionnelles */

  2 < 3                  // vaut true
  4 > 5                  // vaut true
  4 < 5                  // vaut false
  A < B
  2 == 2                    // vaut true
  2 != 2                    // faut false
  "petit" > "grand"
  phrase != "Bonjour !"

  /* Quelques expressions logiques */

  true                      // vaut true
  false OU true             // vaut true
  true ET false             // vaut false
  NON true                  // vaut false
  estSuperieurAZero ET estSuperieurADix

  /* Quelques expressions unitaires */

  -2                       // vaut -2
  +2                       // vaut 2
  -nombreDeJoueurs

Les parenthèses

Pour nous, humains, une petite expression arithmétique tel que 1 + 2 * 3 est difficile à résoudre. En effet, faut-il faire (1 + 2) * 3 = 9, ou 1 + (2 * 3) = 7. En l'absence de parenthèses, il faut connaître l'ordre de priorité des opérateurs ...

La solution, utiliser les parenthèses :

  1. Pour imposer un ordre d'évaluation : (1 + 2) * 3, sans parenthèse cela vaut 7.
  2. Pour regrouper les mêmes opérateurs arithmétiques : (1+2+3)
  3. Pour regrouper, dans des expressions complexes, les opérateurs de même type

Une expression complexe est une expression composée d'expressions de différents types.

Cliquez ici pour voir l'analyse complète d'une expression complexe faite par le programme.

Heureusement, en pratique, les expressions utilisées sont généralement simples.

  /* Les expressions courantes n'ont que deux opérandes ou utilisent des parenthèses */

  largeur * longueur
  age > 18
  ( age > 18 ) ET ( age < 67 )

Résultat

Un résultat est l'évaluation d'une expression, souvent affectée à une variable.

surface = largeur * longueur

L'algorithme - la description de la solution à notre problème - pourrait être :

Début
  /* But du programme : calculer la surface d'un rectangle */

  /* Déclaration et initialisation des variables */
  float largeur = 0
  float longueur = 0
  float surface = 0

  /* Afficher un titre */

  Afficher("Calcul de la surface d'un rectangle", newLine)
  Afficher("***********************************", newLine)
  Afficher(newLine)

  /* Demander à l'utilisateur du programme
  d'introduire une largeur */

  Afficher("Veuillez indiquer la largeur (en m): ")
  largeur = lireClavier()

  /* Demander à l'utilisateur du programme
  d'introduire une longueur */

  Afficher("Veuillez indiquer la longueur (en m) : ")
  longueur = lireClavier()

  /* Calculer le résultat */
  surface = largeur * longueur

  /* Afficher le résultat */
  Afficher("La surface du rectangle = ", surface, " m²")

Fin

La dernière fonction - afficher() - sert à afficher trois éléments :

  1. une string : "La surface du rectangle = "
  2. une variable de type float : surface
  3. une string : " m²"

Ces trois éléments sont séparés par une virgule.