Chapitre I
: Algorithm
et program ique
mation
1- Types de variables – Affectation
Exemples :
• La variable C de l’exemple contient un premier nombre, auquel on ajoute 20, puis
40 : C est une variable de type flottant.
• La variable T qui contient le mot tirelire est une variable de type chaîne de
caractères : « tirelire » est un chaîne de huit caractères ; on dit qu’elle est de
longueur 8.
• La variable b qui contient le test (5>4) est de type booléen ; sa valeur est Vrai.
Définition : La longueur d’une chaîne de caractères est son nombre d’éléments. Le k e
élément d’une chaîne de caractères L est donné par L[k-1].
Le premier caractère de la chaîne T est t, son deuxième caractère est i, son troisième est r.
On note T[0]=t, T[1]=i, T[2]=r.
Les chaînes de caractères peuvent « s’ajouter », c’est-à-dire se mettre bout-à-bout.
Par exemple, si X=« 10 » et Y=« euros », alors la chaîne X+Y est « 10euros ».
L’affectation
Dans l’exemple donné plus haut, on met d’abord 10€ dans la tirelire : la variable C prend la
valeur 10. La valeur de C augmente ensuite de 20 : on dit que C prend la valeur C+20. La
valeur de C augmente enfin de 40 : elle prend donc la valeur C+40.
Définition : Lorsqu’on donne à une variable X une valeur b, on écrit l’instruction X←b.
On lit : « X reçoit la valeur b » ou bien « X prend la valeur b » ou « la valeur b est affectée à
X ».
Exemple :
La fonction f est appelée dans le programme de la fonction rep. Ainsi, rep(5)
renvoir « lalalalala ».
Si C est une chaîne de caractères, 5*C est la chaîne C+C+C+C+C.
4- Séquence d’instructions
Instruction conditionnelle
Séquence d’instructions
Un algorithme est constitué d’instructions écrites l’une après l’autre : on dit qu’on écrit une
séquence d’instructions.
On va a la ligne après chaque instruction, ou bien on peut les séparer par un point-virgule.
Instruction conditionnelle : exemple et définition
Exemple :
Un producteur de pommes vend ses pommes 1,20€ au kg, mais, à partir de 30 kg
de pommes achetées, il vend ses pommes 0,90€ au kg. On veut créer une séquence
d’instructions qui, à partir d’une quantité donnée de pommes achetées, donne le
montant de la facture du client. Pour cela, on doit introduire une instruction
conditionnelle : si la quantité q de pommes est inférieure à 30 kg, la dépense est
égale, en euros à 1,2*q, sinon la dépense est égale, en euros à 0,9*q+9. On définit
deux variables de type flottant
Si q<30 Si :qlaestquantité q et
inférieur la dépense d.
à 30
|Alors d ←1,2*q Alors la dépense est 1,2*q
|Sinon d Sinon la dépense est
←0,9*q+9 0,9*q+9
Fin si
Tests en Python
a==b : a est-il égal à b ? a!=b : a est-il différent de b ?
a>=b : a est-il supérieur ou égal a<=b : a est-il inférieur ou égal à
àb? b?
a>b : a est-il supérieur à b ? a<b : a est-il inférieur à b ?
Exemple :
On saisit dans la console c=3, puis c==5. On affecte à c la valeur 3, puis on teste si c
contient 5 : c==5 est un booléen. Puisque c n’a pas la valeur 5, son affichage
donnera : False.
5- Boucle bornée et boucle non bornée
Boucle bornée (for)
Exemple :
Emma dépose 100€ sur un compte, puis chaque mois, elle dépose 20€. On veut
connaître le solde du compte n mois plus tard.
On définit une variable s : on affecte d’abord à celle-ci la valeur 100, puis on répète n
fois l’opération consistant à ajouter 20 à s. Le nombre de répétitions (ou itérations)
est connu au départ puisque c’est le nombre de mois.
s ←100 La variable s est initialisée à 100.
Pour k variant de 1 à n faire Début de la boucle : k prend le valeur 1.
|s ← s+20 On ajoute 20 à s pour avoir la nouvelle valeur
Fin pour de s.
Fin de la boucle : si k est inférieur à n, k
augmente de 1, sinon on sort de la boucle.
Définition : La boucle bornée « Pour k variant de…à… » permet d’exécuter un nombre de
fois fixé un même bloc d’instructions dans un algorithme.
Pour k variant de d à n faire En Python :
|{instructions}
Fin pour
D et n sont deux entiers. La variable k prend successivement toutes les valeurs entières de d
à n, et le bloc d’instructions sera exécuté à chaque fois que k prend une de ces valeurs.
Remarques :
• L’instruction for k in range(n) fait parcourir à la variable k tous les entiers de 0 à n-1 (soit
n valeurs).
• Dans le cas ci-dessus, l’augmentation des valeurs de k est constante, égale à 1 : c’est le
« pas ». On peut obtenir une augmentation constante avec un pas égal à p (entier) avec
l’instruction for k in range(d,n,p).
Boucle non bornée (while)
Exemple :
Cette fois-ci, après son premier dépôt de 100€, Emma dépose 20€ chaque mois tant
que la somme reste inférieure à 500€.
On cherche au bout de combien de mois elle stoppe ses dépôts d’argent.
On doit répéter la même opération qu’avant, tant que s reste inférieur à 500.
Pour cela, on teste si s est inférieur à 500 en début de boucle et le traitement dans la
boucle est réalisé tant que cette condition est vérifiée.
Pour compter le nombre de mois, on introduit un « compteur » c, initialisé à 0, et dont
la valeur augmente d’une unité à chaque parcours de la boucle.
En sortie de la boucle, c contient le nombre de mois cherché.
c ←0
s ←100 La variable s est initialisée à 100.
Tant que s<500 faire Début de la boucle : si s est supérieur ou égal à 500, on sort de
|s ←s+20 la boucle.
|s ←c+1 On ajoute 20 à s pour avoir la nouvelle valeur de s.
Fin Tant que On incrémente le compteur c d’une unité.
Fin de la boucle.
Définition : La boucle bornée « Tant que…» permet d’exécuter un même bloc
d’instructions tant qu’une condition reste vraie ; celle-ci est testée en début de boucle.
En Python :
Tant que {condition c} faire
|{instructions}
Fin Tant que