25
Les bases de l’Algorithmique

Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Embed Size (px)

Citation preview

Page 1: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Les bases de

l’Algorithmique

Page 2: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Introduction

• Qu’est-ce qu’un algorithme ?Un algorithme est une suite logique d’instructions permettant de résoudre un problème (ou de répondre à un besoin).

• Qu’est ce que veut dire « écrire un algorithme »

- Analyser et comprendre le problème : étude des données fournies et des résultats attendus.

- Résoudre le problème :

C’est trouver les structures de données adaptées ainsi que l’enchaînement des actions à réaliser pour passer des données aux résultats.

• Comment exécuter un algorithme sur un ordinateur ?Il faut traduire cet algorithme à l’aide d’un langage de programmation connu par l’ordinateur.

Page 3: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Enoncé d’un problème

Analyse, compréhension

Algorithme

Codification

Programme

Résolution

Exécution par l’ordinateur

Langage de programmation

(code)

Pseudo code

Langage machine

Interprétation

Page 4: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Règles à respecter pour l'écriture d'un algorithme

• Il est défini sans ambiguïté

• Il se termine après un nombre fini d'opérations

• Il manipule des objets définis de manière très précise.

Définition 2

Un algorithme est une suite d'actions ordonnées en séquence qui portent sur les objets d'un univers fini.

Page 5: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Règles de mise en forme d’un algorithme

Nom de l’algorithme

Début *commentaires*

Instruction 1 *commentaires* Instruction 2

Fin

Page 6: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Les objets utilisés dans un algorithmeLes différents objets • Les variables

Une variable est un objet contenant une valeur appelée à être modifiée au cours de l'algorithme.

• Les constantesUne constante est un objet dont la valeur ne change pas au cours de l'algorithme.

Définition des objetsUn objet est définis par :

• Un identificateur : suite quelconque de caractères.

• Un type : Booléen, numérique (entier ou réel), caractère ou chaîne de caractères.

• Une valeur : c'est le contenu de l'objet.

Page 7: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Règles de mise en forme d’un algorithme

Nom de l’algorithmeDéclaration des variables et constantesDébut *commentaires*

Instructions1 Instructions 2

Fin

Page 8: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

• Exemple

Algo : Prix_du_pain

VariablesNom : chaîne de caractèresNb : EntierPrx, Mtt, Rem : RéelConstantesTxrem=0,1Début

*commentaires*

Instruction1 Instruction2

Fin

Page 9: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Instructions élémentaires

• Affectation

L'opération consiste à affecter une valeur à une variable. Elle est

représentée par une flèche orientée à gauche

Exemple :

1/ Le terme de droite (15) est affecté au terme de gauche (variable A)2/ Le terme de droite (valeur de la variable B + 3) est affecté au terme de gauche (variable A)3/ Le terme de droite (valeur de A (avant instruction) + 1) est affecté au terme de gauche (variable A)

Dans ce dernier cas la nouvelle valeur de A remplace l'ancienne.

1/

2/

3/

A 15

A B+3

A A+5

Page 10: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

• Instruction d'entréeUne instruction d'entrée permet de récupérer une valeur sur un périphérique d'entrée.

Notation :Saisir nom variable

Exemple précédent : Saisir Nom

(saisir sur le clavier des caractères qui représenteront la valeur de la variable nom)

• Instruction de sortie Permet d'afficher à l'écran du "texte", le contenu d'un objet (variable ou constante) voir le résultat d'une expression.

Notation :Afficher nom variable ou Afficher « texte »

Exemple :Afficher « Saisir un nom », Nom

Page 11: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

• Expressions Des opérations sur les objets - variables, constantes ou encore littéraux

(valeurs numériques ou alphanumériques) - peuvent être réalisées à l'aide d'opérateurs arithmétiques ou logiques pour former des expressions.

Les principaux opérateurs arithmétiques (à partir des variables déclarées ci-dessus)

Opérations Opérateurs Exemple

Addition + Prx + Nb

Soustraction - Mtt - Rem

Multiplication * Mtt * 1,206

Division / Map / Nb

Puissance ^ (1+ i)^2

Page 12: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

• Exemple

Algo : prix_du_painVariables

Nb : Entier

Prx, Mtt : Réel

Début

Afficher " Prix ?"

Saisir Prx

Afficher "Nombre ?"

Saisir Nb

Mtt Prx * Nb

Afficher "Montant :", Mtt

Fin

Page 13: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Les structures alternatives et conditionnelles

• La structure alternative

Notation :

SI condition

Alors action1

Sinon action2FIN SI

Remarque : L'expression de la condition est souvent de forme logique dont voici les opérateurs : < > = >= <= <> ET OU NON

Page 14: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Les opérateurs logiques

Comparaison Opérateurs

= Égal à

< Inférieur à

> Supérieur à

<= Inférieur ou égal à

>= Supérieur ou égal à

<> Différent de

ET Et (l’un et l’autre)

OU Ou (l’un ou l’autre)

NON Non

Page 15: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Exemple : Algo : prix_du_pain Variables Nom : chaîne de caractères Nb : Entier Prx, Mtt, Rem : Réel Constantes Tx1 = 0,1

Tx2 = 0,05 Début *calcul d'une remise client* Afficher " Prix ?" Saisir Prx Afficher "Nombre ?" Saisir Nb Mtt ← Prx * Nb Si Mtt > 2000 Alors Rem ← Mtt * Tx1 Sinon Rem ← Mtt * Tx2 Fin si Afficher "Montant :", Mtt Fin

Page 16: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

• La structure conditionnelle Notation :

SI condition Alors actionFIN SI

Page 17: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Exemple : Algo : prix_du_pain Variables Nom : chaîne de caractères Nb : Entier Prx, Mtt, Rem : Réel Constantes Tx1 = 0,1

Début *calcul d'une remise client* Afficher " Prix ?" Saisir Prx Afficher "Nombre ?" Saisir Nb Mtt ← Prx * Nb Si Mtt > 1000 Alors Rem ← Mtt * Tx1 Fin si Afficher "Montant de la remise :", Rem Fin

Page 18: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

• La structure de choix

Notation

Selon expression Faire

Valeur 1 : action1

Valeur 2 : action2

Valeur n : action n

Sinon : action par défaut Fin selon

Page 19: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

• La structure Tant que… Fin Tant quePermet la répétition d'une (ou plusieurs) action(s) tant qu'une condition est satisfaite.

Notation :

Tant que condition Faire

action 1

action 2

Fin Tant Que

Les structures itératives

Teste si la condition est vérifiée . Si c'est le cas il y a exécution des actions.

Dans le cas contraire l'algorithme se poursuit après la boucle (structure).

Page 20: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Exemple : Algo : prix_du_pain Variables --------------------

Rep : chaîne de caractèresConstantes-------------------

Début Afficher "voulez-vous calculer une facture ?(oui/non)"

Saisir Rep Tant que Rep= "oui" Faire Afficher " Prix ?" Saisir Prx Afficher "Nombre ?" Saisir Nb Mtt ← Prx * Nb Si Mtt > 2000 Alors Rem ← Mtt * Tx1 Sinon Rem ← Mtt * Tx2

Fin si Mtt ← Mtt – Rem

Afficher « Voulez-vous une autre facture ? (oui/non) " Saisir Rep Fin Tant que

Fin

Page 21: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

• La structure Répéter Jusqu’à

Permet la répétition d'une (ou plusieurs) action(s) jusqu’à la satisfaction d’une condition.

Notation :

Répéter

action 1

action 2

Jusqu’à Condition

Teste si la condition est vérifiée . Si ce n’est pas le cas il y a exécution des actions.

Quand la condition est vérifiée l'algorithme se poursuit après la boucle (structure).

Page 22: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Exemple : Algo : prix_du_pain Variables --------------------

Rep : chaîne de caractèresConstantes-------------------

Début (* remarque : une facture sera obligatoirement éditée *) Répéter Afficher " Prix ?" Saisir Prx Afficher "Nombre ?" Saisir Nb Mtt ← Prx * Nb Si Mtt > 2000 Alors Rem ← Mtt * Tx1 Sinon Rem ← Mtt * Tx2

Fin si Mtt ← Mtt – Rem

Afficher « Voulez-vous une autre facture ? (oui/non) " Saisir Rep Jusqu’à Rep = « non »

Fin

Page 23: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

• La structure Pour … allant de … à … faire Fin PourPermet de répéter un nombre déterminé de fois une (ou plusieurs) action(s).

Notation :

Pour compteur allant de 1 à n Faire

action 1 action 2

Finpour

La structure répétitive

Permet de compter le nombre de répétition de l’action.

Lorsque le nombre voulu de répétition est atteint, l'algorithme se poursuit après la boucle (structure).

Page 24: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Exemple : Algo : prix_du_pain Variables --------------------

Compteur : entierNbfact : entier

Constantes-------------------

Début Afficher « Combien de factures voulez-vous ? »

Saisir Nbfact Pour Compteur allant de 1 à Nbfact faire

Afficher " Prix ?" Saisir Prx Afficher "Nombre ?" Saisir Nb Mtt ← Prx * Nb Si Mtt > 2000 Alors Rem ← Mtt * Tx1 Sinon Rem ← Mtt * Tx2

Fin si Mtt ← Mtt – Rem Finpour

Fin

Page 25: Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite logique dinstructions permettant de résoudre un problème

Les variables cumulatives

Ce sont des variables qui permettent de cumuler des valeurs calculées dans la boucle ou encore pour dénombrer le nombre de passage.

Exemple : ……………..

Début Afficher "voulez-vous calculer une facture ?(oui/non)"

Saisir Rep Nb←0 Mtttot←0 Tant que Rep= "oui" Faire

Afficher " Prix ?" Saisir Prx Afficher "Nombre ?" Saisir Nb Mtt ← Prx * Nb Nb ← Nb+1 Mtttot ← Mtttot + Mtt Afficher "Autre facture ? (oui/non) "

Saisir Rep Fin Tant que Afficher « montant total des »,Nb, « factures : » ,Mtttot

Fin