Au collège, vous avez utilisé le logiciel Scratch pour exécuter des algorithmes. Qu'est-ce qu'un algorithme ? Quel rapport y a-t‑il entre un algorithme et un programme ?
I Algorithmes
En simplifiant, on peut dire qu'un algorithme est une suite finie de tâches (ou instruction) à effectuer (on dit aussi à exécuter) dans un ordre déterminé.
Exemples :
Algorithme en langage naturel |
Algorithme dans Scratch |
À noter
Les instructions du logiciel Scratch sont prédéfinies et ont la forme de pièces de puzzle.
Lorsqu'on lance l'algorithme dans Scratch en cliquant sur le drapeau, le lutin dit « Hello ! » pendant trois secondes, puis l'ordinateur joue le son « miaou ».
II Programmes
1 Programme, script, code
Un programme, que l'on dénomme aussi script, est la traduction d'un algorithme dans un langage compréhensible par un utilisateur (personne ou machine).
Si on veut faire exécuter un algorithme par un ordinateur, on doit utiliser un langage adapté (par exemple, Python), qu'on appelle aussi un code.
2 Variables informatiques
Lorsque l'ordinateur exécute un code, les noms des variables ne changent pas, mais leurs contenus peuvent changer à chaque exécution d'une instruction.
Exemple : Ci-dessus, la variable x contient au départ la valeur 0 (c'est l'initialisation) puis x prend la valeur 3, puis y prend la valeur 32 ; puis x prend la valeur 6, puis y prend la valeur 62 et ainsi de suite jusqu'à ce que x prenne la valeur 30 puis y la valeur 900.
Simuler l'exécution d'un programme
On considère le programme Scratch ci-dessus.
Quel est le contenu des variables x et y lorsque l'exécution du code s'achève ?
conseils
Exécutez le code pas à pas et visualisez les différents contenus de x et de y en respectant la condition de la répétition.
solution
Lors du lancement du programme, la variable x contient le nombre 0 et la variable y est vide.
Le tableau suivant indique en bleu le contenu des variables x et y lors des trois premières exécutions des instructions.
Étiquette → |
x |
y |
|
État 1 |
0 |
vide |
État initial |
Exécution des instructions |
Première exécution |
||
État 2 |
1 |
2 |
|
Exécution des instructions |
Deuxième exécution |
||
État 3 |
2 |
4 |
|
Exécution des instructions |
Troisième exécution |
||
État 4 |
3 |
6 |
Le code s'achève lorsque la variable x contient la valeur 10. La variable y contient alors la valeur 20, calculée à la dixième exécution.
En effet, l'algorithme ordonne d'exécuter les instructions tant que le contenu de la variable x est inférieur ou égal à 10. Avant l'éventuelle onzième exécution, l'algorithme vérifie si x = 10. C'est le cas, il s'arrête alors. Le contenu de la variable y est donc 20.
Étiquette → |
x |
y |
|
État 10 |
9 |
18 |
|
Exécution des instructions |
Dixième exécution |
||
État 11 |
10 |
20 |
|
Exécution des instructions |
Onzième exécution |
||
Arrêt du programme |
Fin du script |