Programme et exécution

Chapitres

Exercices d'application

Incrémentation d’une variable

Soit une variable entière x. Réaliser un programme qui augmente la valeur de x de 1 à chaque exécution. Le programme contenant la variable x est disponible sur ce lien : https://algotouch.irisa.fr/agt/

Conversion de temps

L’objectif de cet exercice est de convertir en heures, minutes et secondes, une durée exprimée en secondes.

Les données manipulées dans le fichier de base sont:

  • duree: temps initial exprimé en secondes
  • h: nombre d’heures (à calculer)
  • m: nombre de minutes (à calculer)
  • s: nombre de secondes restantes (à calculer)
  • 3600: la constante qui donne le nombre de secondes dans une heure
  • 60: la constante qui définit le nombre de secondes dans une minute

La structure de base pour cet exercice est disponible sur ce lien : https://algotouch.irisa.fr/agt/

La conversion de duree en heures, minutes et secondes s’effectue en AlgoTouch en plusieurs étapes :
  • calculer le nombre d’heure :
h = duree / 3600 ;
  • Calculer le nombre de secondes restantes :
reste = duree % 3600 ;
  • Calculer le nombre de minutes correspondant à cette nouvelle durée :
m = reste / 60 ;
  • Calculer le nombre de secondes restantes :
s = reste % 60 ;
Le programme complet est :
Define Conversion
Do
  h = duree / 3600 ;
  reste = duree % 3600 ;
  m = reste / 60 ;
  s = reste % 60 ;
  // ...
End

Retour sur la notion de programme

Exécution d'un programme

L’intérêt d’un programme est son exécution automatique par une machine:

  • le programmeur crée un programme pour exécuter une tâche particulière;
  • le programme est ensuite exécuté pour effectuer cette tâche automatiquement.

Création d'un programme

Avant de créer un programme, il faut savoir précisément à quoi il va servir puis comment le réaliser (quel algorithme utiliser). Ensuite, il est conseillé de suivre les étapes suivantes:

  1. simuler les actions à la main de manière à vérifier la correction de la solution;
  2. enregistrer les actions pour créer le programme correspondant;
  3. exécuter le programme pour vérifier son bon fonctionnement.

Il est ensuite possible de sauvegarder le programme pour pouvoir le reprendre ensuite.

Début de l’enregistrement
Fin de l’enregistrement
Exécution du bloc

Simuler les actions

L’opération consiste à manipuler les objets d’AlgoTouch pour réaliser l’action désirée. Dans notre exemple, le but est d’additionner la somme de trois variables, x, y, z et de stocker le résultat dans la variable som . Nous  exécutons les actions suivantes:
  1. additionner x et y dans som ;
  2. additionner som et z dans som .
La valeur de som doit correspondre à l’addition des valeurs de x, y, z .

A cette étape, les instructions correspondantes aux actions exécutées sont affichées dans la console. Par contre, il est impossible d’exécuter à nouveau les actions avec de nouvelles valeurs de x, y, z . Elles ne sont pas enregistrées.

som = x + y ; 
som = som + z ;

Enregistrer les actions

Maintenant que les actions pour exécuter la tâche sont connues, l’étape suivante consiste à les enregistrer:

  • cliquer sur le bouton « Enregistrer le bloc courant » illustré avec un icône de microphone;
  • effectuer les opérations à enregistrer, en l’occurrence celles effectuées lors de l’étape précédente;
  • cliquer sur le bouton « Arrêter l’enregistrement de la séquence », icône représentant un panneau stop.
Débuter l’enregistrement
Arrêter l’enregistrement

Le code s’est ajouté dans la partie droite de l’écran d’AlgoTouch:

Define Main
Do
  Read "Read x " x ;
  Read "Read y " y ;
  Read "Read z " z ;
  som = x + y ;
  som = som + z ;
  Write "Valeur de som " som ;
  // ...
End

Rôle du bloc Do

Macro_1 désigne le nom du programme. Il peut être modifié par un nom plus approprié (conseillé !).

Les instructions du programme sont placées entre  Do et End .

Les lignes commençant par // sont des commentaires.

Exécuter la séquence enregistrée

Maintenant que la séquence d’instructions est enregistrée, il est possible de l’exécuter pour vérifier son bon fonctionnement:

  • cliquer sur l’icône flèche verte de la barre d’outils « Exécuter la sélection ».

Il est possible d’exécuter plusieurs fois la séquence. Sur notre exemple, permuter deux fois remet les variables dans l’état initial.

Exécution du bloc

Exemple de programme classique

Nous allons créer notre premier programme utilisant les notions vues jusqu’à présent. Ce programme est très simple: il calcule la moyenne de 5 notes saisies par l’utilisateur. Le principe de l’algorithme consiste à lire une note, à ajouter sa valeur à une variable somme, et recommencer 4 fois. Ensuite, il suffit de calculer la moyenne en divisant la somme par 5 puis afficher le résultat. On a donc besoin de 3 variables nommées: note, somme, moy .

Variables utilisées
A noter : on utilise une seule variable note pour stocker successivement les différentes notes.

Pour simplifier, compte tenu des connaissances acquises à ce stade, aucune vérification n’est effectuée sur la valeur de chaque note. 

Programme obtenu:

Define Moyenne
Do
  Write "Moyenne de 5 notes " ' ' ;
  somme = 0 ;
  Read "Note 1 : " note ;
  somme = somme + note ;
  Read "Note 2 : " note ;
  somme = somme + note ;
  Read "Note 3 : " note ;
  somme = somme + note ;
  Read "Note 4 : " note ;
  somme = somme + note ;
  Read "Note 5 : " note ;
  somme = somme + note ;
  moy = somme / 5 ;
  Write "Moyenne : " moy ;
  // ...
End