De l’algorithme au programme avec AlgoTouch

On utilise des algorithmes sans le savoir…

Tout le monde connaît cet algorithme...

Algorithme d'addition

Algorithme et programme

Un algorithme définit la suite d’opérations à effectuer pour résoudre un problème donné

  • un algorithme peut être exprimé en français, par des diagrammes, illustré avec l’aide de schémas

Un programme est l’expression concrète d’un algorithme dans un langage de programmation pour exécution par un ordinateur

Algorithme vs Programme

Algorithme

Addition de deux nombres a et b composés de plusieurs chiffres:

  1. placer les deux nombres l’un au dessous de l’autre en alignant les unités avec les unités, les dizaines avec les dizaines, etc; 
  2. commencer par les unités;
  3. calculer la somme des chiffres de a, b et de la retenue de l’étape précédente (0 au début);
  4. placer le chiffre des unités du résultat et conserver le chiffre des dizaines comme retenue pour l’étape suivante;
  5. recommencer à l’étape 3, avec les chiffres des dizaines, puis des centaines, etc.

Programme

Extrait d’un programme en langage C simulant l’addition de deux nombres dont les chiffres en base 10 sont rangés dans des tableaux a et b. Ce programme ne montre que la partie instructions, omettant la déclaration des variables.

void Plus_a_b(){
    i = a_length - 1 ;
    r = 0 ;
    while (i >= 0){
      som = a[i] + b[i] ;
      som = som + r ;
      c[i] = som % base ;
      r = som / base ;
      i = i - 1 ;
    }
  }

Conception d’un programme ?

  1. Expliquer le principe de fonctionnement de l’algorithme avec des mots simples
  2. Montrer comment il fonctionne sur un exemple simple, habituellement sur un tableau
  3. Traduire l’algorithme en un programme
Explication d'un algorithme au tableau blanc

Difficultés de la programmation

De nombreuses difficultés sont à surmonter pour apprendre à programmer:

  • difficulté de concevoir un algorithme pour réaliser une tâche donnée;
  • apprentissage d’un langage de programmation;
  • difficulté de mettre en oeuvre un algorithme dans un langage de programmation donné;
  • apprentissage d’un environnement de développement;
  • difficulté de tester un programme.

AlgoTouch

Un tableau « intelligent » comme assistant à la programmation pour :

  1. manipuler facilement les éléments de base d’un algorithme;
  2. montrer comment définir un algorithme en le réalisant soi-même;
  3. fabriquer automatiquement le programme associé;
  4. exécuter le programme;
  5. visualiser le déroulement du programme;
  6. modifier ou améliorer le programme;
  7. exporter le programme dans différents langages.