Les bases de lAlgorithmique. Introduction Quest-ce quun algorithme ? Un algorithme est une suite...

Preview:

Citation preview

Les bases de

l’Algorithmique

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.

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

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.

Règles de mise en forme d’un algorithme

Nom de l’algorithme

Début *commentaires*

Instruction 1 *commentaires* Instruction 2

Fin

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.

Règles de mise en forme d’un algorithme

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

Instructions1 Instructions 2

Fin

• Exemple

Algo : Prix_du_pain

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

*commentaires*

Instruction1 Instruction2

Fin

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

• 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

• 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

• 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

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

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

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

• La structure conditionnelle Notation :

SI condition Alors actionFIN SI

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

• 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

• 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).

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

• 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).

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

• 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).

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

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

Recommended