|
Boucle Comment automatiser un travail répétitif. Je souhaite que l'ordinateur répète une opération autant de fois que je le désire. |
La boucle répète dix fois avec une seconde d'intervalle: avancer,
tourner et miaou. Voir Scratch |
|
|
Première
écriture
Je souhaite lister la suite
des carrés des nombres de 1 à 10.
Nous avons déjà vu ce programme sous une forme répétitive.
Voici le programme avec les
commentaires sur la droite:
Vous noterez:
Toutes les instructions à
exécuter dans la boucle sont encadrées par les mots "début" et "fin".
Les instructions dans la boucle sont décalées pour faciliter la lecture du
programme.
Ne pas oublier de préciser la
première valeur de A, avant d'entamer la
boucle. C'est la phase d'initialisation de la boucle. |
Écriture
abrégée
Il est possible de réduire ce
programme avec une instruction spéciale boucle dont voici l'écriture:
Avec la première instruction pour A de 1 à 10, la mémoire nommée A prendra successivement les valeurs 1, 2, 3 jusqu'à 10.
et pour chacune de ces valeurs, l'ordinateur calculera la valeur du carré de
A qu'il placera dans C. |
Écriture
avec Mapple
Il s'agit des mêmes
instructions, mais traduites en anglais:
to à do faire od est simplement do à l'envers.
En rouge le programme et en
bleu le résultat de l'exécution.
Notez l'absence de ; à la
première ligne. En fait, le do qui suit est considéré faire partie de cette
première instruction. |
|
|
||
Remarque: vous pouvez
intégrer vos commentaires dans le texte du programme lui-même. Il suffit de
place le caractère dièse (#) devant le texte de commentaire.
Il faut changer de ligne pour
mettre fin au commentaire. |
> a:=2; c :=a + b; # addition de a et b dont la
somme est placée en c; ceci est un commentaire. d:=c*c; |
|
|
||
Je souhaite lister le nombre,
son carré et son cube pour tous les nombres de 1 à
10.
Plusieurs remarques:
Je calcule A*A pour le carré et A*A*A
pour le cube. Vous constatez qu'il est inutile de baptiser ces nombres.
l'instruction lprint (imprimer) permet d'imprimer plusieurs
nombres sur la même ligne. Chaque valeur est séparée par une virgule. |
|
|
|
||
Par défaut, le pointeur de
boucle (ici: tutut) progresse d'une unité.
Il suffit d'ajouter by k
(ici: 5) pour que le pointeur soit incrémenté de k à chaque passage en
boucle.
Ce programme calcule le carré
des multiples de 5 jusqu'à 20. |
|
|
|
||
Je souhaite lister un nombre
et son retourné, comme 17 et 71.
Je vais former mon nombre
avec i et j en
calculant 10i + j et son retourné sera 10j + i.
Comment cela fonctionne-t-il?
Pendant que i prend la valeur 1,
l'ordinateur exécute la bouche en j qui prend
successivement les valeurs 7, 8 et 9.
Cette boucle en j terminée, alors i
prend la valeur suivante: 2. Et, c'est
reparti pour une boucle en j avec 7,8 et 9.
Cette boucle en j terminée, alors i
prend la valeur suivante: 3. Et, c'est
reparti pour une boucle en j avec 7,8 et 9.
C'est la fin de la boucle en i. le programme est terminé. |
Note:
pour obtenir tous les nombres à deux chiffres
faire i de 0 à 9 et j
de 0 à 9. |
|
|
||
Je souhaite former les nombre
de 0 à 9 999.
J'utilise la formule 1000m + 100c + 10d + u et je balaye toutes les
valeurs de m, c, d et u au moyen de quatre
boucles imbriquées. Note: il serait évidemment plus facile de faire une boucle listant les
nombres au moyen d'une simple boucle utilisant l'instruction N:=N+1. Il s'agissait ici d'illustrer un programme
avec multi-boucles. |
|
|
Une
boucle permet de répéter un jeu d'instructions Son
format est for TOTO from x to y
do {instructions} od; L'ordinateur
répétera n = y – x fois les instructions e la boucle en donnant à TOTO la
valeur x, puis la valeur x + 1 … jusqu'à atteindre la valeur y. Il
tout à fait possible que {instructions} contienne
une boucle interne. Plusieurs boucles imbriquées sont tout à fait permises. |
|
||
Calcul de Pi selon la formule de Gregory-Leibniz: À chaque passage dans la boucle (itération), nous
allons calculer deux termes à la fois, comme
+ 1/1 – 1/3; le pointeur progresse
alors de quatre en quatre pour faire par exemple le suivant: + 1/5 – 1/7. Note: Il
s'agit d'un exemple simple de programmation, sans intérêt pour le calcul des
décimales tant la convergence est lente et donc, nécessite un long temps
d'exécution. |
||
|
Voir et |
|
Suite |
|
Voir |
Programmation – Index |
Aussi |
Programmation – En savoir un peu plus Petit cours de
Maple – Paul Barbaroux |
Cette page |