Vous êtes sur la page 1sur 15

Cours algorithme 2012

PROGRAMME
Chap. 1 : Introduction aux algorithmes et au langage C Chap. 2 : Notions de Base Chap. 3 : Structures conditionnelles et de choix Chap. 4 : Structures itratives Chap. 5 : Procdures et fonctions Chap. 6 : Les tableaux

Salami OBE

salamiobe@gmail.com

Cours algorithme 2012


Chapitre 1 : INTRODUCTION AUX ALGORITHMES ET AU LANGAGE C

L objectif de la programmation est de trouver une solution informatique un problme pos. Les problmes sont en gnral de diffrentes complexits. D une manire gnrale un programme doit prsenter une interface graphique ou tre excut en mode texte.

Problme

Solution algorithmique

Codage Langage C

Compilation

Excution du programme

I.

DEFINITIONS

L'algorithme est le rsultat d'une dmarche logique de rsolution d'un problme pour la mise en uvre pratique sur ordinateur et afin d'obtenir des rsultats concrets il faut passer par l'intermdiaire d'un langage de programmation. Un algorithme dcrit une succession d'oprations qui, si elles sont fidlement excutes, produiront le rsultat dsir. Un algorithme est une suite d'actions que devra effectuer un automate pour arriver en un temps fini, un rsultat dtermin partir d'une situation donne. La suite d'oprations sera compose d'actions lmentaires appeles instructions.

Un programme est une traduction de l algorithme dans un langage de programmation comprhensible par la machine

Salami OBE

salamiobe@gmail.com

Cours algorithme 2012

II.

INTERT DE L ALGORYTHME

Informatiser une application, facturation de la consommation d'eau, par exemple, c'est faire raliser par ordinateur, une tche qui tait ralise par l'Homme. Pour faire excuter une tche par ordinateur, il faut tout d'abord, dtailler suffisamment les tapes de rsolution du problme, pour qu'elle soit excutable par l'homme. Ensuite, transfrer la rsolution en une suite d'tapes si lmentaire et simple excuter, pouvant tre code en un programme dans un langage comprhensible par ordinateur. Toute suite d'tapes si lmentaire et simple excuter s'appelle un ALGORITHME. Un programme c'est un algorithme cod dans un langage comprhensible par ordinateur l'aide d'un compilateur (traducteur).

III.

ETAPE DE LA RESOLUTION INFORMATIQUE D UN PROBLEME

Du fait que la rsolution du problme est informatique, il faudra traduire la solution de manire comprhensible par l ordinateur. Le langage de programmation devra donc respecter certaines rgles d criture dictes par le traducteur qui va interprter le langage en code comprhensible par l ordinateur. L algorithme qui est la premire tape dans la rsolution ne ncessite pas de compilation, ce qui entraine une grande souplesse dans la syntaxe.

1. Les tapes de la rsolution d un problme


a) Comprendre l'nonc du problme b) Dcomposer le problme en sous-problmes plus simple rsoudre c) Associer chaque sous problme, une spcification :

Les donnes ncessaires (les donnes en entre) Les donnes rsultantes (les donnes en sortie) La dmarche suivre pour arriver au rsultat en partant d'un ensemble de donnes (le traitement).

d) Elaboration d'un algorithme.

Salami OBE

salamiobe@gmail.com

Cours algorithme 2012

2. Exemple de rsolution d un problme


Nous allons calculer le primtre de l cran de l ordinateur Solution classique v Chercher la longueur v Chercher la largeur v Calculer le primtre Solution algorithmique Clavier Souris Donnes en entre

Processeur + Mmoire Traitement

ECRAN rsultat (Donnes en sortie)

Dans le cas de la solution algorithmique on considre que le calcul devra se faire par l ordinateur. Il faudra donc lui fournir des donnes (gnralement via clavier et souris). Apres calcul, le rsultat est affich l cran qui une interaction entre l utilisateur et la machine. Donc les donnes qui seront fournies dans notre cas seront la longueur et la largeur. La donne produite comme rsultat est le primtre.

3. Exemple de l algorithme

Ecrire ("Donnez la longueur ") Lire (longueur) Ecrire ("Donnez la largeur ") Lire (longueur) Perimetre (longueur + largeur) * 2

Ecrire ("le primtre est : ", Perimetre)

Salami OBE

salamiobe@gmail.com

Cours algorithme 2012


Chapitre 2 : NOTIONS DE BASE

I.

DEFINITIONS

Un algorithme est une suite d instruction simple dont l excution conduit un rsultat Un programme est une traduction de l algorithme dans un langage comprhensible par la machine

II.

MAITRISE DE L ALGORITHME

La matrise de l algorithmique requiert deux qualits, trs complmentaires d ailleurs : v Il faut avoir une certaine intuition, car aucune recette ne permet de savoir a priori quelles instructions permettront d obtenir le rsultat voulu. C est l, si l on y tient, qu intervient la forme d intelligence requise pour l algorithmique. Alors, c est certain, il y a des gens qui possdent au dpart davantage cette intuition que les autres. Cependant, et j insiste sur ce point, les rflexes, cela s acquiert. Et ce qu on appelle l intuition n est finalement que de l exprience tellement rpte que le raisonnement, au dpart laborieux, finit par devenir spontan . v Il faut tre mthodique et rigoureux. En effet, chaque fois qu on crit une srie d instructions qu on croit justes, il faut systmatiquement se mettre mentalement la place de la machine qui va les excuter, arm d'un papier et d'un crayon, afin de vrifier si le rsultat obtenu est bien celui que l on voulait. Cette opration ne requiert pas la moindre once d intelligence. Mais elle reste nanmoins indispensable, si l on ne veut pas crire l aveuglette. Et petit petit, force de pratique, vous verrez que vous pourrez faire de plus en plus souvent l conomie de cette dernire tape : l exprience fera que vous verrez le rsultat produit par vos instructions, au fur et mesure que vous les crirez. Naturellement, cet apprentissage est long, et demande des heures de travail patient. Aussi, dans un premier temps, vitez de sauter les tapes : la vrification mthodique, pas pas, de chacun de vos algorithmes reprsente plus de la moiti du travail accomplir... et le gage de vos progrs.

Salami OBE

salamiobe@gmail.com

Cours algorithme 2012


III. STRUCTURE D UN ALGORITHME

ALGORITHME nom_de_l'algorithme CONST {Dfinition des constantes} VAR DEBUT Action 1 Action 2 Action N FIN {Dfinition de variables}

1) En-tte
Il permet d identifier l algorithme Exemple : Algorithme Calcul_Perimetre

2) Dclarations
C est une liste exhaustive d objets de grandeur utiliss et manipuls dans le corps de l algorithme. Cette liste est place au dbut de l algorithme.

3) Le corps de l algorithme
Dans cette partie sont places les tches d instructions et oprations excuter.

IV.

DECLARATION DES CONSTANTES ET VARIABLES

1. Les constantes
Elles reprsentent des chiffres des nombres, des caractres, des chaines de caractres dont la valeur ne peut pas tre modifie au cours de l excution de l algorithme. Le mot cl pour dclarer une constante est Const. La dclaration d une constante se fait de la manire suivante : Const identificateur_de_la_constate expression : Type

Salami OBE

salamiobe@gmail.com

Cours algorithme 2012


Exemple : Const pi = 3.14 : rel

2. Les Variables
Elles reprsentent des chiffres, des nombres, des caractres, des chaines de caractres dont la valeur peut tre modifie au cours de l excution de l algorithme. Le mot cl pour dclarer une variable est Var. La dclaration d une constante se fait de la manire suivante : Var identificateur_de_la_variable Exemple : Var n , i r b,c Chaine expression : Type

2 : : :

: entier rel boolens chane

NB : Constantes et Variables sont dfinies dans la partie dclarative par deux caractristiques essentielles savoir : L Identificateur qui est le nom de la variable ou de la constante. Il est constitu de lettres et de chiffres Le Type c est la nature de la variable ou de la constante

V.

LES TYPES DE BASE

Pour pouvoir accder et manipuler des donnes le programme (quel que soit le Langage dans lequel il est crit) fait usage d un grand nombre de variables de diffrentes types. Pour distinguer les un des autres des divers contenus possibles, on utilise diffrents types de variables. Nous considrons 5 types de base

1. Les entiers
Notation : 45, 36, -800 , O , - - - Mot cl : entier

2. Rels
Notation : 7.65 , 3.75 , -700, -20.35 , - - - Mot cl : rel

Salami OBE

salamiobe@gmail.com

Cours algorithme 2012


3. Caractre
Il s agit de lettres, de signes de ponctuation, d espaces, ou mme de chiffres. Notation : a , c , @ , ! , - - - Mot cl : chaine

4. Chaines de caractres
Notation : bonjour , bonjour tout le monde , - - - Mot cl : chane

5. Boolen
Dans le type boolen on a deux valeurs : Vrai ou Faux Mot cl : boolen

VI.

LES OPERATEURS

Les oprateurs sont le fondement mme du traitement des oprations mathmatiques et comparatif de n importe quel langage, l algorithme ne fait pas exception. Il est noter qu il n existe pas de vritable standard sur la forme d criture des oprateurs algorithmiques, mais seulement une tendance trs prononc pour les symboles mentionns.

1. Les oprateurs sur les entiers et les rels

Oprateurs arithmtiques
Oprateur + * / mod Description addition soustraction multiplication division Modulo (donne le reste de la division entire) Effectue une affectation une variable

Salami OBE

salamiobe@gmail.com

Cours algorithme 2012


Oprateurs de comparaison
Oprateur = < > <= >= <> Description Comparaison d une galit Comparaison de plus petit que Comparaison de plus grand que Comparaison de plus petit ou gal que Comparaison de plus grand ou gal que Comparaison d une diffrence

Oprateurs Logiques
Oprateur ET OU OU X NON Description Comparaison d une galit Comparaison de plus petit que Comparaison de plus grand que Comparaison de plus petit ou gal que

2. Les oprations sur les chaines de caractres


Fonction de concatnation (+) + Fonction de concatnation

Exemple: al , go al + go = algo
Fonction de comparaison sur les chaines > Suprieur < Infrieur = Egal

3. Priorit des oprateurs


La multiplication et la division sont prioritaires devant l addition et la soustraction 3+4/2=? 28 21 / 7 = ? (3+5) * 2 = ?

4. Ce qu il faut retenir
Retenez le nom des diffrents types et de leurs oprateurs en retenant bien quel oprateur fait quoi avec quoi. Vous devriez pouvoir reconstruire de tte le tableau rcapitulatif (encore une fois, vous ne devriez pas avoir l'apprendre, vous devriez pouvoir le dduire des types).

Salami OBE

salamiobe@gmail.com

Cours algorithme 2012


5. L affectation
Elle permet d affecter une valeur une variable Notation : identificateur_de_la_variable Valeur

La valeur peut tre remplace par une expression qui est une suite d oprations sur des constantes ou des variables dclares.

VII.

LES ENTREES SORTIES

Pour faciliter des changes ou le dialogue entre l utilisateur et l excution d un programme, nous faisons appel des instructions. Dans un sens, ces instructions permettent l utilisateur de rentrer des valeurs au clavier pour qu elles soient utilises par le programme. Cette opration est la lecture. Dans l autre sens, d autres instructions permettent au programme de communiquer des valeurs l utilisateur en les affichant l cran. Cette opration est l criture.

1. La commande Ecrire
La commande Ecrire permet d afficher du texte. Elle permet aussi des chaines de caractres, des variables et des constantes . Le texte afficher doit tre en guillemets (" texte "). Les diffrents noms de variables doivent tre spars par des virgules. Notation : Ecrire (" le texte afficher ", variable1)

2. La commande Lire
La commande Lire permet l utilisateur de rentrer une valeur qui sera utilis par le programme Notation : lire (variable1)

APPLICATION

10

Salami OBE

salamiobe@gmail.com

Cours algorithme 2012


Chapitre 3 : STRUCTURES CONDITIONNELLES ET DE CHOIX

I.

Introduction

Les algorithmes vus prcdemment taient trs simples. En effet, pour l'instant, nous sommes seulement en mesure de dcrire une suite d'oprations, chacune devant tre excute une et une seule fois. Autrement dit on ne peut pas conditionner l'excution de certaines instructions. Pour cela on utilisera des structures conditionnelles et de choix. Nous allons donc nous baser sur ce qu on appelle prdicat ou condition Exemple Si la pice est allume, alors j'entre dans la pice. Sinon je passe mon chemin. Selon ce qu'il va se passer, soit je prends le mtro, soit je prends le bus. En Bleu nous avons la structure conditionnelle. En Orange c'est la condition. En Vert nous avons l'action effectue si la condition est respecte ou non.

Une structure conditionnelle permet en algorithmique de poser des conditions pour effectuer une ou plusieurs actions. On entend par structure conditionnelle, la possibilit d'orienter un algorithme en fonction de choix particuliers. Les structures conditionnelles nous ouvrent de nouveaux horizons pour l'laboration d'algorithmes. Cela reprsente une notion trs importante qu'il faut pouvoir assimiler si l'on cherche aller plus loin. Il en existe deux :

II.

Notion de prdicat ou condition

Un prdicat ou condition est un nonc ou proposition qui peut tre vrai ou faux selon ce qu on est entrain de parler. Exemple
v (15 < 97) est une condition vraie v (5 < 45) est une condition faux

11

Salami OBE

salamiobe@gmail.com

Cours algorithme 2012

III.

Evaluation d une expression logique

Une condition est une expression de type logique. Ils lui correspondent deux valeurs possibles VRAI et FAUX qu on note par V ou F.

1. Notation des oprateurs logiques et leur priorit


Priorit 1 2 3 Oprateurs NON ET OU Notation

2. Tableaux d valuations
A Vrai Faux NON A Faux Vrai

A Vrai Vrai Faux Faux

B Vrai Faux Vrai Faux B Vrai Faux Vrai Faux

A ET B Vrai Faux Faux Faux A OU B Vrai Vrai Vrai Faux

A Vrai Vrai Faux Faux

IV.

La structure alternative SI SINON

Elle permet d'exprimer une condition simple (binaire). L'valuation de la condition va dterminer la suite du droulement de l'algorithme.

12

Salami OBE

salamiobe@gmail.com

Cours algorithme 2012

1. Syntaxe

SI (condition) ALORS actions_1 SINON actions_2 FINSI

Une seule des deux actions peut tre excute (action_1 ou action_2), l'algorithme continue ensuite son droulement normal. Si la condition value est vraie, c'est l'action 1 qui est effectue, sinon (si l'valuation est fausse), l'action 2 est excute. On indique en gnral la fin de l'instruction conditionnelle pour bien dlimiter son champ d'action. Les conditions peuvent prendre des formes plus ou moins complexes : SI (total = 0) ... SI ((mois > 2) ET (mois < 5)) ... SI (((reponse = "OUI") ET (total > 5)) OU (total > 10)) ... Si elle n'est pas ncessaire, la partie SINON peut tre omise. On peut parfaitement enchaner plusieurs instructions conditionnelles, d'ou l'intrt de bien en dlimiter la fin et d'indenter correctement l'algorithme.

13

Salami OBE

salamiobe@gmail.com

Cours algorithme 2012

V.

La structure de choix Suivant

Cette structure permet en fonction de plusieurs conditions de types boolens d effectuer des actions diffrentes suivant les valeurs que peut prendre une mme variable.

Syntaxe :

Suivant variable faire Valeur 1 : action_1 Valeur 2 : action_2 ... Valeur n : action_n SINON : Action n+1 Finsuivant

Les conditions sont values dans l'ordre, les unes aprs les autres, et ds qu'une de celle-ci est vrifie l'action associe est excute. Aprs quoi on passe au FIN SELON pour continuer avec la suite de l'algorithme. On peut utiliser une instruction SINON (facultative), dont l'action sera excute si aucune des conditions values n'a t remplie.

14

Salami OBE

salamiobe@gmail.com

Cours algorithme 2012


Exemple :

Algorithme Code_de_la_route Var feu : chane Dbut Ecrire (Donnez la couleur du feu) Lire (feu) Suivant feu faire Vert : Ecrire (vous pouvez passer) Rouge : Ecrire (vous devez vous arrter) Orange : Ecrire (vous devez ralentir) Sinon : Ecrire (cette couleur ne correspond aucun feu de signalisation) FinSelon

15

Salami OBE

salamiobe@gmail.com