Vous êtes sur la page 1sur 12

Dfinition

Algorithme est un terme d'origine arabe, comme alg algbre, amiral, alcool, haras, chiffre,

Algorithmique SMP - SMC 2 04/2011

Un algorithme, c'est une suite finie d'instructions, qui une fois ex excut cute correctement, conduit un rsultat donn donn Si l'algorithme est juste, le r rsultat est le rsultat voulu sinon le r rsultat est, disons, al alatoire Un algorithme est une m mthode de r rsolution d'un probl problme qui utilise un nombre fini d' d'tapes
FSR - M. HIMMI 2011 2

M HIMMI (FSR)

Dfinition
Un algorithme doit contenir uniquement des instructions compr comprhensibles par celui qui devra l'ex l'excuter ! La ma matrise de l'algorithmique requiert deux qualit qualits: Avoir une certaine intuition. Etre m mthodique et rigoureux.

Notation
Plusieurs types de notations ont repr reprsent sent des algorithmes: La repr reprsentation graphique, avec des carr carrs, des losanges, etc. qu'on appelait des organigrammes: Quasiment abandonn abandonne Utilisation d'un "pseudo"pseudo-code". Il ressemble un langage de programmation sans les probl problmes de syntaxe. Ce pseudopseudo-code est susceptible de varier lgrement d'un auteur un autre, tout en gardant la mme philosophie...

FSR - M. HIMMI 2011

FSR - M. HIMMI 2011

Algorithmique SMP-SMC S2 2010-2011

Instruction
Les ordinateurs ne sont capables de comprendre que quatre familles d'instructions: l'affectation la lecture / criture les tests les boucles

Instruction
Un algorithme se ram ramne toujours la combinaison de ces quatre petites briques de base L'ordre dans lequel les instructions sont crites joue un rle essentiel dans le r rsultat final La taille d'un algorithme ne conditionne pas sa complexit complexit : de longs peuvent tre assez simples et de petits tr trs compliqu compliqus.

FSR - M. HIMMI 2011

FSR - M. HIMMI 2011

Cycle de production
Problme tudier le problme Mthode de rsolution

Variables
Ds qu quon a besoin de stocker une information au cours d'un programme, on utilise une variable Une variable est un emplacement de m mmoire rep repr par une adresse binaire. binaire. Pour acc accder au contenu de la variable, il suffit de la d dsigner par son adresse Il est beaucoup plus facile d'employer les tiquettes de son choix, que de devoir manier des adresses binaires!

Documentation

Formulation

Ok Tests Ok Programmation
Exemples
FSR - M. HIMMI 2011 7

Algorithme

FSR - M. HIMMI 2011

Algorithmique SMP-SMC S2 2010-2011

Variables
Avant d'utiliser des variables, il faut les dclarer: Rserver une zone m mmoire et lui donner une tiquette. Le nom de la variable ou l' l'tiquette ob obit des r rgles: Pas de signes de ponctuation ni d despaces Un nom de variable commence par une lettre Pr Prciser ce qu'on va mettre dedans (car de cela d dpendent la taille de l'emplacement mmoire et le type de codage utilis utilis)
FSR - M. HIMMI 2011 9

Variables
Types num numriques classiques le type de variable choisi pour un nombre dtermine: les valeurs maximales et minimales des nombres pouvant tre stock stocks dans la variable la pr prcision de ces nombres (dans le cas de nombres d dcimaux)

FSR - M. HIMMI 2011

10

Variables
Type alphanum alphanumrique (ou cha chane de caract caractres) Pour stocker des caract caractres: (entre guillemets " ") Lettres signes de ponctuation Espaces Chiffres Type bool boolen Pour stocker les valeurs logiques (VRAI et FAUX)
FSR - M. HIMMI 2011 11

Variables
En pseudo code une d dclaration s' s'crit: Variable g en Num Numrique ou Variables PrixHT, PrixHT, TauxTVA, TauxTVA, PrixTTC en Num Numrique
Type Numrique Plage

Byte (octet) Entier simple Entier long Rel simple Rel double

0 255 -32 768 32 767 -2 147 483 648 2 147 483 647 3,4x10-38 3,40x1038 1,7x10-308 1,7x10308
FSR - M. HIMMI 2011 12

Algorithmique SMP-SMC S2 2010-2011

Variables
Une variable poss possde un moment donn une valeur et une seule. A la donn rigueur, elle peut ne pas avoir de valeur du tout

Laffectation
La seule chose qu'on puisse faire avec une variable: lui attribuer une valeur valeur L'instruction d'affectation se note: Ainsi : Toto 24

Cette valeur ne "varie" que lorsqu'elle est l'objet d'une instruction d'affectation.
FSR - M. HIMMI 2011 13

Attribue la valeur 24 la variable Toto. Si type de Toto n'est pas num numrique cette instruction provoquera une erreur.
FSR - M. HIMMI 2011 14

Laffectation
On peut attribuer une variable la valeur d'une autre variable Tutu Toto la valeur de Tutu est maintenant celle de Toto

Laffectation
Dans une instruction d'affectation, on trouve : gauche de la fl flche, un nom de variable droite de la fl flche, une expression. Expression: ensemble de valeurs reli relies par des op oprateurs et quivalent une seule valeur

FSR - M. HIMMI 2011

15

FSR - M. HIMMI 2011

16

Algorithmique SMP-SMC S2 2010-2011

Loprateur
Un op oprateur est un signe qui relie deux valeurs pour produire un r rsultat. Les op oprateurs d dpendent du type des valeurs qui sont en jeu.

Oprateurs
Op Oprateurs num numriques: + : addition * : multiplication - : soustraction / : division

* et / ont priorit priorit sur + et (idem qu'en maths) Pour modifier cette priorit priorit: utiliser des parenth parenthses Op Oprateur alphanum alphanumrique de concat concatnation: & Op Oprateurs logiques: ET,

OU, NON et XOR


18

FSR - M. HIMMI 2011

17

FSR - M. HIMMI 2011

Exercice 1
Quelles seront les valeurs des variables A et B aprs excution des instructions suivantes ? Variables A, B en Entier Dbut A1 BA+3 A3 Fin
FSR - M. HIMMI 2011 19

Exercice 2
Quelles seront les valeurs des variables A, B et C aprs excution des instructions suivantes ? Variables A, B, C en Entier Dbut A5 B3 CA+B A2 CBA Fin
FSR - M. HIMMI 2011 20

Algorithmique SMP-SMC S2 2010-2011

Exercice 3
Quelles seront les valeurs des variables A et B aprs excution des instructions suivantes ? Variables A, B en Entier Dbut A5 BA+4 AA+1 BA4 Fin
FSR - M. HIMMI 2011 21

Exercice 4
Quelles seront les valeurs des variables A, B et C aprs excution des instructions suivantes ? Variables A, B, C en Entier Dbut A3 B 10 CA+B BA+B AC Fin
FSR - M. HIMMI 2011 22

Exercice 5
Quelles seront les valeurs des variables A et B aprs excution des instructions suivantes ? Variables A, B en Entier Dbut A5 B2 AB BA Fin Les deux dernires instructions permettent-elles dchanger les deux valeurs de B et A ? Si lon inverse les deux dernires instructions, cela change-t-il quelque chose ?
FSR - M. HIMMI 2011 23

Exercice 6
Ecrire un algorithme permettant dchanger les valeurs de deux variables A et B, et ce quel que soit leur contenu pralable.

FSR - M. HIMMI 2011

24

Algorithmique SMP-SMC S2 2010-2011

Exercice 7
On dispose de 3 variables A, B et C. Ecrivez un algorithme transfrant B la valeur de A, C la valeur de B et A la valeur de C ( quels que soient les
contenus pralables de ces variables ).

Exercice 8
Que produit lalgorithme suivant ? Variables A, B, C en Caractres Dbut A "423" B "12" CA+B Fin
FSR - M. HIMMI 2011 26

FSR - M. HIMMI 2011

25

Exercice 9
Que produit lalgorithme suivant ? Variables A, B en Caractres Dbut A "423" B "12" CA&B Fin
FSR - M. HIMMI 2011 27

Lecture et Ecriture
Pour permettre la machine de dialoguer avec l'utilisateur: Lecture: rentrer des valeurs au clavier criture: affichage l' l'cran
FSR - M. HIMMI 2011 28

Algorithmique SMP-SMC S2 2010-2011

Lecture et Ecriture
Instruction de lecture:

Lecture et Ecriture

Lire Titi
l'ex l'excution s'interrompt attendant la frappe d'une valeur au clavier, d ds que la touche Entr Entre est frapp frappe,l'ex e,l'excution reprend. Instruction d criture: dcriture: Avant de Lire une variable, il est tr trs fortement conseill conseill d' d'crire des libell libells l' l'cran, afin de pr prvenir l'utilisateur de ce qu'il doit frapper !

Ecrire Toto
FSR - M. HIMMI 2011 29 FSR - M. HIMMI 2011 30

Exercice 10
Que produit lalgorithme suivant ? Variables val, double numriques Dbut Val 231 Double Val * 2 Ecrire Val Ecrire Double Fin
FSR - M. HIMMI 2011 31

Exercice 11
Ecrire un algorithme qui demande un nombre lutilisateur, puis calcule et affiche le carr de ce nombre.

FSR - M. HIMMI 2011

32

Algorithmique SMP-SMC S2 2010-2011

Exercice 12
Ecrire un algorithme qui lit le prix HT dun article, le nombre darticles et le taux de TVA, et qui fournit le prix total TTC correspondant. Faire en sorte que des libells apparaissent clairement.
FSR - M. HIMMI 2011 33

Tests / branchements conditionnels


En fonction d dune condition on agit diff diffremment Il y a 2 formes possibles pour un test: Si bool boolen Alors Instructions Finsi Si bool boolen Alors Instructions 1 Sinon Instructions 2 Finsi
FSR - M. HIMMI 2011 34

Tests / branchements conditionnels


Bool Boolen est une expression dont la valeur est: VRAI ou FAUX.

Tests
Une condition est une expression compos compose de trois lments: une valeur un op oprateur de comparaison une autre valeur

Cela peut tre: une variable de type bool boolen une condition
FSR - M. HIMMI 2011 35

FSR - M. HIMMI 2011

36

Algorithmique SMP-SMC S2 2010-2011

Tests
Les op oprateurs de comparaison sont: gal = diff <> diffrent de de strictement plus petit que < que strictement plus grand que que > plus petit ou gal <= plus grand ou gal >=
FSR - M. HIMMI 2011 37

Tests
Conditions compos composes: (expression) Quatre op oprateurs logiques: ET, OU, NON, et XOR ET Vrai Faux Vrai Vrai Faux Faux Faux Faux XOR Vrai Faux Vrai Vrai Faux Faux Faux Vrai
FSR - M. HIMMI 2011

OU Vrai Faux Vrai Vrai Vrai Faux Vrai Faux NON Vrai Faux Faux Vrai
38

Tests
ET ou OU ? (transf. transf. de Morgan)

Tests
Tests imbriqu imbriqus Si bool boolen1 Alors instructions Si bool boolen2 Alors instructions Sinon instructions Finsi Finsi
39 FSR - M. HIMMI 2011

les parenth parenthses jouent un rle fondamental diff diffrentes possibilit possibilits, le choix est une affaire de style

Les tests imbriqu imbriqus sont des outils de simplification et d'optimisation des algorithmes

FSR - M. HIMMI 2011

40

Algorithmique SMP-SMC S2 2010-2011

10

Tests
SinonSi Sinon et Si peuvent tre Si bool boolen1 Alors fusionn fusionns en instructions un SinonSi. SinonSi. SinonSi bool boolen2 alors instructions C'est un seul sinon bloc de test, instructions termin termin par un seul FinSi Finsi

Exercice 13
Ecrire un algorithme qui demande trois nombres lutilisateur et linforme ensuite sils sont rangs ou non dans lordre croissant.

FSR - M. HIMMI 2011

41

FSR - M. HIMMI 2011

42

Exercice 14
Ecrire un algorithme qui demande un nombre lutilisateur, et linforme ensuite si ce nombre est positif, ngatif ou nul.

Exercice 15
Ecrire un algorithme qui demande deux nombres lutilisateur et linforme ensuite si le produit est ngatif, positif ou nul. On ne doit pas calculer le produit !

FSR - M. HIMMI 2011

43

FSR - M. HIMMI 2011

44

Algorithmique SMP-SMC S2 2010-2011

11

Exercice 16
Ecrire un algorithme qui demande lge dun enfant lutilisateur. Ensuite, il linforme de sa catgorie:
"Poussin" de 6 7 ans "Pupille" de 8 9 ans "Minime" de 10 11 ans "Cadet" aprs 12 ans Peut-on concevoir plusieurs algorithmes quivalents menant ce rsultat ?
FSR - M. HIMMI 2011 45

Exercice 17
Ecrire un algorithme qui lira au clavier lheure et les minutes, et affichera lheure quil sera une minute plus tard. Si l'utilisateur tape 21 puis 32, l'algorithme doit rpondre : "Dans une minute, il sera 21 heure(s) 33".
On suppose que l'utilisateur entre une heure valide.
FSR - M. HIMMI 2011 46

Exercice 18
Un magasin de photocopie facture 0,50Dh les dix premires pages, 0,40Dh les vingt suivantes et 0,20Dh au-del. Ecrivez un algorithme qui demande lutilisateur le nombre de photocopies effectues et qui affiche le montant payer.
FSR - M. HIMMI 2011 47

Algorithmique SMP-SMC S2 2010-2011

12

Vous aimerez peut-être aussi