Вы находитесь на странице: 1из 38

Cours algorithme 2

S. Tabbone

Cours en ligne http://www.pise.info/algo/introduction. htm

http://cours.univnancy2.fr/course/view.php?id=89

Introduction lAlgorithmique

Un algorithme, cest une suite dinstructions, qui une fois excute correctement, conduit un rsultat donn lalgorithmique exprime les instructions rsolvant un problme donn indpendamment des particularits de tel ou tel langage :

structure logique X langage de programmation

Pour fonctionner, un algorithme doit donc contenir uniquement des instructions comprhensibles par celui qui devra lexcuter la vrification mthodique, pas pas, de chacun de vos algorithmes reprsente plus de la moiti du travail accomplir... et le gage de vos progrs.

Conventions dcriture

une reprsentation graphique, avec des carrs, des losanges, etc. quon appelait des organigrammes pseudo-code ressemble un langage de programmation authentique dont on aurait vacu la plupart des problmes de syntaxe.

Les Variables

Dans un programme informatique, on va avoir en permanence besoin de stocker provisoirement des valeurs de types diffrents: utilisation de variables 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.

Il sagit de crer la bote et de lui coller une tiquette. Le nom de la variable (ltiquette de la bote) obit des impratifs changeant selon les langages:

Dclaration des variables

Un nom de variable correct commence imprativement par une lettre. comporte des lettres et des chiffres, mais qui exclut la plupart des signes de ponctuation, en particulier les espaces.

Le type de la boite prcise ce que lon voudra mettre dedans, car de cela dpendent la taille de la bote

Types numriques Type alphanumrique Type boolen

Types numrique
Une variable destine recevoir des nombres.
Type Numrique Plage Byte (octet) Entier simple Entier long 0 255 -32 768 32 767 -2 147 483 648 2 147 483 647 -3,40x1038 -1,40x1045 pour les valeurs ngatives 1,40x10-45 3,40x1038 pour les valeurs positives

Rel simple

Rel double

1,79x10308 -4,94x10-324 pour les valeurs ngatives 4,94x10-324 1,79x10308 pour les valeurs positives

Dfinir le type en fonction des besoins

Pseudo-code

Variable g en Numrique

ou encore

Variables PrixHT, TauxTVA, PrixTTC en Numrique

Type alphanumrique

galement appel type caractre, type chane ou en anglais, le type string

lettres, signes de ponctuation, espaces, ou mme de chiffres.

Le nombre maximal de caractres pouvant tre stocks dans une seule variable string dpend du langage utilis.

une chane de caractres est toujours note entre guillemets

viter la confusion:

entre des nombres et des suites de caractres chiffres. entre le nom d'une variable et son contenu

Type boolen

uniquement les valeurs logiques VRAI et FAUX: (TRUE et FALSE) ou des nombres (0 et 1) le type boolen est trs conomique en termes de place mmoire occupe, puisque pour stocker une telle information binaire, un seul bit suffit.

Linstruction daffectation

affecter une variable cest lui attribuer une valeur i.e mettre un contenu dans la boite En pseudo-code, l'instruction d'affectation se note avec le signe

Toto 24 //Attribue la valeur 24 la variable Toto

Comptabilit entre le contenant et le contenu Une variable dsign doit tre au pralable dclare

Exemple daffectation

Tutu Toto Tutu Toto + 4 Tutu Tutu + 1

Dbut Fin

Riri "Loulou" Fifi "Riri"

Dbut Fin

Riri "Loulou" Fifi Riri

Variable A en Numrique Dbut A 34 A 12 Fin

Variable A en Numrique Dbut A 12 A 34 Fin

Lordre dans lequel les instructions sont crites va jouer un rle essentiel dans le rsultat final.

Exercice 1.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 Fin corrig

Corrig

Aprs La valeur des variables est : A1 A=1 B=? BA+3 A=1 B=4 A3 A=3 B=4

Exercice 1.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 corrig -

Corrig

Aprs La valeur des variables est : A5 A=5 B =? C=? B3 A=5 B= 3 C=? CA+B A=5 B= 3 C=8 A2 A=2 B= 3 C=8 CBA A=2 B=

Exercice 1.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 corrig -

Corrig

Aprs La valeur des variables est : A5 A=5 B=? BA+4 A=5 B=9 AA+1 A=6 B=9 BA4 A=6 B=2

Exercice 1.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 corrig -

Aprs La valeur des variables est A3 A=3 B=? ? B 10 A=3 B = 10 CA+B A=3 B = 10 13 BA+B A=3 B = 13 13 AC A = 13 B = 13 13

C= C=? C= C= C=

Exercice 1.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 Moralit : 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 ? corrig -

Corrig

Aprs La valeur des variables est : A5 A=5 B=? B2 A=5 B=2 AB A=2 B=2 BA A=2 B=2 Les deux dernires instructions ne permettent donc pas dchanger les deux valeurs de B et A, puisque lune des deux valeurs (celle de A) est ici crase. Si lon inverse les deux dernires instructions, cela ne changera rien du tout, hormis le fait que cette fois cest la valeur de B qui sera crase.

Exercice 1.6 Plus difficile, mais cest un classique absolu, quil faut absolument matriser : crire un algorithme permettant dchanger les valeurs de deux variables A et B, et ce quel que soit leur contenu pralable. corrig -

Dbut CA AB BC Fin On est oblig de passer par une variable dite temporaire (la variable C).

Exercice 1.7 Une variante du prcdent : on dispose de trois 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 (toujours quels que soient les contenus pralables de ces variables). corrig -

Dbut DC CB BA AD Fin En fait, quel que soit le nombre de variables, une seule variable temporaire suffit

Expressions et oprateurs

Une expression est un ensemble doprandes, relies par des oprateurs, et quivalent une seule valeur Exemple dexpression (oprandes numriques):
7; 5+4; 123-45+844;Toto-12+5-Riri;

Oprandes: numrique, alphanumrique, boolen

Oprateurs numriques

+ : addition - : soustraction * : multiplication / : division ^ : puissance

Priorit des oprateurs: * et / sur + et

12 * 3 + 5 12*(3+5)

Oprateur alphanumrique : &

Variables A, B, C en Caractre Dbut A "Gloubi" B "Boulga" CA&B Fin

Oprateurs logiques (ou boolens)

Ou, ET, NON,

OU
A B A ou B

ET A
0 0 1 1

B 0 1 0 1

A ET B 0 0 0 1

0
0 1 1

0
1 0 1

0
1 1 1

NON

A
0 1

NON A
1 0

Exercice 1.8 Que produit lalgorithme suivant ? Variables A, B, C en Caractres Dbut A "423" B "12" CA+B Fin corrig -

Il ne peut produire quune erreur dexcution, puisquon ne peut pas additionner des caractres.

Exercice 1.9 Que produit lalgorithme suivant ? Variables A, B en Caractres Dbut A "423" B "12" CA&B

A la fin de lalgorithme "42312".