Vous êtes sur la page 1sur 41

Introduction à l’Algorithmique

0. Objectifs

A la fin de ce cours, l’étudiant régulier sera capable de :

 Restituer les notions d’algorithmique vues dans ce cours ;


 Analyser l’énoncée et poser les instructions de programmation ;
 Résoudre les problèmes complexes par la programmation ;
 Ecrire des petits programmes de calculs et réponses spontanées ;
 Comprendre la logique de programmation.

1. Qu’est-ce que l’algorithme ?

Un algorithme, c’est une suite d’instructions, qui une fois exécutée correctement,
conduit à un résultat donné.

Pour fonctionner, un algorithme doit donc contenir uniquement des instructions


compréhensibles par celui qui devra l’exécuter.

En informatique, les choses auxquelles on doit donner des instructions sont les
ordinateurs.

2. Faut-il être matheux pour être bon en algorithmique ?

La maîtrise de l’algorithmique requiert deux qualités, très complémentaires d’ailleurs :

- Il faut avoir une certaine intuition : souplesse dans le raisonnement venant


l’expérience répétée. Le raisonnement finit par devenir « spontané ».
- Il faut être méthodique et rigoureux. En effet, chaque fois qu’on écrit une série
d’instructions qu’on croit justes, il faut systématiquement se mettre mentalement à
la place de la machine qui va les exécuter, armé d'un papier et d'un crayon, afin de
vérifier si le résultat obtenu est bien celui que l’on voulait.

NB la vérification méthodique, pas à pas, de chacun de vos algorithmes représente


plus de la moitié du travail à accomplir.

Les ordinateurs, quels qu’ils soient, ne sont fondamentalement capables de comprendre


que quatre catégories d'ordres (en programmation, on n'emploiera pas le terme d'ordre,
mais plutôt celui d'instructions). Ces quatre familles d'instructions sont :

- Affectation des variables


- Lecture/écriture
- Boucles
- Les tests
1
3. Algorithmique et programmation

L’algorithmique exprime les instructions résolvant un problème donné indépendamment


des particularités de tel ou tel langage. Si un programme est considéré comme une
dissertation, l’algorithmique serait le plan de traitement. Or, vous savez qu’il vaut mieux
faire d’abord le plan et rédiger ensuite que l’inverse…

Apprendre l’algorithmique, c’est apprendre à manier la structure logique d’un programme


informatique. Cette dimension est présente quelle que soit le langage de programmation ;
mais lorsqu’on programme dans un langage on doit en plus se colleter les problèmes de
syntaxe, ou de types d’instructions, propres à ce langage. Apprendre l’algorithmique de
manière séparée, c’est donc sérier les difficultés pour mieux les vaincre.

4. Conventions pour écrire un algorithme

Pour écrire un algorithme, on utilise généralement une série de conventions appelée «


pseudocode », qui ressemble à un langage de programmation authentique dont on aurait
évacué la plupart des problèmes de syntaxe.

1. Les Variables
1.0 A quoi servent les variables ?

Dans un programme informatique, on va avoir en permanence besoin de stocker


provisoirement des valeurs. Pour ce faire, on utilise une variable.
Pour employer une image, une variable est une boîte, que le programme (l’ordinateur) va
repérer par une étiquette. Pour avoir accès au contenu de la boîte, il suffit de la
désigner par son étiquette.

1.1 Déclaration des variables

La première chose à faire avant de pouvoir utiliser une variable est de créer la boîte et
de lui coller une étiquette. Ceci se fait tout au début de l’algorithme, avant même les
instructions proprement dites. C’est ce qu’on appelle la déclaration des variables

Le nom de la variable (l’étiquette de la boîte) obéit à des impératifs changeant selon les
langages. Toutefois, une règle absolue est :

- Qu’un nom de variable peut comporter des lettres et des chiffres, mais qu’il exclut la
plupart des signes de ponctuation, en particulier les espaces.
- Un nom de variable correct commence également impérativement par une lettre.
- Quant au nombre maximal de signes pour un nom de variable, il dépend du langage
utilisé.

2
Lorsqu’on déclare une variable, il ne suffit pas de créer une boîte (réserver un
emplacement mémoire) ; encore doit-on préciser ce que l’on voudra mettre dedans, car
de cela dépendent la taille de la boîte (de l’emplacement mémoire) et le type de codage
utilisé.

1.2. Types des variables


- Les variables du type numérique

Cette variable est destinée à recevoir des nombres. Il y a plusieurs types numériques
selon les langages :

 Entier simple ;
 Entier long ;
 Réel simple ;
 Réel double.

Syntaxe
Variable g en Numérique ou
encore
Variables PrixHT, TauxTVA, PrixTTC en Numérique

- Les variables du type alphanumérique

Appelée type caractère, type chaîne ou en anglais, le type string, dans une variable de
ce type, on stocke des caractères, qu’il s’agisse de lettres, de signes de ponctuation,
d’espaces, ou même de chiffres. Le nombre maximal de caractères pouvant être stockés
dans une seule variable string dépend du langage utilisé.
Un groupe de caractères (y compris un groupe de un, ou de zéro caractères), qu’il soit ou
non stocké dans une variable, d’ailleurs, est donc souvent appelé chaîne de caractères.

En pseudocode, une chaîne de caractères est toujours notée entre guillemets


pour éviter la confusion entre des nombres et des suites de chiffres.

Par exemple, 423 est quatre cent vingt-trois, et s’il y en a, "423" représente la suite des
chiffres 4, 2, 3.
L'autre confusion, bien plus grave - et bien plus consiste à confondre l'étiquette d'une
boîte et ce qu'il y a à l'intérieur

3
- Les variables du type booléen

Le dernier type de variables est le type booléen : on y stocke uniquement les valeurs
logiques VRAI et FAUX.
On peut représenter ces notions abstraites de VRAI et de FAUX par tout ce qu'on veut :
de l'anglais (TRUE et FALSE) ou des nombres (0 et 1). Peu importe. Ce qui compte, c'est
de comprendre que le type booléen est très économique en termes de place mémoire
occupée, puisque pour stocker une telle information binaire, un seul bit suffit.

1.3 Affectation d’une variable

- L’instruction d’affectation

La seule chose qu’on puisse faire avec une variable, c’est l’affecter, c’est-à-dire lui
attribuer une valeur.

En pseudocode, l'instruction d'affectation se note avec le signe ←

Ainsi :

Toto ← 24

Attribue la valeur 24 à la variable Toto.


On peut en revanche sans aucun problème attribuer à une variable la valeur d’une autre
variable, telle quelle ou modifiée. Par exemple :

Tutu ← Toto

Signifie que la valeur de Tutu est maintenant celle de Toto.


Notez bien que cette instruction n’a en rien modifié la valeur de Toto : une instruction
d’affectation ne modifie que ce qui est situé à gauche de la flèche.

Tutu ← Toto + 4
Si Toto contenait 12, Tutu vaut maintenant 16. De même que précédemment, Toto vaut
toujours 12.

Tutu ← Tutu + 1
Si Tutu valait 6, il vaut maintenant 7. La valeur de Tutu est modifiée, puisque Tutu est la
variable située à gauche de la flèche.

4
2. Expressions et opérateurs

1. Expressions

Si on fait le point, on s’aperçoit que dans une instruction d’affectation, on trouve :


• à gauche de la flèche, un nom de variable, et uniquement cela.
• à droite de la flèche, ce qu’on appelle une expression.

Une expression est un ensemble de valeurs, reliées par des opérateurs, et


équivalent à une seule valeur

Exemple

7
5+4
123-45+844
Toto-12+5-Riri

…sont toutes des expressions valides, à condition que Toto et Riri soient bien des
nombres. Car dans le cas contraire, la quatrième expression n’a pas de sens.

Une condition supplémentaire (en plus des deux précédentes) de validité d’une
instruction d’affectation est que :

• l’expression située à droite de la flèche soit du même type que la variable située à
gauche.
Si l’un des trois points énumérés ci-dessus n’est pas respecté, la machine sera incapable
d’exécuter l’affectation, et déclenchera une erreur.

Un opérateur est un signe qui relie deux valeurs, pour produire un résultat.

2. Opérateurs

- Opérateurs numériques

Ce sont les quatre opérations arithmétiques tout ce qu’il y a de classique.

+ : addition
- : soustraction
* : multiplication /
: division
Mentionnons également le ^ qui signifie « puissance ». 45 au carré s’écrira donc 45 ^ 2.
5
Enfin, on a le droit d’utiliser les parenthèses, avec les mêmes règles qu’en
mathématiques.

La multiplication et la division ont « naturellement » priorité sur l’addition et la


soustraction. Les parenthèses ne sont ainsi utiles que pour modifier cette priorité
naturelle.
Cela signifie qu’en informatique, 12 * 3 + 5 et (12 * 3) + 5 valent strictement la même
chose, à savoir 41. Pourquoi dès lors se fatiguer à mettre des parenthèses inutiles ?

En revanche, 12 * (3 + 5) vaut 12 * 8 soit 96. Rien de difficile là-dedans, que du normal.

- Opérateur alphanumérique : &


Cet opérateur permet de concaténer, autrement dit d’agglomérer, deux chaînes de
caractères. Par exemple :

Variables A, B, C en Caractère
Début
A ← "Gloubi"
B ← "Boulga"

C←A&B
Fin
La valeur de C à la fin de l’algorithme est "GloubiBoulga"

- Opérateurs logiques (ou booléens) :

Il s’agit du ET, du OU, du NON et XOR

C1 et C2 C2 Vrai C2 Faux
C1 Vrai Vrai Faux
C1 Faux Faux Faux

C1 ou C2 C2 Vrai C2 Faux
C1 Vrai Vrai Vrai
C1 Faux Vrai Faux

C1 xor C2 C2 Vrai C2 Faux


C1 Vrai Faux Vrai
C1 Faux Vrai Faux

Non C1
C1 Vrai Faux
C1 Faux Vrai

6
3. Les instructions de lecture et d’écriture

L’ENTREE ou la lecture de données correspond à l’opération qui permet de saisir des


valeurs pour qu’elles soient utilisées par le programme. Cette instruction est notée « lire
variable ».

La SORTIE ou l’écriture des données permet l’affichage des valeurs des variables.
. Cette instruction est notée « afficher ou écrire identificateur »

Exercice 1:
Ecrire et exécuter un algorithme qui demande un entier à l’utilisateur, puis affiche son
carré.

Algorithme :
Algorithme Calcul_du_Carré
Début
Variables A, B : entier
Écrire ("entrer la valeur de A ")
Lire(A)
B ← A*A
Écrire ("le carre de ", A, "est :", B)
Fin

Exercice 2:
Considérons les algorithmes ci-dessous. Quel sera le contenu des variables a, b et
éventuellement ci-après leur exécution ?

Algo A1
Entier a, b, c :
Debut
a←1
b←2
b←a+b
c←a+b
Fin

Algo A2
Caractère a, b
Début
a ← ’1’
b ← ’2’
a←a+b
Fin

Algo PS

7
Entier A, B
Début
A←5
B←2
A←B
B←A
Fin

Exercice 3 :
1) Quelles seront les valeurs des variables A et B après l’exécution de l’algorithme PS ?
2) Les deux dernières instructions permettent-elles d’échanger les deux valeurs de B et
A?
3) Si l’on inverse les deux dernières instructions, cela change-t-il quelque chose ?

4. Structures de contrôle conditionnel

Ces structures sont utilisées pour décider de l'exécution d'un bloc d'instruction : est-
ce-que ce bloc est exécuté ou non. Ou bien pour choisir entre l'exécution de deux blocs
différents.

4.0 Expression logique

Une expression logique est un énoncée ou proposition qui peut être vraie ou fausse selon
ce qu’on est en train de parler.

Exemple :
(10 < 15) est une expression logique vrai
(10 < 3) est un prédicat faux

4.1 Test alternatif simple

Un test simple contient un seul bloc d'instructions. Selon une condition (expression
logique), on décide est-ce-que le bloc d'instructions est exécuté ou non. Si la condition
Est vraie, on exécute le bloc, sinon on ne l’exécute pas. La syntaxe d'un test alternatif
simple est comme suit :

Cas 1 :
IF (expression logique) then
Instructions ! Exécuté si la condition est vraie
END IF

Exemple : Écrire un algorithme qui demande un entier (A) à l’utilisateur, teste si ce


nombre est positif (A≥ 0) et affiche “positif”.

8
Solution :

Algorithme :
Algorithme positif
Début
Variables A: entier
Écrire ("entrer la valeur de A ")
Lire (A)
Si (A ≥ 0) alors
Écrire (" positif ")
FinSi
Fin

4.2 Test alternatif double

Un test double contient deux blocs d'instructions : on est amené à décider entre le
premier bloc ou le second. Cette décision est réalisée selon une condition (expression
logique ou booléenne) qui peut être vraie ou fausse. Si la condition est vraie on exécute le
premier bloc, sinon on exécute le second. La syntaxe d'un test alternatif double est
comme suit :

Cas 1 :

IF (expression logique) then


Instructions 1
ELSE
Instructions 2
END IF

Exemple :
Écrire un algorithme qui demande un entier (A) à l’utilisateur, teste si ce nombre est
positif (A ≥ 0) ou non, et affiche “positif” ou “négatif”.

Solution :
Algorithme :
Algorithme positif
Début
Variables A: entier
Écrire ("entrer la valeur de A ")
Lire (A)
Si (A ≥ 0) alors
Écrire (" positif ")
Sinon
Écrire (" négatif ")
FinSi
Fin
9
Exemple:

Écrire un algorithme qui demande un entier à l’utilisateur, teste si ce nombre est


strictement positif, nul ou strictement négatif, et affiche ce résultat.

Solution :
Algorithme :
Algorithme positif
Début
Variables A: entier
Écrire ("entrer la valeur de A ")
Lire (A)
Si (A ≥ 0) alors
Écrire (" positif ")
Sinon
Si (A = 0)
Ecrire (" nul ")
Sinon
Écrire (" négatif ")
FinSi
Fin

4.3 Tests imbriqués

Plusieurs structures conditionnelles peuvent être imbriquées, si bien que dans une
structure peut (peuvent) figurer une ou plusieurs structure(s) conditionnelle(s), et les
tests peuvent avoir un degré quelconque d'imbrications.

Exemple :
Ecrire un algorithme qui demande à l’user la température de l’eau et afficher son état
(solide, liquide, vapeur).

Solution :
Algorithme :
Algo températureH2O
Variables T : réel
Début
Ecrire (entrer la température de H2O :)
Lire (T)
Si (T=< 0) Alors
Ecrire "C’est de la glace"
Sinon
Si (T< 100) Alors
Ecrire "C’est du liquide"
Sinon
10
Ecrire "C’est de la vapeur"
Fin si
Fin si
Fin

Ecrivons un algorithme qui précise si un triangle ABC est rectangle (et dans ce cas en
quel point) ou s’il ne l’est pas.

Remarque : D’après la réciproque du théorème de Pythagore, si AB2=AC2+BC2, alors le


triangle ABC est rectangle en C.

Solution :

Algo rectangle
Variables xA,yA, xB,yB xC,yC,ABcarre,ACcarre,BCcarre : réel
Début
Ecrire (Saisir l’abscisse et l’ordonnée des points A, B et C)
Lire (xA,yA, xB,yB xC,yC)
ABcarre= (xB -xA)2+(yB-yA)2
ACcarre= (xC -xA)2+(yC-yA)2
BCcarre= (xC -xB)2+(yC-yB)2
Si (ABcarre+ BCcarre =ACcarre) Alors
Ecrire "le triangle ABC est rectangle en B"
sinon
Si (ABcarre+ ACcarre =BCcarre) Alors
Ecrire "le triangle ABC est rectangle en A"
Sinon
Si (ACcarre+ BCcarre =ABcarre) Alors
Ecrire "le triangle ABC est rectangle en C"
Sinon
Ecrire "le triangle n’’est pas rectangle"
finsi
fin

11
TRAVAUX PRATIQUES

Exercice 1:

Ecrire un algorithme puis un organigramme permettant de trouver et d’afficher la plus


petite valeur entre trois nombres réels distincts A, B et C

Exercice 2

Écrire un algorithme qui demande un réel à l’utilisateur et affiche sa valeur absolue


(sans utiliser de fonction prédéfinie évidemment).

Exercice 3 :
Ecrire un algorithme qui demande à l’user d’entrer la note est qui affiche la mention
comme suite :
Faible ; si note<=10
Passable ; si 10<=note<=12
A. Bien ; si 12<=note<=14
Bien ; si 14<=note<=16
T. Bien; si 16<=note<=18
Excellent ; si 18<=note<=20

Exercice 4 :

Ecrire un algorithme permettant de résoudre une équation du second degré.

Exercice 5 :

Ecrire un algorithme permettant de :


- Lire un nombre fini de notes comprises entre 0 et 10
- Afficher la meilleure note, la mauvaise note et la moyenne de toutes les notes.

SOLUTION TRAVAUX PRATIQUES

Exercice 1:
Algorithme :
Algo petite
Début
Variables A, B, C : réel
Lire (A, B, C)
Si (A<B) alors
Si (A<C) alors
Ecrire A
Si non

12
Ecrire C
Fin Si
Sinon
Si (B<C) alors
Ecrire B
Si non
Ecrire C
Fin Si
Fin

Exercice 2:
algo absolue
Début
Réel a
Lire "tapez un réel", a
Si (a>0) alors
Écrire "|", a,"|=", a
Sinon
Écrire "|", a,"|=",-a
Fin si
Fin

Exercice 3 :
Algo mention
Variable note : réel
Début
Ecrire (entrer la note :)
Lire (note)
Si (note <10) alors
Ecrire (faible)
Si non
Si (note <12) alors
Ecrire (passable)
Si non Si (note <14) alors
Ecrire (A. Bien)
Si non Si (note <16) alors
Ecrire (Bien)
Si non Si (note <18) alors
Ecrire (T. Bien)
Si non
Ecrire (Excellent)
Fin Si
Fin

13
Exercice 4 :
Algo second_degré
Début
Réel a, b, c, delta
Début : Ecrire (saisissez les valeurs a, b et c de l’équation ax²+bx+c=0 )
Lire (a, b, c)
Si (a=0) alors
Écrire (équation du premier degré)
Sinon
Delta=b²-4*a*c
Si (delta>0) alors
Écrire (les solutions de l’équation sont)
Écrire (-b-sqrt(delta))/(2*a), (-b+sqrt(delta))/(2*a))
SinonSi (d=0) alors
Écrire (-b/ (2a))
Sinon
Écrire (pas de solutions réelles)
Fin Si
Fin Si
Fin

Remarque

Utilisation de ET et de OU

Toute structure de test requérant une condition composée faisant intervenir


l’opérateur ET peut être exprimée de manière équivalente avec un opérateur
OU, et réciproquement.

Quand faut-il ouvrir la fenêtre de la salle ? Uniquement si les conditions l’imposent, à


savoir :
Si il fait trop chaud ET il ne pleut pas Alors
Ouvrir la fenêtre
Sinon
Fermer la fenêtre
Finsi

14
Cette petite règle pourrait tout aussi bien être formulée comme suit :

Si il ne fait pas trop chaud OU il pleut Alors


Fermer la fenêtre
Sinon
Ouvrir la fenêtre
Finsi

Ces deux formulations sont strictement équivalentes. Ce qui nous amène à la conclusion
suivante :

SI A ET B Alors
Instructions1
SINON
Instruction 2
FINSI
Equivaut à

SI NON A OU NON B Alors


Instructions2
SINON
Instruction 1
FINSI

Cette règle porte le nom de transformation de Morgan, du nom du mathématicien anglais


qui l'a formulée.

5. Les Boucles : Structures répétitives ou Structures itératives


Une boucle permet de parcourir une partie d'un programme un certain nombre de fois.
Une itération est la répétition d'un même traitement plusieurs fois. Un indice de boucle
varie alors de la valeur minimum (initiale) jusqu'à la valeur maximum (finale).

 La boucle « Pour »

Cette structure est une BOUCLE ITERATIVE ; elle consiste à répéter un certain
traitement un nombre de fois fixé à l’avance.
Cette structure utilise une variable (indice) de contrôle d’itérations caractérisée par :

- Sa valeur initiale,
15
- Sa valeur finale,
- Son pas de variation.

La syntaxe de la boucle pour est comme suit :

Pour I de 1 jusqu’à N pas 1

Instructions

Fin Pour

I : variable
1 : valeur initiale
N : valeur finale
Le pas de variation égale à 1

Exemple :

Ecrire un algorithme qui demande un nombre de départ, et qui ensuite affiche les dix
nombres suivants. Par exemple, si l'utilisateur entre le nombre 17, le programme
affichera les nombres de 18 à 27.

Solution :
Algorithme :
Algorithme nombres
Début
Variables I, N : entier
Écrire ("entrer la valeur de I ")
Lire (I)
N=I+10
Pour I de 17 jusqu’à N pas 1
Ecrire (I)
Fin Pour
Fin

 La boucle TANT QUE

Une action ou un groupe d’actions est exécuté répétitivement tout le temps où une
condition est vraie.

Syntaxe

Tant Que (Condition) Faire

Instructions

16
Fin Tant que

Remarque : la vérification de la condition s’effectue avant les actions. Celles-ci peuvent


donc ne jamais être exécutées.

Exemple :
On veut écrire un algorithme qui calcul la somme des entiers positifs inférieurs ou égaux
à N.

Solution :
Algorithme :
Algorithme somme
Début
Variables I, N, S : entier
Écrire ("entrer la valeur de N ")
Lire (N)
I=0
S=0
Tant Que (I ≤ N) alors
S=S+I
I=I+1
Fin Tant Que
Ecrire (‘la Somme est’, S)
Fin

 La boucle REPETER ... JUSQUA ...

Une action ou un groupe d’actions est exécuté répétitivement jusqu'à ce qu’une condition
soit vérifiée.

Syntaxe
Répéter

Instructions

Jusqu'à (Condition)

Remarque : la vérification de la condition s’effectue après les actions. Celles-ci sont


donc exécutées au moins une fois.
Exemple :
Ecrire un algorithme qui demande successivement 10 nombres à l’utilisateur, et qui lui
dise ensuite quel était le plus grand parmi ces 10 nombres.

Explication
Entrez le nombre numéro 1 : 7
Entrez le nombre numéro 2 : 24
17
…….etc.
Entrez le nombre numéro 10 : 13
Le plus grand de ces nombres est : 24

Solution :
Algorithme :
Algorithme plus_grand
Début
Variables I, N, PG : entier
I=1
Écrire ("entrer la valeur de N ")
Lire (N)
PG = N
Répéter
Lire (N)
Si (PG ≤ N) alors
PG = N
Fin Si
I=I+1
Jusqu'à (I = 10)
Ecrire (‘La valeur la plus grand est’, PG)
Fin

Exercice 1 :
Ecrire un algorithme qui demande un nombre de départ, et qui calcule sa factorielle.
NB : la factorielle de 8, notée 8 !, vaut 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8

Solution
Algorithme :
Algo factorielle
Début
Variables N, I, F : Entier
Ecrire (Entrez un nombre N)
Lire (N)
F=1
Pour i = 2 à N
F=F*i
Fin Pour
Ecrire (La factorielle est :), F
Fin

Exercice 2:
Écrire un algorithme qui demande 10 entiers, compte le nombre d’entiers positifs saisis,
et affiche ce résultat.

18
Solution
Algo positifs
Entier a, i, cc
Début
Écrire "Saisir des entiers"
i=0
cc = 0
Tant que (i < 10) faire
Lire (a)
i=i+1
Si (a ≥ 0) alors
cc = cc + 1
Fin si
Fin Tant que
Écrire cc, "sont positifs"
Fin

Ou bien, avec une boucle de type “pour”


Algo positifs
Entier a, i, cc
Début
Écrire "Saisir des entiers"
cc = 0
Pour i = de 1, 10
Lire (a)
Si (a ≥ 0) alors
cc = cc + 1
Fin si
Fin pour
Écrire cc, "sont positifs"
Fin

Exercice 3 :
La population de la ville Alpha est de 1, 000, 000 d’habitants et elle augmente de 50,000
habitants par an. Celle de la ville Beta est de 500, 000 habitants et elle augmente de 4%
par an. Ecrire un algorithme permettant de déterminer dans combien d’années la
population de la ville Beta dépassera celle de la ville Alpha.

Solution
Algorithme Populations
Début
Entier années, alpha, beta
alpha = 10 000 000
beta = 5 000 000

19
années = 0
Tant que (beta ≤ alpha) alors
années = années + 1
alpha = alpha + 50 000
beta = beta ∗ 1.04
Fin tant que
afficher "Il faut " , années , " années pour que la population de beta dépasse celle de
alpha"
Fin

Exercice 4 :
Ecrire un algorithme qui demande à luser un nombre est :
- Affiche les diviseurs de ce nombre.
- Le nombre de ces diviseurs.
- La somme des diviseurs de ce nombre.

Solution
Algo nbr_premier
Variable compt, s, i, N : entier
Ecrire ( entrer N )
Lire (N)
Compt = 0
S=0
Pour i = 2 à N-1
Si (N mod (i) = 0) alors
Ecrire (i)
Compt = compt+1
S = S+i
Fin Si
Fin pour
Ecrire (la somme est :, S)
Ecrire (le nombre des diviseurs est :, compt)
Fin

Remarque
Boucler en comptant, ou compter en bouclant

Variable Truc en Entier


Début
Truc ← 0
TantQue Truc < 15
Truc ← Truc + 1
Ecrire "Passage numéro : ", Truc
FinTantQue Fin
20
Equivaut à :

Variable Truc en Entier


Début
Pour Truc ← 1 à 15
Ecrire "Passage numéro : ", Truc
Truc Suivant
Fin

Insistons : la structure « Pour … Suivant » n’est pas du tout indispensable ; on


pourrait fort bien programmer toutes les situations de boucle uniquement avec un « Tant
Que ». Le seul intérêt du « Pour » est d’épargner un peu de fatigue au programmeur, en
lui évitant de gérer lui-même la progression de la variable qui lui sert de compteur (on
parle d’incrémentation.

Dit d’une autre manière, la structure « Pour … Suivant » est un cas particulier de
TantQue : celui où le programmeur peut dénombrer à l’avance le nombre de tours de
boucles nécessaires.

Nous pouvons donc maintenant donner la formulation générale d’une structure « Pour ».
Sa syntaxe générale est :

Pour Compteur ← Initial à Final Pas ValeurDuPas



Instructions

Compteur suivant

Des boucles dans des boucles


Exemple
Variables Truc, Trac en Entier
Début
Pour Truc ← 1 à 15
Ecrire "Il est passé par ici"
Pour Trac ← 1 à 6
Ecrire "Il repassera par là"
Trac Suivant
Truc Suivant
Fin
21
Dans cet exemple, le programme écrira une fois "il est passé par ici" puis six fois de
suite "il repassera par là", et ceci quinze fois en tout. A la fin, il y aura donc eu 15 x 6 =
90 passages dans la deuxième boucle (celle du milieu), donc 90 écritures à l’écran du
message « il repassera par là ». Notez la différence marquante avec cette structure :

Variables Truc, Trac en Entier


Début
Pour Truc ← 1 à 15
Ecrire "Il est passé par ici"
Truc Suivant
Pour Trac ← 1 à 6
Ecrire "Il repassera par là"
Trac Suivant
Fin

Ici, il y aura quinze écritures consécutives de "il est passé par ici", puis six écritures
consécutives de "il repassera par-là".

Des boucles peuvent donc être imbriquées (cas n°1) ou successives. Cependant, elles ne
peuvent jamais, au grand jamais, être croisées. Cela n’aurait aucun sens logique, et de
plus, bien peu de langages vous autoriseraient ne serait-ce qu’à écrire cette structure
aberrante.

22
6. Les Tableaux
6.0 Utilité des tableaux

Imaginons que dans un programme, nous ayons besoin simultanément de 12 valeurs (par
exemple, des notes pour calculer une moyenne), au lieu de déclarer douze variables,
appelées par exemple Notea, Noteb, Notec, ou par exemple N1, N2, N3, …..N12 pour
calculer la moyenne comme par exemple :
Moy ← (N1+N2+N3+N4+N5+N6+N7+N8+N9+N10+N11+N12)/12

Pour s’en passer, la programmation nous permet de rassembler toutes ces variables en
une seule, au sein de laquelle chaque valeur sera désignée par un numéro : la note numéro
1 , la note numéro 2 , la note numéro 8 .

Un ensemble de valeurs portant le même nom de variable et repérées par un


nombre, s’appelle un tableau, ou encore une variable indicée.

Le nombre qui, au sein d’un tableau, sert à repérer chaque valeur s’appelle
l’indice.

Chaque fois que l’on doit désigner un élément du tableau, on fait figurer le
nom du tableau, suivi de l’indice de l’élément, entre parenthèses.

Exemple :

Supposons que l’on dispose des chiffres d’inflation pour chaque mois. Pour calculer
l’inflation annuelle, il suffit de calculer la somme des données mensuelles.
On stockera alors les données dans un tableau de 12 éléments : Tab_Inflation .
Tab_Inflation :

Pour définir un tableau, il faut préciser un nom commun pour toutes ces données
(ici Tab_Inflation ) et un indice - variable entière pouvant prendre des valeurs
entre 1 et le nombre d’éléments du tableau - (par exemple, i entre 1 et 12). Cet
indice indiquera le rang de l’élément dans le tableau.

Exemple :

Tab_Inflation(1) : ‘ le chiffre de l’inflation du mois de janvier.

23
Tab_Inflation(6) : ‘ le chiffre de l’inflation du mois de juin.

Tab_Inflation(10) : ‘ le chiffre de l’inflation du mois de octobre.

Remarques

1. Selon la provenance des données :

- Tableau interne : ici, les données sont chargées dans le programme ou algorithme.

- Tableau externe : les données proviennent d’un fichier stocké sur un support
magnétique ou amovible.

2. Selon la taille

- Tableau à une dimension ou vecteur

- Tableau deux dimensions ou matrice

6.1 Tableau à une dimension ou vecteur

Si le tableau contient une seule série de données, on dira que sa dimension est
égale à 1 (il s’agit d’un vecteur ou tableau-colonne ou tableau-ligne).

Ce tableau est composé d’une seule ligne et plusieurs colonnes.

Ce tableau est composé d’une seule colonne et plusieurs lignes.

Remarque

Pour déclarer un tableau à une dimension ou vecteur :

24
- Tableau Nomtableau [Nombre d’éléments] type
- Vecteur Nomvecteur [nombre d’éléments] type

Exemple

Tableau DELPHINE [1…12] entier ou


Vecteur DELPHINE [1…12] entier

Ici, le tableau DELPHINE contient 12 éléments entiers.

6.1.1 Notation et utilisation algorithmique

Dans notre exemple, nous créerons donc un tableau appelé Note. Chaque note individuelle
(chaque élément du tableau Note) sera donc désignée Note(0), Note(1), etc.

Remarque
, les indices des tableaux commencent généralement à 0, et non à 1.

La déclaration des tableaux varie d'un langage à l'autre. Certains langages réclament le
nombre d'éléments, d'autre le plus grand indice.

Dans le cadre de notre cours :

• Les "cases" sont numérotées à partir de zéro, autrement dit que le plus petit
indice est zéro.
• Lors de la déclaration d'un tableau, on précise la plus grande valeur de l'indice
(différente, donc, du nombre de cases du tableau, puisque si on veut 12
emplacements, le plus grand indice sera 11).

• Pour notre tableau note composé de 12 éléments, on écrira :

Tableau Note (11) en Entier

L’énorme avantage des tableaux, c’est qu’on va pouvoir les traiter en faisant des boucles.
Par exemple, pour effectuer notre calcul de moyenne, cela donnera par exemple :

25
Tableau Note(11) en Numérique
Variables Moy, Som en Numérique
Début
Pour i ← 0 à 11
Ecrire "Entrez la note n°", i
Lire Note(i)

i Suivant

Som ← 0
Pour i ← 0 à 11
Som ← Som + Note(i) i
Suivant

Moy ← Som / 12
Ecrire ‘’ la moyenne est :’’, Moy
Fin

Remarque générale : l’indice qui sert à désigner les éléments d’un tableau
peut être exprimé directement comme un nombre en clair, mais il peut être
aussi une variable, ou une expression calculée.

Dans un tableau, la valeur d’un indice doit toujours :

• Être égale au moins à 0 (dans quelques rares langages, le premier élément d’un
tableau porte l’indice 1). Mais comme je l'ai déjà écrit plus haut, nous avons choisi
ici de commencer la numérotation des indices à zéro, comme c’est le cas en
langage C et en Visual Basic. Donc attention, Truc(6) est le septième élément du
tableau Truc !
• Être un nombre entier Quel que soit le langage
• Être inférieure ou égale au nombre d’éléments du tableau (moins 1, si l’on
commence la numérotation à zéro).

Remarque

L’affectation :

Pour affecter une valeur à un élément i d’un tableau nommé par exemple DELPHINE, on
écrira :
DELPHINE(i) ← valeur.

26
Par exemple, l’instruction : DELPHINE (0) ← 20 ; affecte au premier élément du tableau
DELPHINE la valeur 20.

Pour affecter la même valeur à tous les éléments d’un tableau DELPHINE de type
numérique et de dimension 100, on utilise une boucle.

Exemple :

Pour i=1 à 100


DELPHINE (i) ← 0 ;
Fin pour

Cette boucle permet de parcourir le tableau DELPHINE élément par élément et affecter
à chacun la valeur 0. La variable i est appelée indice.

La lecture :
Comme les variables simples, il est possible aussi d’assigner des valeurs aux éléments d’un
tableau lors de l’exécution c-à-d. les valeurs sont saisies par l’utilisateur à la demande du
programme.

Exemple :

Écrire "Enter une note :"


Lire DELPHINE (6)
Dans cet exemple, la valeur saisie est affectée au sixième (6ème) élément du tableau
DELPHINE.

L’écriture :

De façon analogue à la lecture, l’écriture de la valeur d’un élément donné d’un tableau
s’écrira comme suit : écrire DELPHINE (i) Cette instruction permet d’afficher la valeur
de l’élément i du tableau DELPHINE

Exemple :
Ecrire un algorithme qui déclare et remplisse un tableau de 7 valeurs numériques réels en
les mettant toutes à zéro.

Solution :

Algorithme :
Algorithme remplissage
Tableau A(7) : réel
Variable i : entier
Début
Pour i = 1 à 7

27
A(i) = 0
Fin Pour
Fin

Exemple :
Ecrire une procédure qui recherche dans un vecteur V de dimension N, l'indice de la
composante contenant la valeur X. Considérer d'abord le cas où l'on est sûr que X se
trouve dans le vecteur, puis le cas général.

Solution :

Algorithme :
Algorithme Indice
Tableau V(N) : réel
Variable I, N, Indice : entier
Début
Lire (N)
Pour I = 1 à N
Si (V(I)=X) alors
Indice = I
Fin Si
Fin Pour
Ecrire (l'indice de la composante contenant la valeur X est), Indice
Fin

6.2 Tableau à deux dimensions

S’il contient 2 séries, sa dimension est égale à 2, c’est une matrice.

Exemple :

Considérons les chiffres mensuels de l’inflation, du chômage et des prix à la


consommation. Nous stockerons ces 3 séries de données dans une matrice (tableau
à 2 dimensions) :

Remarque

Pour déclarer un tableau à deux dimensions ou matrice :

Tableau Nomtableau [Nombre de colonnes, nombre de lignes] type

- Matrice Nommatrice [Nombre de colonnes, nombre de lignes] type

28
Exemple

Tableau DELPHINE [1…12, 1..7] entier ou

Matrice DELPHINE [1..12, 1..7] entier

----ici, le Tableau ou la matrice DELPHINE est composé de 12 colonnes et 7 lignes.

6.3. Tableaux dynamiques

Il arrive fréquemment que l’on ne connaisse pas à l’avance le nombre d’éléments que devra
comporter un tableau. Ainsi, pour parer à ce genre de situation, a-t-on la possibilité de
déclarer le tableau sans préciser au départ son nombre d’éléments. Ce n’est que dans un
second temps, au cours du programme, que l’on va fixer ce nombre via une instruction de
redimensionnement : Redim.

Notez que tant qu’on n’a pas précisé le nombre d’éléments d’un tableau, d’une
manière ou d’une autre, ce tableau est inutilisable.

Exemple : on veut faire saisir des notes pour un calcul de moyenne, mais on ne sait pas
combien il y aura de notes à saisir.

Le début de l’algorithme sera quelque chose du genre :

Tableau Notes() en Numérique


Variable nb en Numérique
Début
Ecrire "Combien y a-t-il de notes à saisir ?"
Lire nb
Redim Notes(nb-1)

Cette technique n’a rien de sorcier, mais elle fait partie de l’arsenal de base de la
programmation en gestion.

6.4. Tri d’un tableau

On présente quelques algorithmes utiles, qui permettent d'ordonner les éléments d'un
tableau dans un ordre croissant ou décroissant. L'ordre est par défaut croissant. Un
vecteur est dit trié si V(i) <=V (i+1),

Il existe plusieurs stratégies possibles pour trier les éléments d’un tableau ; nous en
verrons deux : le tri par sélection, et le tri à bulles

29
6.4.1.1 Le tri par Sélection

Admettons que le but de la manœuvre soit de trier un tableau de 12 éléments dans


l’ordre croissant. La technique du tri par sélection est la suivante : on met en bonne
position l’élément numéro 1, c’est-à-dire le plus petit. Puis en met en bonne position
l’élément suivant. Et ainsi de suite jusqu’au dernier. Par exemple, si l’on part de :

45 122 12 3 21 78 64 53 89 28 84 46

On commence par rechercher, parmi les 12 valeurs, quel est le plus petit élément, et où il
se trouve. On l’identifie en quatrième position (c’est le nombre 3), et on l’échange alors
avec le premier élément (le nombre 45). Le tableau devient ainsi :

3 122 12 45 21 78 64 53 89 28 84 46

On recommence à chercher le plus petit élément, mais cette fois, seulement à partir du
deuxième (puisque le premier est maintenant correct, on n’y touche plus). On le trouve en
troisième position (c’est le nombre 12). On échange donc le deuxième avec le troisième :

3 12 122 45 21 78 64 53 89 28 84 46

On
recommence à chercher le plus petit élément à partir du troisième (puisque les deux
premiers sont maintenant bien placés), et on le place correctement, en l’échangeant, ce

3 12 21 45 122 78 64 53 89 28 84 46
qui

donnera in fine :

Et cetera, et cetera, jusqu’à l’avant dernier.

En bon français, nous pourrions décrire le processus de la manière suivante :

• Boucle principale : prenons comme point de départ le premier élément, puis le


second, etc, jusqu’à l’avant dernier.

• Boucle secondaire : à partir de ce point de départ mouvant, recherchons jusqu’à la


fin du tableau quel est le plus petit élément. Une fois que nous l’avons trouvé, nous
l’échangeons avec le point de départ.
30
Cela s’écrit :

Début

Entier i, Posmini, j
Réel temp
Dimension t(10)
Pour i=0 à 10
Lire t(i)
Fin Pour

Boucle principale : le point de départ se décale à chaque tour


Pour i=0 à 10
posmini = i

On examine tous les éléments suivants


Pour j=i + 1 à 11
Si (t(j) < t(posmini)) Alors
Posmini= j
Fin si
j suivant
A cet endroit, on sait maintenant où est le plus petit élément. Il ne reste plus qu'à
effectuer la permutation.

temp ← t(posmini)
t(posmini) ← t(i)
t(i) ← temp

On a placé correctement l'élément numéro i, on passe à présent au suivant.


i suivant
Fin

6.4.2 Tri à bulles

L’idée de départ du tri à bulles consiste à se dire qu’un tableau trié en ordre croissant,
c’est un tableau dans lequel tout élément est plus petit que celui qui le suit. En effet,
prenons chaque élément d’un tableau, et comparons-le avec l’élément qui le suit. Si l’ordre
n’est pas bon, on permute ces deux éléments. Et on recommence jusqu’à ce quel’on n’ait
plus aucune permutation à effectuer. Les éléments les plus grands remontent ainsi peu à
peu vers les dernières places. En fait, tout ce qu’on peut dire, c’est qu’on devra effectuer
le tri jusqu’à ce qu’il n’y ait plus d’éléments qui soient mal classés.

31
Début
Variable logique Yapermute
Dimension t(10)
Pour i=0 à 10
Lire t(i)
Fin Pour
Yapermut=Vrai
TantQue (Yapermut) Alors
Yapermut=Faux
Pour i=0 à 10
Si (t(i) > t (i+1)) alors
Temp=t(i)
t(i)=t(i+1)
t(i+1)=temp
Yapermut=Vrai
Finsi
Fin Pour
FinTantQue
Fin

Commentaire

Variable Yapermute en Booléen


Début
TantQue Yapermute

FinTantQue
Fin

Que va-t-on faire à l’intérieur de la boucle ? Prendre les éléments du tableau, du premier
jusqu’à l’avant-dernier, et procéder à un échange si nécessaire.

Variable Yapermute en Booléen


Début
Dimension t(10)

32
TantQue Yapermute
Pour i ← 0 à 10
Si t(i) > t(i+1) Alors
temp ← t(i)
t(i) ← t(i+1)
t(i+1) ← temp
Finsi

i suivant
Fin

Mais il ne faut pas oublier un détail capital : la gestion de notre flag. L’idée, c’est que
cette variable va nous signaler le fait qu’il y a eu au moins une permutation effectuée. Il
faut donc :

• Lui attribuer la valeur Vrai dès qu’une seule permutation a été faite (il suffit qu’il
y en ait eu une seule pour qu’on doive tout recommencer encore une fois).

• La remettre à Faux à chaque tour de la boucle principale (quand on recommence un


nouveau tour général de bulles, il n’y a pas encore eu d’éléments échangés),

• Dernier point, il ne faut pas oublier de lancer la boucle principale, et pour cela de
donner la valeur Vrai au flag au tout départ de l’algorithme.
La solution complète donne donc :

Variable Yapermute en Booléen


Début

33

Yapermut ← Vrai
TantQue Yapermut
Yapermut ← Faux
Pour i ← 0 à 10
Si t(i) > t(i+1) alors
temp ← t(i)
t(i) ← t(i+1)
t(i+1) ← temp

Yapermut ← Vrai
Finsi

i suivant
FinTantQue
Fin

Exercices

Exercice 1 :
Que produit l’algorithme suivant ?
Algo Carre
Début
Tableau Nb(5) en Entier
Variable i en Entier
Pour i = 0, 5
Nb(i) ← i * i
Fin Pour
Pour i = 0, 5
Ecrire Nb(i)
Fin Pour
Fin
Peut-on simplifier cet algorithme avec le même résultat ?

Exercice 2 :
Écrivez un algorithme permettant, à l’utilisateur de saisir les notes d’une classe. Le
programme, une fois la saisie terminée, renvoie le nombre de ces notes supérieures à la
moyenne de la classe.
Exercice 3:
Que font les algorithmes suivants ?
a)
34
Var i, n (10) entier
Debut
n [0] ← 1
Pour i allant de 1 a 9
Faire
N(i) ← n (i-1) + 2
Fin
b)
Var i, n [10] entier
Début
Pour i allant de 0 a 9
Faire
N(i) ← 2 * i
Fin

Exercice 4:
Ecrire un algorithme permettant de résoudre le problème suivant :
– Données : un tableau contenant 100 entiers
– Résultat : “vrai” si le tableau est trié du plus petit au plus grand et “faux” sinon

Exercice 5:
Ecrire un algorithme permettant de saisir 100 valeurs et qui les range au fur et à mesure
dans un tableau.

Exercice 6:
Ecrire un algorithme qui calcule le plus grand écart dans un tableau d’entiers. Rappel :
l’écart entre deux entiers x et y est la valeur absolue de leur différence |x − y|.

Solutions des exercices:

Exercice 1 :
Cet algorithme remplit un tableau avec le carré de six valeurs : 0, 1, 2, 3, 4, 5.
Il les écrit ensuite a l’écran.
Simplification :
Algo Carre
Début
Tableau Nb(5) en Entier
Variable i en Entier
Pour i = 0, 5
Nb(i) ← i * i
Ecrire Nb(i)
Fin PouExercice 2 :
Algo classe
Début
Tableau T(Nb)
Variable i, Nb, Nbsup en Entier

35
Variable Som, Moy en réel
Ecrire “Entrez le nombre de notes à saisir : “
Lire (Nb)
Pour i = 1, Nb
Ecrire “Entrez le nombre numéro”, i
Lire T(i)
Fin Pour
Som = 0
Pour i = 1, Nb
Som = Som + T(i)
Fin Pour
Moy =Som / Nb
NbSup =0
Pour i =1, Nb
Si (T(i) > Moy) Alors
NbSup =NbSup + 1
FinSi
Fin Pour
Ecrire NbSup, “élèves dépassent la moyenne de la classe”
Fin

Exercice 3:
a) Initialisation d’un tableau avec les 10 premiers nombres impairs
b) Initialisation d’un tableau avec les 10 premiers nombres pairs
Exercice 4:
Algorithme Test
Début
Entier i
Tableau T (100)
Logique Trié
Trié = vrai
i=0
Tant que ((Trié = vrai) et (i < 99)) alors
Trié = (T (i) ≤ T (i +1))
i = i +1
Fin tant que
Ecrire Trié
Fin

Exercice 5:
Algorithme Exercice

36
Entier i, j, x
Tableau Entier T1 (100)
Logique positionné
Début
Pour i=0, 100
Afficher "Entrez votre valeur : "
Lire x
j=i
Tant que ((j > 0) et (T1 (j −1) > x) alors
T1 (j) = T1 (j −1)
j = j −1
T1 (j) = x
Fin

Exercice 6:

Algorithme écart

Entier tableau(n), i, Min, Max


Début
Pour i=0, n −1
Lire tableau(i)
Fin Pour
Min = tableau(i)
Max = tableau (i)
Pour i=0, n −1
Si (tableau(i)) < min) alors
Min = tableau (i)
Fin si
Si (tableau(i)> max) alors
Max = tableau(i)
Fin si
Ecrire (max – min)
Fin

Exercices

Exercice 1 :
Ecrire un algorithme qui inverse l’ordre d’un tableau des 100 entiers triés. En d’autres
termes, si le tableau est trié du plus petit au plus grand, alors l’algorithme retourne le
tableau trié du plus grand au plus petit ; réciproquement, si le tableau est trié du plus
grand au plus petit, alors l’algorithme retourne le tableau trié du plus petit au plus grand.

Exercice 2 :
1- Que produit l’algorithme suivant ?

37
Tableau Nb(5) en Entier
Variable i en Entier
Début
Pour i ← 0 à 5
Nb(i) ← i * i
Fin pour
Pour i ← 0 à 5
Ecrire Nb(i)
Fin pour
Fin
2- Peut-on simplifier cet algorithme avec le même résultat ?
3- Traduire l’algorithme en programme fortran puis exécuter et affichés l’état de
l’écran.

Exercice 1 :
Algorithme Inversion tableau
Variables entier i, n
Tableau T [100]
Début
Lire n
Pour i de 0 à n
Lire T(i)
Fin
Pour i de 0 à n/2
C=T(i)
T(i) = T (n −i −1)
T (n −i −1) =c
Fin pour
Fin

Exercice 2 :
1- Cet algorithme remplit un tableau avec six valeurs : 0, 1, 4, 9, 16, 25. Il les écrit
ensuite à l’écran.
2- Simplification :

Tableau Nb(5) en Numérique


Variable i en Numérique
Début
Pour i = 0 à 5
Nb(i) = i * i
Ecrire Nb(i)
Fin pour
Fin

7. La recherche dans un tableau

38
Nous allons maintenant nous intéresser au maniement habile d’une variable booléenne : la
technique dite du « flag ».

Le flag, en anglais, est un petit drapeau, qui va rester baissé aussi longtemps que
l’événement attendu ne se produit pas. Et, aussitôt que cet événement a lieu, le petit
drapeau se lève (la variable booléenne change de valeur). Ainsi, la valeur finale de la
variable booléenne permet au programmeur de savoir si l’événement a eu lieu ou non.

Soit un tableau comportant, disons, 20 valeurs. L’on doit écrire un algorithme saisissant
un nombre au clavier, et qui informe l’utilisateur de la présence ou de l’absence de la
valeur saisie dans le tableau.

L'algorithme donne :

Tableau Tab(19) en Numérique


Variable N en Numérique
Début
Ecrire "Entrez la valeur à rechercher"
Lire N
Trouvé ← Faux
Pour i ← 0 à 19
Si N = Tab(i) Alors
Trouvé ← Vrai
FinSi

i suivant
Si Trouvé Alors
Ecrire "N fait partie du tableau"
Sinon
Ecrire "N ne fait pas partie du tableau"
FinSi
Fin

39
BIBLIOGRAPHIE

 ALOIO CARDON et CHRISTOPHE DABANCOURT, Initiation à l’algorithme objet, Ed.


Eyrolles, Paris 2003.

 ANDRE GRIBAUMONT- GUY LATOUCHE-YVES ROGGEMAN, Algorithme-Programmes et


Langage Pascal, Ed. BOECK, Bruxelles, 2010

 ARSAC J, La construction des programmes structurés, Ed. Dunod, Paris 2005.

 BOUSSARD J.C et MAHL R., Programmation avancée : Algorithme et structure des


données, Ed. Eyrolles, Paris 2011.

 HENRI Pierre charles, initiation à l’informatique : Programmation algorithmique,


Architecture, Ed. Eyrolles, Paris, 2007.

40
PLAN DU COURS

Introduction à l’Algorithmique

1. Qu’est-ce que l’algorithme ?


2. Faut-il être matheux pour être bon en algorithmique ?
3. Algorithmique et programmation
4. Conventions pour écrire un algorithme

1. Les Variables

1.0 A quoi servent les variables ?


1.1 Déclaration des variables
1.2. Types des variables
 Les variables du type numérique
 Les variables du type alphanumérique
 Les variables du type booléen
1.3 Affectation d’une variable
2. Expressions et opérateurs
3. Les instructions de lecture et d’écriture
4. Structures de contrôle conditionnel
4.1 Test alternatif simple
4.2 Test alternatif double
4.3 Tests imbriqués
5. Les Boucles : Structures répétitives ou Structures itératives
 La boucle TANT QUE
 La boucle REPETER ... JUSQUA ...
6. Les Tableaux
6.0 Utilité des tableaux

61 Tableau à une dimension ou vecteur


6.2 Tableau à deux dimensions
6.3 Tableaux dynamiques
6.4 Tri d’un tableau
6.4.1 Le tri par Sélection
6.4.2 Tri à bulles
7. la recherche dans un tableau

41

Vous aimerez peut-être aussi