Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI...

84
Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction

Transcript of Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI...

Page 1: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 1

Powerpoint Templates

Partie InformatiqueAlgorithmique

A. LOTFI

Introduction

Page 2: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 2

Objectifs

Algorithmique

Complexité algorithmique

Les types de données

Les structures de données

La récursivité

Les Arbres

Les algorithmes de Tri

Page 3: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 3

AlgorithmiqueIntroduction

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

L’algorithmique exprime les instructions à effectuer pour résoudre un problème donné indépendamment des particularités de tel ou tel langage.

Pour fonctionner, un algorithme doit donc contenir uniquement des instructions compréhensibles par celui qui devra l’exécuter.

La vérification méthodique, pas à pas, de chacun de vos algorithmes représente plus de la moitié du travail à accomplir... et la garantie de vos progrès.

Page 4: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 4

AlgorithmiqueIntroduction

Donc :Un Algorithme : enchaînement des actions (instructions)

nécessaires pour résoudre un problème

On trouve différentes appellationslangage algorithmique pseudo-langage de programmation pseudo-code …

Page 5: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 5

AlgorithmiqueIntroduction

Qu’est ce qu’un ordinateur ? Une machine totalement dénuée d'intelligence Capable d’effectuer un grand nombre de tâches Exécute très rapidement et sans erreurs les ordres qu'on lui

donne

Qu’est-ce qu’un programme ? Assemblage et enchaînement d’instructions élémentaires Écrit dans un langage de programmation Exécuté par un ordinateur afin de traiter les données d’un

problème Et renvoyer un ou plusieurs résultats

Un programme est réalisé dans le but d’effectuer un ensemble de traitements particuliers sur un ensemble de données

Définir sous quelle forme les données initiales seront fournies à l’application

Définir sous quelle forme les résultats seront communiqués Expliciter les différentes actions à effectuer pour réaliser cette

tâche

Page 6: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 6

AlgorithmiqueDonnées et Mémoire

La mémoire : c'est l'espace où les données sont rangées pour fin d'utilisation par l'algorithme

La mémoire est comme un ensemble de casiers postauxUne case contient une donnéePour accéder à une donnée, on indique le numéro du casier (ou adresse mémoire)Pour stocker une donnée, on indique le numéro du casier et la valeur à stocker

1 2 3 4 5 64

33

567 8 9 10 11 12

Page 7: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 7

AlgorithmiqueCodage des Nombres

Plusieurs bases de codage possibles Base 10 (décimale) : base de calcul usuelle Base 24 : heures Base 60 : minutes, secondes, degrés Base 12 : douzaine

Bases les plus utilisées Pour les êtres humains : base décimale Pour un ordinateur : Base binaire (2) et dérivées : base

hexadécimale (16) ou octale (8)

Origine de l'utilisation du binaire : absence ou présence de courant électrique (0 ou 1) comme base de codage

Page 8: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 8

AlgorithmiqueCodage des Nombres

HistoriqueCodage des nombres : dans un but de calculApparition du calculDès la préhistoire on comptait avec des cailloux et

avec ses doigtsCalcul vient du latin calculi signifiant caillou

AntiquitéChaque civilisation (Musulmans, Grecs, Romains,

Chinois, Mayas ...) avait développé des : Systèmes et bases de numérotation Méthodes pour compter et calculer

Page 9: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 9

AlgorithmiqueCodage des Nombres

Origine des systèmes de numérotation

Base 10 : nombre des doigts des 2 mainsChiffres romains : V = 5 et X = 10

Base 20 : mains et piedsMoins pratique, a disparu ...

Base 12 : 3 phalanges et 4 doigts (le pouce sert à positionner le chiffre)

Base 60 : les doigts de la deuxième main comptent le deuxième chiffre (60 = 5 x 12)

Page 10: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 10

AlgorithmiqueCodage des Nombres

Pour une base B, il y a B symboles différents (les chiffres de cette base)Base 10 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9Base 2 : 0, 1 un chiffre = un bit (binary

digit)

Base 4 : ▲♦■●Base 8 : 0, 1, 2, 3, 4, 5, 6, 7Base 16 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,

C, D, E, F

Page 11: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 11

AlgorithmiqueConversion des bases

Valeur en décimal (base 10) d'un nombre

« anan-1 ... a1a0 » codé dans une base B

anBn + an-1Bn-1 + ... a1B + a0

En prenant la valeur décimale de chaque chiffre ax

Exemples (1234)10 = 1 x 103 + 2 x 102 + 3 x 10 + 4

(11001)2 = 1 x 24 + 1 x 23 + 0 x 22 + 0 x 2 + 1

= 16 + 8 + 1 = 25 (1C04)16 = 1 x 163 + 12 x 162 + 0 x 16 + 4

= 4096 + 12 x 256 + 0 + 4 = 7172

avec A = 10, B = 11, C = 12, D = 13, E = 14, F = 15

Page 12: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 12

AlgorithmiqueConversion des bases

Schéma de Horner Pour calculer la valeur décimale N de :

« anan-1...a1a0 » codé en base B

Pn = anB + an-1

Pn-1 = PnB + an-2

Pn-2 = Pn-1B + an-3

...P1 = P2B + a0 = N

Exemple : pour (1234)10, B=10, n=3p3 = a3 x B + a2 = 1 x 10 + 2 = 12

p2 = p3 x B + a1 = 12 x 10 + 3 = 123

p1 = p2 x B + a0 = 123 x 10 + 4 = 1234

Page 13: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 13

AlgorithmiqueConversion des bases

Schéma de HornerExemples : (11001)2, B=2, n=4

p4 = 1 x 2 + 1 = 3

p3 = 3 x 2 + 0 = 6

p2 = 6 x 2 + 0 = 12

p1 = 12 x 2 + 1 = 25

(1C04)16, B=16, n=3p3 = 1 x 16 + 12 = 28

p2 = 28 x 16 + 0 = 448

p1 = 448 x 16 + 4 = 7172

Page 14: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 14

AlgorithmiqueConversion des bases

Décimal base BExemple : (1234)10 en décimal

1234 / 10 = 123 reste 4123 / 10 = 12 reste 312 / 10 = 1 reste 21 < 10 donc on arrêteRésultat : 1234

Page 15: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 15

AlgorithmiqueConversion des bases

Décimal base BExemple : (25)10 en binaire

25 / 2 = 12 reste 112 / 2 = 6 reste 06 / 3 = 2 reste 03 / 2 = 1 reste 11 < 2 donc on arrêteRésultat : (11001)2

Page 16: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 16

AlgorithmiqueConversion des bases

Décimal base BCas Particuliers

Conversion du binaire à l'octal/hexadécimal ou inverse

1 chiffre octal = un groupe de 3 chiffres binaires 1 chiffre hexadécimal = un groupe de 4 chiffres

binaires (000)2 = 0, (001)2 = 1.... (110)2 = 6, (111)2 = 7

Avec 3 bits, on code les 8 chiffres de la base octale

(0000)2 = 0, (0001)2 = 1 .... (1110)2 = 14 = (E)16,

(1111)2 = 15 = (F)16

Avec 4 bits, on code les 16 chiffres de la base hexadécimale

Page 17: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 17

AlgorithmiqueConversion des bases

Décimal base BCas Particuliers

Conversion du binaire à l'octal/hexadécimal ou inverse

Exemple : (10110001101)2 en octal

On regroupe par groupes de 3 bits :

010 110 001 101 On rajoute des zéros au début au besoin (010)2 = 2, (110)2 = 6, (001)2 = 1, (101)2= 5

(10110001101)2 = (2615)8

Page 18: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 18

AlgorithmiqueConversion des bases

Décimal base BCas Particuliers

Conversion du binaire à l'octal/hexadécimal ou inverse

Exemple : (10110001101)2 en hexadécimal

On regroupe par groupes de 4 bits :

0011 1000 1101 (0011)2 = 5 , (1000)2 = 8, (1101)2 = 13

(10110001101)2 = (58D)16

Page 19: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 19

AlgorithmiqueCodage des Nombres

On a vu le codage des nombres entiers positifs dans différentes bases. Mais on doit aussi pouvoir manipuler des :Nombres réelsNombres négatifs

Le signe … Représentation en virgule fixe:

(N)B = an an-1 ... a1 a0 , b1 b2 ... bm-1 bm

= anBn + an-1Bn-1 + ... a1B + a0 +

b1B-1 + b2B-2 + ... bm-1B-m+1 + bmB-m

Page 20: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 20

AlgorithmiqueCodage des Nombres

Représentation en virgule flottante

Principe et intérêtsAvoir une virgule flottante et une précision limitéeNe coder que des chiffres significatifs

N = +/- M x BEN = nombre codéM = mantisse : nombre de X chiffres de la base BE = exposant : nombre de Y chiffres de la base B+/- = codage du signe : positif ou négatif

Le nombre est présenté sous forme normalisée pour déterminer la mantisse et exp.

Pas de chiffre avant la virgule : 0,XXXXX x BE

Page 21: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 21

AlgorithmiqueCodage des Nombres

Représentation en virgule flottante

Exemples 1234,5 en base 10

On normalise pour n'avoir que des chiffres après la virgule : 0,12345 x 104

Mantisse codée = 12345, exposant = 4, signe = +

Standard IEEE 754 : codage binaire de réels en virgule flottante

Précision simple : 32 bits1 bit de signe, 8 bits exposant, 23 bits mantisse

Précision double : 64 bits1 bit de signe, 11 bits exposant, 52 bits mantisse

Page 22: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 22

AlgorithmiqueCodage des Nombres

Les Entiers

Principe : considérer que le bit de poids fort code le signe

0 = entier positif, 1 = entier négatifBit de poids fort : le plus à gaucheBit de poids faible : le plus à droiteLes autres bits codent le nombre en valeur absolue

Nécessité de savoir sur combien de bits on code le nombre pour déterminer quel bit code quoi

Exemples si codage sur 4 bits (0111)2 = 7 car bit de poids fort à 0

(1111)2 = -7 car bit de poids fort à 1

Page 23: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 23

AlgorithmiqueCodage des Nombres

Les Entiers Un ordinateur manipule des nombres binaires

sous forme de 8 bits = un Octet = 1 ByteDonnées codées sur un ou plusieurs octets :8 bits, 16 bits, 32 bits, 64 bits ...Avec p bits, on code N valeurs avec 0 ≤ N ≤ 2p - 1Avec 16 bits, on peut coder 216 = 65536 valeurs

différentesSoit les entiers de 0 à 65535 pour les entiers

positifs

Page 24: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 24

AlgorithmiqueCodage des Nombres

Les Entiers Pour un entier signé sur 16 bits :

Nombres positifs : 0XXXXXXXXXXXXXXXNombres négatifs : 1XXXXXXXXXXXXXXXOn a 15 bits pour coder la valeur absolue du

nombre soit 215 = 32768 valeurs possiblesPour le positif : de 0 à 32767Pour le négatif : de -0 à -32767Pour p bits : -(2p-1 - 1) ≤ N ≤ 2p-1 - 1 Inconvénient : on code 2 fois le 0

Page 25: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 25

AlgorithmiqueLes Variables

Dans un programme informatique, on va avoir en permanence besoin de stocker provisoirement des valeurs de types différents: utilisation de variables

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.

Déclaration des variables => créer la boîte et de lui coller une étiquette.

Le nom de la variable (l’étiquette de la boîte) obéit à des impératifs changeant selon les langages:

Un nom de variable correct commence impérativement par une lettre.

Comporte des lettres et des chiffres, mais qui exclut la plupart des signes de ponctuation, en particulier les espaces.

Page 26: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 26

AlgorithmiqueLe Type

Le type de la boite précise ce que l’on voudra mettre dedans, car de cela dépendent la taille de la boîte

Les principaux types de base sont :

Types numériques Type alphanumérique Type booléen

Le type est défini en fonction des besoins

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

Les autres types sont généralement composés à partir des types de base.

Page 27: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 27

AlgorithmiqueL’instruction d’affectation

Affecter une variable c’est lui attribuer une valeur => mettre un contenu dans la boite.

En pseudo-code, l'instruction d'affectation se note avec le

signe ←maVariable ← 24 //Attribue la valeur 24 à la variable maVariable

Il faut vérifier :La comptabilité entre le contenant et le contenuLa variable désigné doit être au préalable déclarée

Page 28: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 28

AlgorithmiqueL’instruction d’affectation

Différence avec le = mathématiques

Quand on dit qu'une variable prend pour valeur une autre variable, ça ne veut pas dire qu'elles seront toujours égales !

Cela veut seulement dire que la première variable va prendre la valeur de la seconde

Le contenu de la première boite sera le même celui de la seconde boite…

Mais si on modifie le contenu de la seconde boite après, ça n’a pas d’impact sur le contenu de la première boite !

Page 29: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 29

AlgorithmiqueL’instruction d’affectation

Différence avec le = mathématiques

Exemples

Algo : x <- y différend de y <- xMaths : x = y équivaut à y = x

Algo : x + 12 <- y impossible !Maths : x + 12 = y a un sens

Algo : x <- x + 7 a un sensMaths : x = x + 7 impossible

Page 30: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 30

AlgorithmiqueExemple de variables

Identificateur : XType : entierValeur : 25

Identificateur : YType : réelValeur : 3,7

Mémoire centrale(mémoire vive)

25X

3,7Y

Page 31: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 31

AlgorithmiqueLes Opérateurs

Les opérations possibles sur les variables dépendent de leur type

On ne peux pas par exemple multiplier des mots…

Pour le Type Réel

Page 32: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 32

AlgorithmiqueLes Opérateurs

Pour le Type Entier

Page 33: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 33

AlgorithmiqueLes Opérateurs

Pour le Type Caractère

Pour le Type Chaîne de caractères

Page 34: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 34

AlgorithmiqueLes Opérateurs

Pour le Type Booléen

Page 35: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 35

AlgorithmiqueExemples

Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?Variables A, B en EntierDébut

A ← 5B ← 2A ← BB ← A

Fin

Moralité : les deux dernières instructions permettent-elles d’échanger les deux valeurs de B et A ? Si l’on inverse les deux dernières instructions, cela change-t-il quelque chose ?

Page 36: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 36

AlgorithmiqueCorrection

Instruction         Etat des Variables

A ← 5     A = 5          B = ?

B ← 2        A = 5          B = 2

A ← B          A = 2          B = 2

B ← A         A = 2         B = 2

Les deux dernières instructions ne permettent donc pas d’échanger les deux valeurs de B et A, puisque l’une des deux valeurs (celle de A) est ici écrasée.

Si l’on inverse les deux dernières instructions, cela ne changera rien du tout, hormis le fait que cette fois c’est la valeur de B qui sera écrasée.

DébutA ← 5B ← 2A ← BB ← A

Fin

Page 37: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 37

AlgorithmiqueExemples

Un classique absolu, qu’il faut absolument maîtriser :

écrire un algorithme permettant d’échanger les valeurs de deux variables A et B, et ce quel que soit leur contenu préalable.

SolutionDébut

…C ← AA ← BB ← C

FinRemarque

On est obligé de passer par une variable dite temporaire (la variable C).

Page 38: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 38

AlgorithmiqueExercice

On dispose de trois variables A, B et C. Ecrivez un algorithme transférant à B la valeur de A, à C la valeur de B et à A la valeur de C (toujours quels que soient les contenus préalables de ces variables).

SolutionDébut

…D ← CC ← BB ← AA ← D

FinRemarqueEn fait, quel que soit le nombre de variables, une seule variable temporaire suffit…

Page 39: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 39

AlgorithmiqueLes Instructions

Les Branchements

Le test booléen

Si condition alors

Instruction(s)

Sinon Instruction(s)

Fin si (fsi)

Page 40: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 40

AlgorithmiqueLes Instructions

Les Branchements

Sélection de cas

Cas [variable]

1er cas: Instruction(s)

2ème cas: Instruction(s)

Cas échéant: Instruction(s)

Fin cas

Page 41: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 41

AlgorithmiqueLes Instructions

Les Boucles

La boucle pour

Pour [variable] de v_début à v_fin faire

Instruction(s)

Fin Pour (fpour)

Page 42: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 42

AlgorithmiqueLes Instructions

Les Boucles

La boucle tant que (while … do)

Tant que condition(s) vérifiée faire

Instruction(s)

Fin tant que (ftq)

Autre forme (do … while)

Faire

Instruction(s)

Tant que condition(s) vérifiée

Page 43: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 43

AlgorithmiqueLes Instructions

Les Boucles

La boucle répéter (repeat … until)

Répéter

Instruction(s)

Jusqu’à condition de sortie

Page 44: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 44

AlgorithmiqueLes Instructions

Les Boucles

Choix de la boucle

La règle est simple :

Si le nombre d’itérations est connu à priori, alors on utilise une boucle Pour.

Sinon Si l’instruction est exécutée au moins une seule fois, on utilise Répéter…jusqu’à (ou sa version faire…tant que)

Sinon on utilise la boucle Tant que … faire

Page 45: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 45

AlgorithmiqueLes Procédures

Une procédure est un sous-programme

Sert à découper un programme en plusieurs morceaux

Chaque procédure définit une nouvelle instruction qu’on peut appeler en tout endroit du programme réutilisation de code

Découpage de programme analyse descendante du plus général au détail

Syntaxe

Procédure nom_procédure([Paramètres])

Début

Instruction(s)

Fin

Page 46: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 46

AlgorithmiqueLes Fonctions

Une fonction est une procédure qui renvoie un résultat, de manière à ce qu’on puisse l’appeler dans une expression : y cos(x)+1

Syntaxe

Fonction nom_fonction([Paramètres])

Début

Instruction(s)

Retourner(résultat)

Fin

Page 47: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 47

AlgorithmiqueComplexité Algorithmique

L’exécution d’un programme a un coût Le temps d’exécution L’espace mémoire requi

Aujourd’hui, point sensible temps

La théorie de la complexité algorithmique s'intéresse à l'estimation de l'efficacité des algorithmes.

Elle s'attache à la question : entre différents algorithmes réalisant une même tâche, quel est le plus rapide et dans quelles conditions ?

Illustration : Etude de la complexité et mesure des performances de quelques algorithmes bien connus

Tri par sélection Tri par insertion Tri par bulles Tri rapide

Page 48: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 48

AlgorithmiqueComplexité Algorithmique

DominationLa notation grand O de Landau dénote le caractère dominé d'une fonction par rapport à une autre.DéfinitionSoient f et g deux fonctions de la variable réelle x. On dit que f est dominée par g en +∞, ou que g domine f en +∞, et on note

Lorsqu'il existe des constantes N et C telles que

Intuitivement, cela signifie que f ne croît pas plus vite que g.

Page 49: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 49

AlgorithmiqueComplexité Algorithmique

Voici une liste de catégories de fonctions couramment utilisées en analyse.

notation croissance

O(1) constante

O(log(n)) logarithmique

O((log(n))c) polylogarithmique

O(n) linéaire

O(n log(n))parfois appelée « linéarithmique », ou « quasi-linéaire »

O(n2) quadratique

O(nc) polynomiale

O(cn) exponentielle, parfois « géométrique »

O(n!) factorielle

Page 50: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 50

AlgorithmiqueComplexité Algorithmique

Règles utilesRègle 1:

La complexité d’un semble d’instructions est la somme des complexités de chacune d’elles.

Règle 2: Les opérations élémentaires telle que l’affectation, test, accès à un tableau, opérations logiques et arithmétiques, lecture ou écriture d’une variable simple ... etc, sont en O(1)

Règle 3:

Instruction if: maximum entre le then et le elseLe switch: maximum parmi les différents cas

Page 51: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 51

AlgorithmiqueComplexité Algorithmique

Règles utilesRègle 4: Instructions de répétition1. La complexité de la boucle for est calculée par la

complexité du corps de cette boucle multipliée par le nombre de fois qu’elle est répétée.

2. En règle générale, pour déterminer la complexité d’une boucle while, il faudra avant tout déterminer le nombre de fois que cette boucle est répétée, ensuite le multiplier par la complexité du corps de cette boucle.

Règle 5: Procédure et fonctionLeur complexité est déterminée par celle de leur corps. L’appel à une fonction est supposé prendre un temps constant en O(1)Notons qu’on fait la distinction entre les fonctions récursive et celles qui ne le sont pasDans le cas de la récursivité, le temps de calcul est exprimé comme une relation de récurrence.

Page 52: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 52

AlgorithmiqueRécursivité

Page 53: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 53

AlgorithmiqueRécursivité

Définition: Une fonction est récursive si elle fait appel à elle-même

d’une manière directe ou indirecte La récursivité est une technique de programmation très

utile qui permet de trouver des solutions d’une grande élégance à un certain nombre de problèmes.

Attention!

Lorsqu’elle mal utilisée, cette subtilité informatique peut créer un code totalement inefficace.

Propriétés

La récursivité (appels de la fonction à elle-même) doit s’arrêter à un moment donné (test d’arrêt). Autrement, l’exécution va continuer indéfiniment

Un processus de réduction: à chaque appel, on doit se rapprocher de la condition d’arrêt.

Page 54: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 54

AlgorithmiqueRécursivité

Exemple

Vision itérative: Un escalier de hauteur h c’est :

une séquence de h marches Vision récursive: Un escalier de hauteur h c’est :

une marche suivie d’un escalier de hauteur h−1

Page 55: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 55

AlgorithmiqueRécursivité

Recette de récursivité S’assurer que le problème peut se décomposer en un ou

plusieurs sous-problèmes de même nature

Identifier le cas de base qui est le plus petit problème qui ne se décompose pas en sous-problèmes

Résoudre(P) = si P est un cas de base, le résoudre directement sinon

décomposer P en sous-problèmes P1, P2,... résoudre récursivement P1, P2,... combiner les résultats obtenus pour P1, P2,

…, pour obtenir la solution et avoir la solution au problème de départ.

Page 56: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 56

AlgorithmiqueRécursivité

Fonctionnement Création d’une pile pour la sauvegarde entre autres des

paramètres d’appels de la procédure et la l’adresse de retour.

ExempleCalculer le factoriel de n, noté n!

Le problème est: Calculer le factoriel d'un nombre entier donné en entrée.

En entrée: Nous avons n nombre entiers qui sont plus grands ou égaux à 0.

Sortie: Nous avons un nombre entier qui représente le factoriel de n.

Page 57: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 57

AlgorithmiqueRécursivité

Factorielfonction fact (n : Naturel) : NaturelDebut

si n=0 ou n=1 alorsretourner 1

sinonretourner n*fact(n-1)

FinsiFin

Exemple

Fact(4)=4*Fact(3) Fact(3)=3*Fact(2) Fact(2)=2*Fact(1) Fact(1)=1

4*6=243*2=62*1=2

1

Page 58: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 58

AlgorithmiqueRécursivité

Empilage du contexte local Chaque procédure stocke dans une zone mémoire

les paramètres les variables locales

Cette zone s’appelle la pile car les données sont empilées lors de l ’appel d’une procédure

désempilées à la fin de la procédure

A chaque appel récursif, l ’ordinateur empile donc les variables locales les paramètres qui doivent changer à chaque appel

Page 59: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 59

AlgorithmiqueRécursivité

Inverser une chaîne Fonction inverse(ch : chaîne)

débutl= Longueur(ch);

Si (l<=1) retourner ch;Sinon retourner

inverse(Sous-Chaîne(ch,2,l))& Ch(1);Fin SiFin

Exempleinverse(“abcd”)-> inverse(“bcd”)&”a”

inverse(“bcd”)-> inverse(“cd”)&”b”inverse(“cd”)->

inverse(“d”)&”c”dc

dcbdcba

Page 60: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 60

AlgorithmiqueRécursivité

Récursivité terminaleDéfinition :

L'appel récursif est la dernière instruction et elle est isolée.

Exemple :fonction plus (a,b : Naturel) : natuel

débutsi b=0 alors

retourner asinon

retourner plus(a+1,b-1)Finsi

FinExécution

plus(4,2)=plus(5,1)=plus(6,0)=6

Page 61: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 61

AlgorithmiqueRécursivité

Récursivité non terminaleDéfinition :L'appel récursif n'est pas la dernière instruction et/ou elle n'est pas isolée (fait partie d'une expression)Exemple :fonction plus (a,b : Naturel) : natuel

débutsi b=0 alors

retourner asinon

retourner 1+plus(a,b-1)Finsi

FinExécution

plus(4,2)=1+plus(4,1)=1+1+plus(4,0)=1+1+4=6

Page 62: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 62

AlgorithmiqueRécursivité

Les Tours de Hanoï

Les tours de Hanoï est un jeu solitaire dont l'objectif est de déplacer les disques qui se trouvent sur une tour (par exemple ici la première tour, celle la plus a gauche) vers une autre tour (par exemple la dernière, celle la plus a droite) en suivant les règles suivantes :

on ne peut déplacer que le disque se trouvant au sommet d'une tour ;

on ne peut déplacer qu'un seul disque a la fois ; un disque ne peut pas être posé sur un disque plus petit.

Page 63: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 63

AlgorithmiqueRécursivité

Les Tours de Hanoï

Etude du problème

Un peu de jeu

Pilier 1 Pilier 2 Pilier 3 Pilier 1 Pilier 2 Pilier 3

Pilier 1 Pilier 2 Pilier 3 Pilier 1 Pilier 2 Pilier 3

Page 64: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 64

AlgorithmiqueRécursivité

Les Tours de Hanoï

Etude du problème

Ceci correspond à Hanoï avec n-1 disques

Reformulation du problème

Si on a "n" disques à déplacer alors :on déplace "n-1" disques vers le pilier intermédiaireon déplace le disque "n" du pilier initial vers le pilier finalon déplace les "n-1" disques du pilier intermédiaire vers le pilier final

Pilier 1 Pilier 2 Pilier 3 Pilier 1 Pilier 2 Pilier 3

Page 65: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 65

AlgorithmiqueRécursivité

Les Tours de Hanoï

Algorithme

Procedure hanoi(nbdisk, source, destination: Naturels)Débutintermediaire = 6-(source+destination);Si (nbdisk > 0) Alors hanoi(nbdisk -1, source, intermediaire); Afficher("disque “& nbdisk &" de “&Source & "- >" & destination); hanoi(nbdisk-1, intermediaire, destination);Fin SiFin

Voir le programme en PHP par exemple

Page 66: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 66

AlgorithmiqueRécursivité

Hanoï - Complexité

En général, on a 2n-1 déplacements pour n disques Soit O(2n) : complexité exponentielle Si par exemple un déplacement coûte 1 seconde Pour 64 disques, on a : 264-1=18.446.744.073.709.551.615 secondes C’est 584.942.417.355 soit 585 milliard années

disques 1 2 3 4 5 …

déplacements 1 3 7 15 31 …

Page 67: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 67

AlgorithmiqueRécursivité

Efficacité de la Récursivité Un algorithme récursif est légèrement moins rapide qu’un

algorithme itératif équivalent Temps nécessaire à l ’empilage et au dépilage des données

La récursivité utilise plus de ressources mémoire pour empiler les contextes

La récursivité est plus « élégante » Les algorithmes récursifs sont souvent plus faciles à écrire

Page 68: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 68

AlgorithmiqueLes Arbres

Structures de données En informatique, une structure de données est une

structure logique destinée à contenir des données, afin de leur donner une organisation permettant de simplifier leur traitement. Une structure de données implémente concrètement un type abstrait.

Différentes structures de données existent : Structures finies

constantes variables enregistrements structures composées finies

Structures indexées tableaux sur [1..n] tableaux sur [1..n][1..m] tableaux associatifs

Structures récursives listes arbres graphes

Page 69: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 69

AlgorithmiqueStructures

Les Tableaux Un tableau de taille  n est une structure très simple

constituée de  emplacements consécutifs en mémoire. Il est donc possible d'accéder à un élément d'un tableau en temps constant O(1) pourvu que l'on connaisse sa position (ou indice). Un tableau est donc une structure très simple et très efficace.

Il n'est cependant pas possible de modifier la taille d'un tableau, ce qui est gênant pour un certain nombre d'algorithmes. On dit cette structure est statique. Le nombre d'éléments qu'elle contient ne peut pas varier.

Le principe d'un tableau est donc très simple : on stocke les éléments dans des cases, chaque case étant étiquetée d'un numéro (généralement appelé indice). Pour accéder à un élément particulier d'un tableau, on donne son indice. 

Page 70: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 70

AlgorithmiqueStructures

Les Listes Chaînées Une liste chaînée est une liste à accès séquentiel, où chaque

élément contient une valeur et une référence à l'élément suivant. L'intérêt d'une telle liste est que sa taille peut varier

dynamiquement sans soucis de la fragmentation de son stockage mémoire.

S'il est vrai que les tableaux sont stockés de manière contiguë en mémoire, il n'en va pas de même pour la liste chaînée, d'où sa plus grande souplesse d'emploi.

Agrandir la liste revient à créer un nouvel élément en mémoire et à le lier à la liste chaînée par une référence vers son emplacement mémoire.

A une liste chaînée sont associée les primitives ou fonctions de service suivantes:

Insérer Supprimer La liste est-elle vide ? Nombre d'éléments dans la liste

Page 71: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 71

AlgorithmiqueStructures

Les Listes Chaînées

Liste simplement chaînée Un élément d'une liste simplement chaînée est constitué

d'une clé (la valeur de l'élément) et d'une référence à l'élément suivant (pointeur vers élément). Par convention, l'accès à une liste  simplement chaînée est simplement un pointeur vers le premier élément de cette liste.

Primitives tete[L] qui a une liste L renvoie l'adresse de son premier

élément. succ[x] qui a un élément x renvoie l'adresse de son

successeur. cle[x] qui a un élément x renvoie sa valeur.

Page 72: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 72

AlgorithmiqueStructures

Les Listes Chaînées

Liste simplement chaînée Insertion: Attention à l’ordre

Suppression: N’oubliez pas de supprimer l’élément de la mémoire.

Page 73: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 73

AlgorithmiqueStructures

Les Listes Chaînées

Liste doublement chaînée Un élément d'une liste doublement chaînée est constitué

d'une clé, d'une référence à l'élément suivant et d'une référence arrière vers l'élément précédent. Par convention l'accès à une liste doublement chaînée est simplement un pointeur vers le premier élément de cette liste.

Page 74: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 74

AlgorithmiqueStructures

Les Piles En informatique, une pile (stack) est une structure de

données de type LIFO (Last In, First Out), c'est à dire fonctionnant sur le principe «dernier arrivé, premier sorti». Les derniers éléments ajoutés à la pile seront les premiers à être récupérés.

On peut représenter une pile par une liste chaînée. Les insertions et suppressions sont faites seulement dans la queue de la liste.

Empiler/Dépiler sont les fonctions de base.

Page 75: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 75

AlgorithmiqueStructures

Les Files En informatique, une file (queue) est une structure de

données de type FIFO (First In, First Out), c'est à dire fondée sur le principe «premier arrivé, premier sorti » . Les premiers éléments ajoutés à la file seront les premiers à être récupérés..

On peut représenter une file par une liste chaînée. Les insertions sont en queue et les suppressions sont faites dans la tête de la liste.

Enfiler/Défiler sont les fonctions de base.

Page 76: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 76

AlgorithmiqueStructures

Les Arbres Définition : un arbre est une structure de données

composée d’un ensemble de nœuds. Chaque nœud contient l’information spécifique de l’application et des pointeurs vers d’autres nœuds (d’autres sous-arbres).

Définition récursive d'un arbre : Arbre vide Un seul noeud = racine Si on dispose d'un certain nombre d'arbres, on peut les

"raccrocher" à un nouveau nœud, qui devient racine.

A1 A2 A3

R

Sous arbre

Page 77: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 77

AlgorithmiqueLes Arbres

NotionsRacine : C'est le noeud qui n'a pas de prédécesseur. La racine constitue la caractéristique d'un arbre. Dans l'exemple c'est a

Feuille : c'est le noeud qui n'a pas de successeur. Une feuille est aussi appelée un noeud externe. Dans l'exemple, les feuilles sont : c, i, j, e, g et h.

Nœud interne : c'est tout noeud qui admet au moins un successeur. Dans l'exemple, les noeuds internes sont : a, b, f et d.

Fils : c’est le successeur. Dans l'exemple, c, d et e sont les fils du noeud b.

a

fb

dc e g h

i j

Page 78: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 78

AlgorithmiqueLes Arbres

NotionsFrères : ce sont les successeurs issus d'un même nœud. Dans l'exemple, c, d et e sont des frères.

Père : c'est un nœud qui admet au moins un successeur. Dans l'exemple, b est le père des nœuds c, d et e.

Sous arbre : C'est une portion de l'arbre. Dans l'exemple, le noeud f avec ces deux fils g et h constituent un sous arbre.

Descendants d’un nœud : ce sont tous les noeuds du sous arbre de racine noeud. Dans l'exemple, les descendants de h sont h, c, d, e, i et j.

a

fb

dc e g h

i j

Page 79: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 79

AlgorithmiqueLes Arbres

Ascendants d’un nœud : ce sont tous les nœuds se trouvant sur la branche de la racine vers ce nœud. Dans l'exemple, les ascendants de d sont d, b et a. Les ascendants de g sont f et a.

Branche : Les ascendants d'une feuille constituent une branche de l'arbre. Dans l'exemple, les branches de l'arbre sont a-b-c, a-b-d-i, a-b-d-j, a-b-e, a-f-g et a-f-h.

Degré d’un nœud : C'est le nombre de ses fils. Dans l'exemple, le degré de b est 3.

Niveau d’un nœud : On dit que la racine a le niveau 0, ses fils ont le niveau 1, les fils des fils ont le niveau 2. etc...  Dans l'exemple, a est de niveau 0, d est de niveau 2 et j est de niveau 3.

a

fb

dc e g h

i j

Page 80: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 80

AlgorithmiqueLes Arbres

NotionsProfondeur de l’arbre : C'est le niveau maximal des feuilles de l'arbre. L'arbre de l'exemple est de profondeur 3.

Arité ou degré d’un arbre : c’est le maximum de fils qu’un nœud peut avoir (arité 3 dans l’exemple).

Arbre binaire : Un arbre binaire est un arbre tel que chaque nœud a au plus deux fils (ou successeurs). On parle de fils gauche et fils droit.

Dans la suite, on va étudier que les arbres binaires.

a

fb

dc e g h

i j

Page 81: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 81

AlgorithmiqueLes Arbres

Représentation en mémoire On peut représenter un arbre binaire par une liste chaînée

A

C D

E

NULL NULL NULL

NULL NULL

Page 82: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 82

AlgorithmiqueLes Arbres

Stratégies de parcours Il existe 2 méthodes classiques de parcours d'arbre :

Parcours en Profondeur, on part de la racine et on descend jusqu'à une première feuille avant de passer aux nœuds suivant puis remonter. Dans cette représentation, les feuilles apparaissent aux côtés de leur arborescence.

Parcours en Largeur, l’élément du niveau courant est noté puis on passe au fils de chacun d'eux. Cela peut s'apparenter à la vue dans un navigateur de fichier (Explorer Windows, Nautilus...).

Pour les parcours en profondeur, on a : La notation préfixée La notation infixée La notation post-fixée

Page 83: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 83

AlgorithmiqueLes Arbres

Algorithmes de parcours Parcours Préfixé

Procédure Préfixé(racine)Début

Afficher(Racine);Préfixé(Racine->Gauche);Préfixé(Racine->Droite);

Fin Parcours Post-fixé

Procédure Postfixé(racine)Début

Postfixé(racine->Gauche);Postfixé(racine->Droite);Afficher(Racine);

Fin

Page 84: Powerpoint Templates Page 1 Powerpoint Templates Partie Informatique Algorithmique A. LOTFI Introduction Introduction.

Powerpoint TemplatesPage 84

AlgorithmiqueLes Arbres

Algorithmes de parcours Parcours Infixé

Procédure Infixé(racine)Début

Infixé(Racine->Gauche);Afficher(Racine);Infixé(Racine->Droite);

Fin