Академический Документы
Профессиональный Документы
Культура Документы
Mohamed EL Marraki
Dpartement dInformatique,
2011/2012 marraki@fsr.ac.ma
M. El Marraki
Algorithmique 2011/2012
Introduction
Lalgorithmique est un terme dorigine arabe, hommage Al Khawarizmi(780-850) auteur dun ouvrage dcrivant des mthodes de calculs algbriques. Un algorithme est une mthode de rsolution de problme nonce sous la forme d'une srie d'oprations effectuer. La mise en uvre de l'algorithme consiste en l'criture de ces oprations dans un langage de programmation.
M. El Marraki Algorithmique 2011/2012 3
Introduction Une recette de cuisine est un algorithme! Le mode demploi dun magntoscope est aussi un algorithme! indiqu un chemin un touriste gar ou faire chercher un objet quelquun par tlphone cest fabriquer et faire excuter des algorithmes.
M. El Marraki
Algorithmique 2011/2012
Introduction
Un algorithme, cest une suite dinstructions, qui une fois excute correctement, conduit un rsultat donn. Si lalgorithme est juste, le rsultat est le rsultat voulu, et le touriste se retrouve l o il voulait aller. Si lalgorithme est faux, le rsultat est, disons, alatoire, et dcidment, ce magntoscope ne marche pas!! Pour fonctionner, un algorithme doit donc contenir uniquement des instructions comprhensibles par celui qui devra lexcuter (lordinateur).
M. El Marraki Algorithmique 2011/2012 5
Remarque (1)
LADN, qui est en quelque sorte le programme gntique, lalgorithme la base de construction des tres vivants, est une chane construite partir de quatre lments invariables. Ce nest que le nombre de ces lments, et lordre dans lequel ils sont arrangs, qui va dterminer si on obtient une puce ou un lphant. Les ordinateurs eux-mmes ne sont fondamentalement capables dexcuter que quatre oprations logiques : laffectation de variables la lecture / criture les tests les boucles
M. El Marraki Algorithmique 2011/2012 6
Remarque (2)
Un algorithme informatique se ramne donc toujours au bout du compte la combinaison de ces quatre petites briques de base. Il peut y en avoir quelques unes, quelques dizaines, et jusqu plusieurs centaines de milliers dans certains programmes. la taille dun algorithme ne conditionne pas en soi sa complexit : de longs algorithmes peuvent tre finalement assez simples, et de petits algorithmes peuvent tre trs compliqus.
M. El Marraki
Algorithmique 2011/2012
Introduction
L informatique est la science du traitement automatique de l information. Pour cela il faut: 1. modliser cette information, 2. dfinir l aide d un formalisme strict les traitements dont elle fera l objet. 3. et enfin traduire ces traitements dans un langage comprhensible par un ordinateur. Les deux premiers points concerne l algorithmique, alors que le dernier point relve de ce que l on nomme la programmation.
M. El Marraki Algorithmique 2011/2012 8
Introduction
Lcriture dun programme consiste gnralement implanter une mthode de rsolution dj connue et souvent conue indpendamment dune machine pour fonctionner aussi bien sur toutes les machines ou presque. Ainsi, ce nest pas le programme mais la mthode quil faut tudier pour comprendre comment traiter le problme.
M. El Marraki
Algorithmique 2011/2012
Lalgorithmique
Principe
Dfinition : Un algorithme est une squence bien dfinie doprations (calcul, manipulation de donnes, etc.) permettant daccomplir une tache en un nombre fini de pas. En principe un algorithme est indpendant de toute implantation. Cependant dans la pratique de la programmation il savre indispensable de tenir compte des capacits du langage de programmation utilis.
M. El Marraki
Algorithmique 2011/2012
10
M. El Marraki
Algorithmique 2011/2012
11
M. El Marraki
Algorithmique 2011/2012
12
Lalgorithmique et la programmation
Le but de la programmation :
Utiliser lordinateur pour traiter des donnes afin dobtenir des rsultats. Abstraction par rapport au matriel (indpendance application / plate forme matrielle). Intermdiaire entre le langage machine (binaire) et le langage humain
M. El Marraki
Algorithmique 2011/2012
13
Langage machine
Le langage utilis par le processeur, est appel langage machine. Il s'agit d'une suite de 0 et de 1 (du binaire). Toutefois le langage machine est difficilement comprhensible par l'humain. Ainsi il est plus pratique de trouver un langage intermdiaire, comprhensible par l'homme, qui sera ensuite transform en langage machine pour tre exploitable par le processeur.
M. El Marraki Algorithmique 2011/2012 14
Lassembleur
L'assembleur est le premier langage informatique qui ait t utilis. Celui-ci est encore trs proche du langage machine mais il permet dj d'tre plus comprhensible.
M. El Marraki
Algorithmique 2011/2012
15
Lassembleur
Langage Machine Langage assembleur 0010 ADD 101 Ax 11 3
Ajouter AX 3
instructions en langage machines sont remplaces par des symboles: Mov, Cest langage difficile, dpendant et ncessitant la connaissance dtaille de larchitecture matriel de lordinateur (=> vers langages volus)
M. El Marraki Algorithmique 2011/2012 16
Assembleur
lassembleur est tellement proche du langage machine qu'il dpend troitement du type de processeur utilis. Ainsi un programme dvelopp pour une machine ne pourra pas tre port sur un autre type de machine (on dsigne par le terme "portable" un programme qui peut tre utilis sur un grand nombre de machines). Pour pouvoir l'utiliser sur une autre machine il faudra alors parfois rcrire entirement le programme!
M. El Marraki Algorithmique 2011/2012 17
M. El Marraki
Algorithmique 2011/2012
18
M. El Marraki
Algorithmique 2011/2012
19
Il y a trois catgories de langage de programmations : les langages interprts et les langages intermdiaires et les langages compils.
M. El Marraki
Algorithmique 2011/2012
20
Langage interprt
Le langage HTML (les pages web), le langage Maple (calcul mathmatique), Le langage Prolog (Intelligence artificielle), etc.
M. El Marraki
Algorithmique 2011/2012
21
Langage compil
Un programme crit dans un langage dit "compil" va tre traduit une fois pour toutes par un programme annexe (le compilateur) afin de gnrer un nouveau fichier qui sera autonome : ce fichier est excutable.
M. El Marraki
Algorithmique 2011/2012
22
Langage compil
Un programme compil a pour avantage de garantir la scurit du code source. En effet, un langage interprt, tant directement accessible, permet n'importe qui de connatre les secrets de fabrication d'un programme et donc de copier le code voire de le modifier. Il y a donc risque de non-respect des droits d'auteur. Certaines applications scurises ncessitent la confidentialit du code pour viter le piratage.
M. El Marraki Algorithmique 2011/2012 23
Langage compil
M. El Marraki
Algorithmique 2011/2012
24
Langages intermdiaires
Certains langages appartiennent en quelque sorte aux deux catgories prcdentes (LISP, Java,..) car le programme crit avec ces langages peut dans certaines conditions subir une phase de compilation intermdiaire vers un fichier crit dans un langage qui n'est pas comprhensible non excutable (ncessit d'un interprteur). Les applets Java, petits programmes insrs parfois dans les pages Web, sont des fichiers qui sont compils mais que l'on ne peut excuter qu' partir d'un navigateur internet.
M. El Marraki Algorithmique 2011/2012 25
M. El Marraki
Algorithmique 2011/2012
26
Analyse descendante
Lanalyse descendante consiste dcomposer le problme donn en sous-problmes, et ainsi de suite, jusqu descendre au niveau des primitives. Les tapes successives donnent lieu des sousalgorithmes qui peuvent tre considrs comme les primitives de machine intermdiaires (procdures en Pascal, fonction en C).
M. El Marraki
Algorithmique 2011/2012
27
Analyse descendante
Le travail de lanalyse est termin lorsquon a obtenu un algorithme ne comportant que : Des primitives de la machine initiale, Des algorithmes dj connus.
M. El Marraki
Algorithmique 2011/2012
28
Analyse descendante
Lanalyse descendante est la mise en pratique du Discours de la mthode de Descartes. Lordre des instructions est essentiel : la machine ne peut excuter quune action la fois et dans lordre donn; cest la proprit de squentialit.
M. El Marraki
Algorithmique 2011/2012
29
Pseudo langage
Un algorithme doit tre lisible et comprhensible par plusieurs personnes. Il doit donc suivre des rgles prcises, il est compos dune entte et dun corps :
M. El Marraki
Algorithmique 2011/2012
30
lentte
le nom de lalgorithme (Nom :) son utilit (Rle :) les donnes en entre, cest--dire les
lments qui sont indispensables son bon fonctionnement (Entre :) les donnes en sortie, cest--dire les lments calculs, produits, par lalgorithme (Sortie :) les donnes locales lalgorithmique qui lui sont indispensables (Dclarations :)
Algorithmique 2011/2012 31
M. El Marraki
le corps
du mot clef dbut dune suite dinstructions indentes du mot clef fin
M. El Marraki
Algorithmique 2011/2012
32
Commentaire
Le plus important pour un algorithme sont les dclarations ainsi que les instructions qui constituent le corps de lalgorithme. Il existe des instructions qui ne servent qu la clart de lalgorithme (lordinateur les ignore compltement), ce sont les commentaires. Un commentaire a la syntaxe suivante : /* ceci est un commentaire */
M. El Marraki
Algorithmique 2011/2012
33
Variables
Variable
Dans un programme informatique, on va avoir en permanence besoin de stocker provisoirement des valeurs. Il peut sagir de donnes issues du disque dur, fournies par lutilisateur (frappes au clavier). Ces donnes peuvent tre de plusieurs types : elles peuvent tre des nombres, du texte, etc. Ds que lon a besoin de stocker une information au cours dun programme, on utilise une variable.
M. El Marraki
Algorithmique 2011/2012
35
Variable
Pour employer une image, une variable est une bote, que le programme (lordinateur) va reprer par une tiquette. Pour avoir accs au contenu de la bote, il suffit de la dsigner par son tiquette. Dans lordinateur : la boite : est un emplacement de la mmoire, tiquette : est une adresse en binaire.
M. El Marraki
Algorithmique 2011/2012
36
La premire chose faire avant de pouvoir utiliser une variable est de crer la bote et de lui coller une tiquette. Ceci se fait tout au dbut de lalgorithme, avant mme les instructions proprement dites. Cest ce quon appelle la dclaration des variables.
M. El Marraki
Algorithmique 2011/2012
37
Le nom de la variable
Le nom de la variable (ltiquette de la bote) obit des rgles qui changent selon le langage utiliser. Les principaux rgles respecter sont :
Le nom de variable peut comporter des lettres et des chiffres, On exclut la plupart des signes de ponctuation, en particulier les espaces. Un nom de variable doit commencer par une lettre. Le nombre maximal de caractres qui composent le nom dune variable dpend du langage utilis. Ne pas utiliser les mots cls du langage de programmation.
M. El Marraki
Algorithmique 2011/2012
38
Le type de la variable
Lorsquon dclare une variable, il ne suffit pas de crer une bote (rserver un emplacement mmoire) ; il faut prciser ce que lon voudra mettre dedans, car de cela dpendent la taille de la bote (lemplacement mmoire) et le type de codage utilis.
M. El Marraki
Algorithmique 2011/2012
39
M. El Marraki
Algorithmique 2011/2012
40
Type Numrique
Octet Entier simple Entier double Rel simple
Plage
0 255 -32 768 32 767 -2 147 483 648 2 147 483 647 -3,40x1038 -1,40x10-45 pour les ngatives 1,40x10-45 3,40x1038 pour les positives
-1,79x10308 -4,94x10-324 les ngatives
Rel double
M. El Marraki
Algorithmique 2011/2012
42
Type alphanumrique
On dispose donc galement du type alphanumrique (galement appel type caractre, type chane ou en anglais, le type string). Dans une variable de ce type, on stocke des caractres, quil sagisse de lettres, de signes de ponctuation, despaces, ou mme de chiffres. Le nombre maximal de caractres pouvant tre stocks dans une seule variable string dpend du langage utilis.
M. El Marraki
Algorithmique 2011/2012
43
Type alphanumrique
Un groupe de caractres est appel chane de caractres. En pseudo-code, une chane de caractres est toujours note entre guillemets " ", car, Il peut y avoir une confusion entre des nombres et des suites de chiffres. Par exemple, 423 peut reprsenter : le nombre 423 (quatre cent vingt-trois),
M. El Marraki
Algorithmique 2011/2012
44
Type boolen
Le dernier type de variables est le type boolen : on y stocke uniquement les valeurs logiques VRAI et FAUX. On peut reprsenter 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). Le type boolen est trs conomique en termes de place mmoire occupe, un seul bit suffit.
M. El Marraki
Algorithmique 2011/2012
45
Exemple
En gnral dans un algorithme on trouve des dclarations de variables de la forme :
Variables a,b,c,delta,x,y : nombres nom,prenom:chaines de caractres ok : booleen.
M. El Marraki
Algorithmique 2011/2012
46
Les primitives
Les primitives
Affectation
Laffectation est laction lmentaire dont leffet est de donner une valeur une variable (ranger une valeur une place). On la commande par linstruction symbolise par ( ou = en C et := en Pascal)
M. El Marraki
Algorithmique 2011/2012
49
exemple
x 3
signifie mettre la valeur 3 dans la case identifie par x. A lexcution de cette instruction, la valeur 3 est range en x (nom de la variable) la valeur correspond au contenu : 3 la variable correspond au contenant : x
M. El Marraki
Algorithmique 2011/2012
50
Affectation
On peut reprsenter la variable X par une boite ou case, et quand elle prend la valeur 3, la valeur 3 est dans la case X.
3 X
On remarque quune variable ne peut contenir un instant donn quune seule valeur.
M. El Marraki
Algorithmique 2011/2012
51
Affectation : utilisations
Voici quelques effets dclenches par lutilisation de laffectation ( ) :
Instructions X 3 X 2 Y X X X 3 Y actions 3 2 X 2 X effets
3
plus de 3 ! X 2
X 2 Y 2
M. El Marraki
Algorithmique 2011/2012
52
Rponses : X Y
M. El Marraki
Algorithmique 2011/2012
53
M. El Marraki
Algorithmique 2011/2012
54
Analyse :
La premire ide est dcrire : X Y ; Y X . Mais a ne marche pas, les deux variables se retrouvent avec la mme valeur b ! Il faut mettre la valeur de X de cot pour ne pas la perdre : on utilise une variable auxiliaire Z et on crit les instructions suivantes : Z X; X Y; Y Z;
M. El Marraki
Algorithmique 2011/2012
55
Vrification :
il sagit de vrifier que lalgorithme donne bien la solution voulu. Ecrivant aprs chaque instruction les valeurs des variables X, Y et Z : Z X ; " X = a, Y = b, Z = a " X Y ; " X = b, Y = b, Z = a " Z ; " X = b, Y = a, Z = a " donc tout va bien! Y
M. El Marraki
Algorithmique 2011/2012
56
M. El Marraki
Algorithmique 2011/2012
57
Expressions et oprateurs
Dans une instruction daffectation, on trouve :
M. El Marraki
Algorithmique 2011/2012
58
Expressions et oprateurs
Si lun des trois points numrs ci-dessus nest pas respect, la machine sera incapable dexcuter laffectation, et dclenchera une erreur.
M. El Marraki
Algorithmique 2011/2012
59
oprateurs
Un oprateur est un signe qui relie deux valeurs, pour produire un rsultat. Oprateurs numriques : Ce sont les quatre oprations arithmtiques : + * / addition soustraction multiplication division
M. El Marraki
Algorithmique 2011/2012
60
oprateurs
Mentionnons galement le ^ qui signifie puissance". 45 au carr scrira donc 45 ^ 2. La multiplication et la division sont prioritaires sur laddition et la soustraction. 12 * 3 + 5 et (12 * 3) + 5 valent strictement la mme chose, savoir 41. En revanche, 12 * (3 + 5) vaut 12 * 8 soit 96.
M. El Marraki
Algorithmique 2011/2012
61
M. El Marraki
Algorithmique 2011/2012
62
Lecture et criture
Introduction
Soit le programme suivant : Variable A : entire Dbut A 12^2 Fin Ce programme nous donne le carr de 12.
M. El Marraki
Algorithmique 2011/2012
64
Introduction
1.
Mais si lon veut le carr dun autre nombre que 12, il faut rcrire le programme. Le rsultat est calcul par la machine elle le garde pour elle, et lutilisateur qui excute ce programme, ne saura jamais quel est le carr de 12.
2.
M. El Marraki
Algorithmique 2011/2012
65
Introduction
Cest pourquoi, il faut utiliser des instructions qui permettent lutilisateur de dialoguer avec la machine.
M. El Marraki
Algorithmique 2011/2012
66
Lecture et criture
Dans un sens, ces instructions permettent lutilisateur de rentrer des valeurs au clavier pour quelles soient utilises par le programme. Cette opration est la lecture. Dans lautre sens, dautres instructions permettent au programme de communiquer des valeurs lutilisateur en les affichant lcran. Cette opration est lcriture.
M. El Marraki
Algorithmique 2011/2012
67
Lecture et criture
Pour pouvoir effectuer un calcul sur une variable, la machine doit connatre la valeur de cette variable.
M. El Marraki
Algorithmique 2011/2012
68
Linstruction de lecture
Pour que lutilisateur entre la (nouvelle) valeur de la variable n, on mettra : Lire (n) Ds que le programme rencontre une instruction Lire, lexcution sinterrompt, attendant larriver dune valeur par lintermdiaire du clavier. Ds que la touche Entre (Enter) a t frappe, lexcution reprend.
M. El Marraki
Algorithmique 2011/2012
69
Les libells
Avant de Lire une variable, il est trs fortement conseill dcrire des libells lcran, afin de prvenir lutilisateur de ce quil doit frapper : Ecrire(Entrez votre nom : ) Lire(NomFamille)
M. El Marraki
Algorithmique 2011/2012
70
Exemple1
Variables val, double : entiers Dbut Ecrire("donner un entier : ") Lire(val) double Val * 2 Ecrire("le double de",val," est : ", double ) Fin
M. El Marraki
Algorithmique 2011/2012
71
Excution
M. El Marraki
Algorithmique 2011/2012
72
Exemple2
Ecrire un programme qui demande un nombre lutilisateur, puis qui calcule et affiche le carr de ce nombre.
fin
M. El Marraki
Algorithmique 2011/2012
74
Excution
entrer un entier : 13 le carr de 13 est : 169
M. El Marraki
Algorithmique 2011/2012
75
Exemple 3
Problme : Multiplier deux nombres entiers. Primitives : lire, crire, affecter ( ), multiplier (*).
M. El Marraki
Algorithmique 2011/2012
76
Correction
Algorithme : variables A, B, C : entiers dbut crire("entrer la valeur de A : ") lire(A) crire(" entrer la valeur de B : ") lire(B) C A*B crire(" le produit de " ,A, " et " ,B, " est :", C) fin
M. El Marraki
Algorithmique 2011/2012
77
Excution
entrer la valeur de A : 12 entrer la valeur de B : -11 le produit de 12 et -11 est : -132
M. El Marraki
Algorithmique 2011/2012
78
Donnes
excution de lalgorithme
rsultats
M. El Marraki
Algorithmique 2011/2012
79
En plus de lalgorithme, il faut fournir la dfinition prcise des objets manipuls : nom des variables, nature et rfrentiel des valeurs (ensemble auquel les valeurs appartiennent) et le rle des variables.
M. El Marraki
Algorithmique 2011/2012
80
Pour lexemple 4
Dfinition des objets : nom
A B C
nature
nombre nombre nombre
rfrentiel
Z Z Z
rle
donne donne rsultat
M. El Marraki
Algorithmique 2011/2012
81
Les tests
Les primitives que nous allons prsenter maintenant vont permettre la machine de "choisir" les excutions suivant les valeurs des donnes.
si .. alors ..
La primitive Si C alors A O C est une condition (on prcisera plus loin la nature de cette condition) et A une instruction ou une suite dinstructions, a pour effet de faire excuter A si et seulement si C est satisfaite.
M. El Marraki
Algorithmique 2011/2012
84
si .. alors .. sinon ..
La primitive Si C alors A sinon B a pour effet de faire excuter A si C est satisfaite ou bien B dans la cas contraire (C non satisfaite).
M. El Marraki
Algorithmique 2011/2012
85
Condition
Une condition est une comparaison. Cest--dire quelle est compose de trois lments une valeur un oprateur de comparaison une autre valeur Le rsultat dune condition est un boolen (vrai ou faux)
M. El Marraki
Algorithmique 2011/2012
86
Valeurs
Les valeurs peuvent tre a priori de nimporte quel type :
M. El Marraki
Algorithmique 2011/2012
87
galit diffrent strictement infrieur strictement suprieur infrieur ou gal suprieur ou gal
Algorithmique 2011/2012
88
M. El Marraki
Algorithmique 2011/2012
89
Conditions composes
Certains problmes exigent parfois de formuler des conditions qui ne peuvent pas tre exprimes sous la forme simple. Prenons le cas " n est compris entre 5 et 8 ". En fait cette phrase cache non une, mais deux conditions. Car elle revient dire que " n est suprieur 5 et n est infrieur 8 ". Il y a donc bien l deux conditions, relies par ce quon appelle un oprateur logique, le mot ET.
M. El Marraki
Algorithmique 2011/2012
90
oprateurs logiques
Linformatique met notre disposition trois oprateurs logiques : ET, OU, et NON.
Le ET et le OU
Le ET a le mme sens en informatique que dans le langage courant. Pour que :
C1
ET C2 soit VRAI, il faut imprativement que C1 soit VRAIE et que C2 soit VRAIE. C1 OU C2 soit VRAI, il suffit que C1 soit VRAIE ou que C2 soit VRAIE.
Le point important est que si C1 est VRAIE et C2 est VRAIE, alors C1OU C2 est VRAIE.
M. El Marraki Algorithmique 2011/2012 92
V F
V F
F F
V F
V V
V F
M. El Marraki
Algorithmique 2011/2012
93
Remarques
Le OU informatique ne veut donc pas dire " ou bien ". VRAI NON FAUX
M. El Marraki
Algorithmique 2011/2012
94
Le OU EXLUSIVE : XOR
0 0=0 1 1=0 0 1=1 1 0=1 a a=0 a b b=a
XOR
V F
F V
V F
M. El Marraki
Algorithmique 2011/2012
95
Exemple
Problme :
tant donns deux nombres entiers positifs, identifier le plus grand des deux nombres.
Solution : Analyse
Conception : Algorithme
DEBUT Variables A, B : entiers ECRIRE (Programme permettant de dterminer le plus grand de deux entiers positifs ) ECRIRE (Entrer le premier nombre : ) LIRE (A) ECRIRE (Entrer le second nombre : ) LIRE (B) SI (A>B) ALORS ECRIRE (Le nombre le plus grand est : , A) SINON ECRIRE (Le nombre le plus grand est : , B) FIN
M. El Marraki
Algorithmique 2011/2012
98
Lire(A)
Lire(B)
non
Si A > B
oui
Organigramme
M. El Marraki Algorithmique 2011/2012 99
Tests imbriqus
Graphiquement, on peut trs facilement reprsenter un SI comme un aiguillage de chemin de fer. Un SI ouvre donc deux voies, correspondant deux traitements diffrents.
M. El Marraki
Algorithmique 2011/2012
100
Tests imbriqus
Il y a des tas de situations o deux voies ne suffisent pas. Par exemple, un programme devant donner ltat de leau selon sa temprature doit pouvoir choisir entre trois rponses possibles (solide, liquide ou gazeuse).
M. El Marraki
Algorithmique 2011/2012
101
Exemple
Variable Temp : Entier Dbut Ecrire ("Entrez la temprature de leau : ") Lire(Temp) Si Temp =< 0 Alors Ecrire("Cest de la glace") Si Temp > 0 Et Temp < 100 Alors Ecrire( "Cest du liquide" ) Si Temp > 100 Alors Ecrire( "Cest de la vapeur") Fin
M. El Marraki
Algorithmique 2011/2012
102
Exemple
Les tests successifs portent sur une la mme chose, la temprature (la valeur de la variable Temp). Il serait ainsi bien plus rationnel dimbriquer les tests de cette manire :
M. El Marraki
Algorithmique 2011/2012
103
Exemple
Variable Temp : Entier Dbut Ecrire("Entrez la temprature de leau :" ) Lire(Temp) Si Temp =< 0 Alors Ecrire("Cest de la glace" ) Sinon Si Temp < 100 Alors Ecrire("Cest du liquide") Sinon Ecrire "Cest de la vapeur" Fin
M. El Marraki
Algorithmique 2011/2012
104
Remarques
1.
Nous avons fait des conomies au niveau de la frappe du programme : au lieu de devoir taper trois conditions, dont une compose, nous navons plus que deux conditions simples. Mais aussi, et surtout, nous avons fait des conomies sur le temps dexcution de lordinateur. Si la temprature est infrieure zro, celui-ci crit dornavant " Cest de la glace " et passe directement la fin, sans tre ralenti par lexamen dautres possibilits (qui sont forcment fausses).
M. El Marraki
Algorithmique 2011/2012
105
Remarques
2.
3.
Cette deuxime version nest donc pas seulement plus simple crire et plus lisible, elle est galement plus performante lexcution. Les structures de tests imbriqus sont donc un outil indispensable la simplification et loptimisation des algorithmes.
Algorithmique 2011/2012 106
M. El Marraki