Algorithmique
description
Transcript of Algorithmique
AlgorithmiqueRé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
Algorithme
Codification
Programme
Résolution
Exécution par l’ordinateur
Langage de programmation
(code)
Pseudo code
Langage machine
Interprétation Compilateur
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 constantesUne constante est un objet dont la valeur ne change pas au cours de l'algorithme.
2-2 Définition des objetsUn 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’algorithmeDéclaration des variables et constantesDébut *commentaires*
Instructions1 Instructions 2
Fin
• Exemple
Algo : prixdupainVariablesNom : chaîne de caractèresNb : EntierPrx, Mtt, Rem, Map,i : RéelConstantesTxrem=0,1Début
*commentaires*
Instruction1 Instruction2
Fin
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/ 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.
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éeNotation :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 : prixdupainVariables
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 alternativeNotation :
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> Suivant <expression> Faire)Cas <expression> : <action1> <expression 1> :
>action1>
Cas <expression> : <action1> <expression N> : >action1>
Cas sinon : <action> Sinon : <action par défaut>
Finsuivant
• 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
3/ 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 : prixdupain Variables --------------------Rep : chaîne de caractères
Constantes-------------------
Début 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 cumulativesCe 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