Algorithme - Sbaysite.com

publicité
Algorithmique
Résume
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
Résolution
Pseudo code
Algorithme
Codification
Langage de
programmation
(code)
Programme
Interprétation
Compilateur
Exécution par l’ordinateur
Langage machine
Règles à respecter pour l'écriture d'un
algorithme
• Il est défini sans ambiguité
• 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.
1/ Règles de mise en forme d’un algorithme
Nom de l’algorithme
Début
*commentaires*
Instruction 1
*commentaires*
Instruction 2
Fin
2/ Les objets utilisés dans un algorithme
2-1 Les différents objets :
• Les variables
Une variable est un objet contenant une valeur appelée à être modifiée au
cours de l'algorithme.
• Les constantes
Une constante est un objet dont la valeur ne change pas au cours de
l'algorithme.
2-2 Définition des objets
Un objet est définis par :
• Un identificateur (suite quelconque de caractères)
• Un type -Booléen,numérique(entier;réel) ou chaîne de caractère• Une valeur (c'est le contenu de l'objet)
1/ Règles de mise en forme d’un algorithme
Nom de l’algorithme
Déclaration des variables et constantes
Début
*commentaires*
Instructions1
Instructions 2
Fin
• Exemple
: prixdupain
Algo
Variables
Nom
Nb
Prx, Mtt, Rem, Map,i
Constantes
Txrem=0,1
Début
*commentaires*
Instruction1
Instruction2
Fin
: chaîne de caractères
: Entier
: Réel
3/ 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/
2/
3/

A  15
A  B+3
A  A+5
1/ Le terme de droite (15) est affecté au terme de gauche (variable A)
2/ "
"
(valeur de la variable B + 3) affecté " " terme gauche (variable A)
3/ "
"" (valeur de A (avant instruction) + 1) affecté
"" ""
(variable A
Dans ce dernier cas la nouvelle valeur de A remplace l'ancienne.
• Instruction d'entrée
Une instruction d'entrée permet de récupérer une valeur
sur un périphérique d'entrée
Notation :
Saisir nom variable
ou
Entrer nom variable
• Exemple précédent :
Saisir nom
(ou Entrer 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.
• 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
/
Nap / Nb
Puissance
^
(1+ i)^2
• exemple
Algo : prixdupain
Variables
Nb
: Entier
Prx, Mtt, Rem, Map
: Réel
Début
Afficher " Prix ?"
Entrer Prx
Afficher "Nombre ?"
Entrer Nb
Mtt
Prx * Nb
Afficher "Montant :", Mtt
Fin

3/ Les structures conditionnelles
• La structure alternative
Notation :
SI "condition" Alors
"action1"
Sinon
"action2"
FIN SI
Remarque : L'expression de la condition est souvent de forme logique dont
voici les opérateurs :
Les opérateurs logiques
Comparaison






Opérateurs
égal
différent de
inférieur
inférieur ou égal
supérieur
supérieur ou égal
Exemple :
Algo : prixdupain
Variables
Nom
: chaîne de caractères
Nb
: Entier
Prx, Mtt, Rem, Map,i
: Réel
Constantes
Tx1 = 0,1
Tx2 = 0,05
Début
*calcul d'une remise client*
Afficher " Prix ?"
Entrer Prx
Afficher "Nombre ?"
Entrer Nb
Mtt ← Prx * Nb
Si Mtt > 2000 Alors
Rem ← Mtt * Tx1
Sinon
Rem ← Mtt * Tx2
Fin si
Afficher "Montant :", Mtt
Fin
• La structure alternative appauvrie
Notation :
SI "condition" Alors
"action"
FIN SI
Exemple :
Algo : prixdupain
Variables
Nom
: chaîne de caractères
Nb
: Entier
Prx, Mtt, Rem, Map,i
: Réel
Constantes
Tx1 = 0,1
Début
*calcul d'une remise client*
Afficher " Prix ?"
Entrer Prx
Afficher "Nombre ?"
Entrer 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
Autre notation possible
Selon <expression>
Cas <expression> : <action1>
Suivant <expression> Faire)
<expression 1> : >action1>
Cas <expression> : <action1>
<expression N> : >action1>
Cas sinon : <action>
Sinon : <action par défaut>
Finsuivant
3/ Les structures itératives
•
La structure Tant que…Fin Tant que
Permet 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
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 : prixdupain
Variables
--------------------Rep
Constantes
------------------Début
: chaîne de caractères
Afficher "voulez-vous calculer une facture ?(oui/non)"
Entrer Rep
Tant que Rep= "oui" Faire
Afficher " Prix ?"
Entrer Prx
Afficher "Nombre ?"
Entrer Nb
Mtt ← Prx * Nb
Si Mtt > 2000 Alors
Rem ← Mtt * Tx1
Sinon
Rem ← Mtt * Tx2
Fin si
Mtt ← Mtt – Rem
Afficher "Autre facture ? (oui/non) "
Saisir Rep
Fin Tant que
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)"
Entrer Rep
Nb←0
Mtttot←0
Tant que Rep= "oui" Faire
Afficher " Prix ?"
Entrer Prx
Afficher "Nombre ?"
Entrer Nb
Mtt ← Prx * Nb
Nb ← Nb+1
Mtttot ← Mtttot + Mtt
Afficher "Autre facture ? (oui/non) "
Saisir Rep
Fin Tant que
Fin
Téléchargement