les bases de lalgorithmique. qu'est-ce qu'un algorithme ? le mot « algorithme » vient du...
Post on 03-Apr-2015
111 Views
Preview:
TRANSCRIPT
Les bases deLes bases del’Algorithmiqul’Algorithmiquee
Qu'est-ce qu'un Qu'est-ce qu'un algorithme ?algorithme ?
Le mot « algorithme » vient du nom du grand mathématicien Le mot « algorithme » vient du nom du grand mathématicien persan Al Khwarizmi (vers l'an 820), qui introduisit en persan Al Khwarizmi (vers l'an 820), qui introduisit en Occident la numération décimale (rapportée d'Inde) et Occident la numération décimale (rapportée d'Inde) et enseigna les règles élémentaires des calculs s'y rapportant. enseigna les règles élémentaires des calculs s'y rapportant. La notion d'algorithme est donc historiquement liée aux La notion d'algorithme est donc historiquement liée aux manipulations numériques, mais elle s'est progressivement manipulations numériques, mais elle s'est progressivement développée pour porter sur des objets de plus en plus développée pour porter sur des objets de plus en plus complexes, des textes, des images, des formules logiques, complexes, des textes, des images, des formules logiques, des objets physiques, etc.des objets physiques, etc.
Qu’est-ce que Qu’est-ce que « l’algomachin » ?« l’algomachin » ?
L’algorithmique est donc un terme d’origine arabe, L’algorithmique est donc un terme d’origine arabe, comme algèbre, amiral ou zénith. Ce n’est pas une comme algèbre, amiral ou zénith. Ce n’est pas une excuse pour massacrer son orthographe, ou sa excuse pour massacrer son orthographe, ou sa prononciation.prononciation.Ainsi, l’algo n’est pas « rythmique », à la différence du Ainsi, l’algo n’est pas « rythmique », à la différence du bon rock’n roll. L’algo n’est pas non plus « l’agglo ».bon rock’n roll. L’algo n’est pas non plus « l’agglo ».Alors, ne confondez pas l’algorithmique avec l’agglo Alors, ne confondez pas l’algorithmique avec l’agglo rythmique, qui consiste à poser des parpaings en rythmique, qui consiste à poser des parpaings en cadence.cadence.
Avez-vous déjà ouvert un livre de recettes de cuisine ? Avez-vous déjà ouvert un livre de recettes de cuisine ? Avez vous déjà déchiffré un mode d’emploi traduit Avez vous déjà déchiffré un mode d’emploi traduit directement du coréen pour faire fonctionner un directement du coréen pour faire fonctionner un magnétoscope ou un répondeur téléphonique réticent ? magnétoscope ou un répondeur téléphonique réticent ? Si oui, sans le savoir, vous avez déjà exécuté des Si oui, sans le savoir, vous avez déjà exécuté des algorithmes.algorithmes.
Qu’est-ce qu’un algorithme ?Qu’est-ce qu’un algorithme ?Un algorithme est une suite logique Un algorithme est une suite logique d’instructions permettant de résoudre un d’instructions permettant de résoudre un problème (ou de répondre à un besoin).problème (ou de répondre à un besoin).
Qu’est ce que veut dire « écrire un algorithme »Qu’est ce que veut dire « écrire un algorithme »- - Analyser et comprendre le problèmeAnalyser et comprendre le problème : étude des : étude des données fournies et des résultats attendus.données fournies et des résultats attendus.- - Résoudre le problèmeRésoudre le problème : : C’est trouver les structures de données adaptées C’est trouver les structures de données adaptées ainsi que l’enchaînement des actions à réaliser ainsi que l’enchaînement des actions à réaliser pour passer des données aux résultats.pour passer des données aux résultats.
Comment exécuter un algorithme sur un Comment exécuter un algorithme sur un ordinateur ?ordinateur ?Il faut traduire cet algorithme à l’aide d’un Il faut traduire cet algorithme à l’aide d’un langage de programmation connu par langage de programmation connu par l’ordinateur.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 Règles à respecter pour l'écriture d'un algorithmed'un algorithme
Il est défini Il est défini sans ambiguïté.sans ambiguïté. Il se termine après un Il se termine après un nombre fini nombre fini
d'opérations.d'opérations. Il manipule des Il manipule des objetsobjets définis de définis de
manière très précise.manière très précise.
Règles de mise en forme d’un Règles de mise en forme d’un
algorithmealgorithme Nom de l’algorithmeNom de l’algorithme
DébutDébut (* commentaires *)(* commentaires *)
Instruction 1Instruction 1 (* commentaires *)(* commentaires *) Instruction 2Instruction 2
FinFin
Les objets utilisés dans un Les objets utilisés dans un algorithmealgorithme
Les différents objetsLes différents objets Les variablesLes variables
Une variable est un objet contenant une valeur appelée à Une variable est un objet contenant une valeur appelée à être modifiée au cours de l'algorithme.être modifiée au cours de l'algorithme.
Les constantesLes constantesUne constante est un objet dont la valeur ne change pas au Une constante est un objet dont la valeur ne change pas au cours de l'algorithme.cours de l'algorithme.
Définition des objetsDéfinition des objetsUn objet est définis par :Un objet est définis par :
• Un identificateur Un identificateur : suite quelconque de : suite quelconque de caractères.caractères.
• Un type Un type :: Booléen, numérique (entier ou réel), Booléen, numérique (entier ou réel), caractère ou chaîne de caractères, tableau...caractère ou chaîne de caractères, tableau...
• Une valeur Une valeur : c'est le contenu de l'objet.: c'est le contenu de l'objet.
Règles de mise en forme d’un Règles de mise en forme d’un
algorithmealgorithme Nom de l’algorithmeNom de l’algorithmeDéclaration des variables et constantesDéclaration des variables et constantes
DébutDébut (* commentaires *)(* commentaires *)
Instructions 1Instructions 1Instructions 2Instructions 2
FinFin
Exemple :Exemple :
Écrire un algorithme qui :Écrire un algorithme qui : Demandera à l’utilisateur son Demandera à l’utilisateur son
nom et le nombre de pains qu’il nom et le nombre de pains qu’il désire acheter ;désire acheter ;
Calculera le montant à payer ;Calculera le montant à payer ; Et affichera le résultat.Et affichera le résultat.
• ExempleExemple
AlgorithmeAlgorithme Prix_du_painPrix_du_painVariablesVariables
Nom Nom : Chaîne de caractères (* nom de la personne *): Chaîne de caractères (* nom de la personne *)Nombre Nombre : Entier (* nombre de pains demandés *): Entier (* nombre de pains demandés *)MontantMontant : Réel: Réel (* montant à payer *)(* montant à payer *)
ConstantesConstantesPrix = 1,20 (* prix d’un pain *)Prix = 1,20 (* prix d’un pain *)
DébutDébut
(* commentaires *)(* commentaires *) Instruction1Instruction1 Instruction2Instruction2
FinFin
Instructions élémentairesInstructions élémentaires
Affectation : Affectation : L'opération consiste à affecter une L'opération consiste à affecter une
valeur à une variable. valeur à une variable. Elle est représentée par une flèche Elle est représentée par une flèche
orientée à gaucheorientée à gauche Exemple :Exemple :
NOMBRE NOMBRE 15 15SOMME SOMME 0 0NOMBRE2 NOMBRE2 NOMBRE3 + NOMBRE4 NOMBRE3 + NOMBRE4COMPTEUR COMPTEUR COMPTEUR + 1 COMPTEUR + 1SOMME SOMME SOMME + NOMBRE SOMME + NOMBRE
Instruction d'entréeInstruction d'entréeUne instruction d'entrée permet de Une instruction d'entrée permet de récupérer une valeur sur un récupérer une valeur sur un périphérique d'entrée (valeur saisie au périphérique d'entrée (valeur saisie au clavier par exemple).clavier par exemple).
NotationNotation ::SaisirSaisir nom variable nom variable
Exemple précédent :Exemple précédent : SaisirSaisir Nom Nom
SaisirSaisir Nombre Nombre
Instruction de sortieInstruction de sortie
Permet d'afficher à l'écran du "texte", le Permet d'afficher à l'écran du "texte", le contenu d'un objet (variable ou constante) contenu d'un objet (variable ou constante) voir le résultat d'une expression.voir le résultat d'une expression.
Notation :Notation :AfficherAfficher nom variable ou nom variable ou AfficherAfficher « « texte »texte »
Exemple :Exemple :AfficherAfficher « Le montant à payer est : » ; « Le montant à payer est : » ; MontantMontant
Expressions Expressions Des opérations sur les objets : variables, constantes ou Des opérations sur les objets : variables, constantes ou
encore littéraux (valeurs numériques ou encore littéraux (valeurs numériques ou alphanumériques ; peuvent être réalisées à l'aide alphanumériques ; peuvent être réalisées à l'aide d'opérateurs arithmétiques ou logiques pour former d'opérateurs arithmétiques ou logiques pour former des expressions.des expressions.Les principaux opérateurs arithmétiques (à partir des Les principaux opérateurs arithmétiques (à partir des variables déclarées ci-dessus)variables déclarées ci-dessus)
OpérationsOpérations OpérateursOpérateurs ExempleExemple
AdditionAddition ++ Prix + NombrePrix + Nombre
SoustractioSoustractionn
-- Montant - RemiseMontant - Remise
MultiplicatMultiplicationion
** HorsTaxe * 1,206HorsTaxe * 1,206
DivisionDivision // Montant / NombreMontant / Nombre
PuissancePuissance ^̂ Montant ^ 2Montant ^ 2
Exemple :Exemple :Algorithme Algorithme PPrix_du_painrix_du_painVariablesVariables
Nom Nom : Chaîne de caractères (* nom de la personne *): Chaîne de caractères (* nom de la personne *)Nombre Nombre : Entier (* nombre de pains demandés *): Entier (* nombre de pains demandés *)MontantMontant : Réel: Réel (* montant à payer *)(* montant à payer *)
ConstantesConstantesPrix = 1,20 (* prix d’un pain *)Prix = 1,20 (* prix d’un pain *)
DébutDébut Afficher « Quel est votre nom ? »Afficher « Quel est votre nom ? » Saisir NomSaisir Nom Afficher « Combien de pain désirez-vous ? »Afficher « Combien de pain désirez-vous ? » Saisir NombreSaisir Nombre Montant Montant Prix * Nombre Prix * Nombre Afficher « Le montant à payer est de » ; Montant ; Afficher « Le montant à payer est de » ; Montant ;
« euros. »« euros. »FinFin
Que se passe-t-il sur l’écran de Que se passe-t-il sur l’écran de l’ordinateur à l’exécution de l’ordinateur à l’exécution de
l’algorithme ?l’algorithme ?Valeur saisie
par l’utilisateur Quel est votre nom ?
Arthur
Combien de pain désirez-vous ?
5
Le montant à payer est de 6 euros.
Que se passe-t-il « dans Que se passe-t-il « dans l’ordinateur » à l’exécution de l’ordinateur » à l’exécution de
l’algorithme ?l’algorithme ?
Monta
nt
6
Nom
Arthur
Nombr
e
5
Prix
1,2
MontantMontant
5 * 1,20 = 65 * 1,20 = 6
Les structures alternatives Les structures alternatives et conditionnelles et conditionnelles
La structure alternativeLa structure alternative
SISI condition vérifiéecondition vérifiée
AlorsAlors action1action1
SinonSinon action2action2FIN SIFIN SI
suite algorithmesuite algorithme
Condition
vérifiée
Oui
Non
Action 2 Action 1
Les opérateurs logiquesLes opérateurs logiques
ComparaisonComparaison OpérateursOpérateurs
== Égal àÉgal à
<< Inférieur àInférieur à
>> Supérieur àSupérieur à
<=<= Inférieur ou égal àInférieur ou égal à
>=>= Supérieur ou égal àSupérieur ou égal à
<><> Différent deDifférent de
ETET Et (l’un et l’autre)Et (l’un et l’autre)
OUOU Ou (l’un ou l’autre)Ou (l’un ou l’autre)
NONNON Non Non
Exemple :Exemple : Une centrale de cuisson (Exemple : La mie Une centrale de cuisson (Exemple : La mie
Câline) commande des baguettes surgelées à Câline) commande des baguettes surgelées à un fabricant. Celui-ci accorde des remises en un fabricant. Celui-ci accorde des remises en fonction du chiffre d’affaires réalisé. Le taux de fonction du chiffre d’affaires réalisé. Le taux de remise est de 5 % pour un CA de moins de 1000 remise est de 5 % pour un CA de moins de 1000 euros et de 10 % au-delà de 1000 euros de CA.euros et de 10 % au-delà de 1000 euros de CA.
Écrire un algorithme qui :Écrire un algorithme qui : Demandera à l’utilisateur sa raison sociale et le Demandera à l’utilisateur sa raison sociale et le
nombre de baguettes qu’il désire commander ;nombre de baguettes qu’il désire commander ; Calculera le chiffre d’affaires réalisé ;Calculera le chiffre d’affaires réalisé ; Calculera le montant de la remise ;Calculera le montant de la remise ; Et affichera les résultats.Et affichera les résultats.
Algorithme Algorithme prix_du_pain prix_du_painVariablesVariables Raison Raison : Chaîne de caractères : Chaîne de caractères (* raison (* raison sociale de l’ent. *)sociale de l’ent. *) NombreNombre : Entier: Entier (*nombre de baguettes (*nombre de baguettes commandées *)commandées *) CA CA : Réel: Réel (* chiffre d’affaires réalisé (* chiffre d’affaires réalisé *)*)
RemiseRemise : Réel: Réel (* montant de la remise *)(* montant de la remise *)Montant Montant : Réel: Réel (* montant à payer *)(* montant à payer *)
ConstantesConstantesPrix = 0,5Prix = 0,5 (* prix de la baguette *)(* prix de la baguette *)
DébutDébut(* saisie des informations concernant la commande *)(* saisie des informations concernant la commande *)Afficher « Quelle est la raison sociale de l’entreprise ? »Afficher « Quelle est la raison sociale de l’entreprise ? »Saisir RaisonSaisir RaisonAfficher « Combien de baguettes désirez vous commander ? »Afficher « Combien de baguettes désirez vous commander ? »Saisir NombreSaisir Nombre(* calcul du chiffre d’affaires et de la remise accordée *)(* calcul du chiffre d’affaires et de la remise accordée *)CA CA Prix * Nombre Prix * NombreSiSi CA < 1000 CA < 1000
Alors Alors Remise Remise CA * 0,05 CA * 0,05 Sinon Sinon Remise Remise CA * 0,1 CA * 0,1
Fin siFin si(* calcul du montant à payer et affichage du résultat *)(* calcul du montant à payer et affichage du résultat *)Montant Montant CA – Remise CA – RemiseAfficher « Le montant à payer est de »,Montant, « euros. »Afficher « Le montant à payer est de »,Montant, « euros. »
Fin Fin
Que se passe-t-il sur l’écran de Que se passe-t-il sur l’écran de l’ordinateur à l’exécution de l’ordinateur à l’exécution de
l’algorithme ?l’algorithme ?Quel est la raison sociale de l’entreprise ?
La Mie Câline
Combien de baguettes désirez-vous commander ?
2500
Le montant à payer est de 1125 euros.
Valeur saisiepar l’utilisateur
Que se passe-t-il « dans Que se passe-t-il « dans l’ordinateur » à l’exécution de l’ordinateur » à l’exécution de
l’algorithme ?l’algorithme ?
Remis
e
125
Monta
nt
1125
CA
1250
Raiso
n
La Mie
Câline
Nombr
e
2500
Prix
0.5
CA CA CA > 1000 ?CA > 1000 ? Remise Remise MontantMontant
2500 x 0,5 = 2500 x 0,5 = 12501250
VraiVrai 1250 x 0,1 = 1250 x 0,1 = 125125
1250 – 125 = 1250 – 125 = 11251125
Les structures alternatives, Les structures alternatives, conditionnelles, de choixconditionnelles, de choix
La structure conditionnelleLa structure conditionnelle
SISI condition vérifiéecondition vérifiée
AlorsAlors actionaction
FIN SIFIN SI
suite algorithmesuite algorithme
Condition
vérifiée
Oui
Non Action 1
Exemple :Exemple : Une centrale de cuisson (Exemple : La mie Une centrale de cuisson (Exemple : La mie
Câline) commande des baguettes surgelées à Câline) commande des baguettes surgelées à un fabricant. Celui-ci accorde des remises en un fabricant. Celui-ci accorde des remises en fonction du chiffre d’affaires réalisé. Le taux de fonction du chiffre d’affaires réalisé. Le taux de remise est de 10 % remise est de 10 % uniquementuniquement au-delà de 1000 au-delà de 1000 euros de CA.euros de CA.
Écrire un algorithme qui :Écrire un algorithme qui : Demandera à l’utilisateur sa raison sociale et le Demandera à l’utilisateur sa raison sociale et le
nombre de baguettes qu’il désire commander ;nombre de baguettes qu’il désire commander ; Calculera le chiffre d’affaires réalisé ;Calculera le chiffre d’affaires réalisé ; Calculera le montant de la remise ;Calculera le montant de la remise ; Et affichera les résultats.Et affichera les résultats.
Algorithme Algorithme prix_du_pain prix_du_painVariablesVariables Raison Raison : Chaîne de caractères : Chaîne de caractères (* raison (* raison sociale de l’ent. *)sociale de l’ent. *) NombreNombre : Entier: Entier (*nombre de baguettes (*nombre de baguettes commandées *)commandées *) CA CA : Réel: Réel (* chiffre d’affaires réalisé (* chiffre d’affaires réalisé *)*)
RemiseRemise : Réel: Réel (* montant de la remise *)(* montant de la remise *)Montant Montant : Réel: Réel (* montant à payer *)(* montant à payer *)
ConstantesConstantesPrix = 0,5Prix = 0,5 (* prix de la baguette *)(* prix de la baguette *)
DébutDébut(* saisie des informations concernant la commande *)(* saisie des informations concernant la commande *)Afficher « Quelle est la raison sociale de l’entreprise ? »Afficher « Quelle est la raison sociale de l’entreprise ? »Saisir RaisonSaisir RaisonAfficher « Combien de baguettes désirez vous commander ? »Afficher « Combien de baguettes désirez vous commander ? »Saisir NombreSaisir Nombre(* calcul du chiffre d’affaires et de la remise accordée *)(* calcul du chiffre d’affaires et de la remise accordée *)CA CA Prix * Nombre Prix * NombreRemise Remise 0 (* initialisation de la remise à zéro *) 0 (* initialisation de la remise à zéro *)SiSi CA > 1000 CA > 1000
Alors Alors Remise Remise CA * 0,1 CA * 0,1Fin siFin si(* calcul du montant à payer et affichage du résultat *)(* calcul du montant à payer et affichage du résultat *)Montant Montant CA – Remise CA – RemiseAfficher « Le montant à payer est de »,Montant, « euros. »Afficher « Le montant à payer est de »,Montant, « euros. »
Fin Fin
Que se passe-t-il sur l’écran de Que se passe-t-il sur l’écran de l’ordinateur à l’exécution de l’ordinateur à l’exécution de
l’algorithme ?l’algorithme ?Quel est la raison sociale de l’entreprise ?
La Mie Câline
Combien de baguettes désirez-vous commander ?
1500
Le montant à payer est de 750 euros.
Valeur saisiepar l’utilisateur
Que se passe-t-il « dans Que se passe-t-il « dans l’ordinateur » à l’exécution de l’ordinateur » à l’exécution de
l’algorithme ?l’algorithme ?
Remis
e
0
Monta
nt
750
CA
750
CA CA CA > 1000 ?CA > 1000 ? Remise Remise MontantMontant
1500 x 0,5 = 1500 x 0,5 = 750750
FauxFaux 00 750 – 0 = 750 – 0 = 750750
Raiso
n
La Mie
Câline
Nombr
e
1500
Prix
0.5
Remis
e
0
Exemple :Exemple : Une centrale de cuisson (Exemple : La mie Une centrale de cuisson (Exemple : La mie
Câline) commande des baguettes surgelées à un Câline) commande des baguettes surgelées à un fabricant. Celui-ci accorde des remises en fabricant. Celui-ci accorde des remises en fonction du chiffre d’affaires réalisé. Le taux de fonction du chiffre d’affaires réalisé. Le taux de remise est de 5 % au-delà de 1000 euros de CA, 7 remise est de 5 % au-delà de 1000 euros de CA, 7 % au-delà de 2000 € et de 10 % au-delà de 3000 % au-delà de 2000 € et de 10 % au-delà de 3000 €.€.
Écrire un algorithme qui :Écrire un algorithme qui : Demandera à l’utilisateur sa raison sociale et le Demandera à l’utilisateur sa raison sociale et le
nombre de baguettes qu’il désire commander ;nombre de baguettes qu’il désire commander ; Calculera le chiffre d’affaires réalisé ;Calculera le chiffre d’affaires réalisé ; Calculera le montant de la remise ;Calculera le montant de la remise ; Et affichera les résultats.Et affichera les résultats.
Algorithme Algorithme prix_du_pain prix_du_painVariablesVariables ……ConstantesConstantes
……DébutDébut
(* saisie des informations concernant la commande *)(* saisie des informations concernant la commande *)……(* calcul du chiffre d’affaires et de la remise accordée *)(* calcul du chiffre d’affaires et de la remise accordée *)CA CA Prix * Nombre Prix * NombreRemise Remise 0 (* initialisation de la remise à zéro *) 0 (* initialisation de la remise à zéro *)Si CA < 1000Si CA < 1000
Alors Alors Remise Remise 0 0Sinon Si CA < 2000Sinon Si CA < 2000
Alors Remise Alors Remise CA * 0,05 CA * 0,05Sinon Si CA < 3000Sinon Si CA < 3000
Alors Remise Alors Remise CA * 0,07 CA * 0,07Sinon Remise Sinon Remise CA * 0,1 CA * 0,1
FinsiFinsiFinsiFinsi
Fin siFin si(* calcul du montant à payer et affichage du résultat *)(* calcul du montant à payer et affichage du résultat *)……
Fin Fin
Que se passe-t-il sur l’écran de Que se passe-t-il sur l’écran de l’ordinateur à l’exécution de l’ordinateur à l’exécution de
l’algorithme ?l’algorithme ?Quel est la raison sociale de l’entreprise ?
La Mie Câline
Combien de baguettes désirez-vous commander ?
2500
Le montant à payer est de 1188 euros.
Valeur saisiepar l’utilisateur
Que se passe-t-il « dans Que se passe-t-il « dans l’ordinateur » à l’exécution de l’ordinateur » à l’exécution de
l’algorithme ?l’algorithme ?
Remis
e
62
Monta
nt
1188
CA
1250
CA CA CA < 1000 CA < 1000 ??
CA < 2000 CA < 2000 ??
Remise Remise MontantMontant
2500 x 0,5 2500 x 0,5 = 1250= 1250
FauxFaux vraivrai 1250 x 5 1250 x 5 % = 62% = 62
1250 – 1250 – 62 = 62 = 11881188
Raiso
n
La Mie
Câline
Nombr
e
2500
Prix
0.5
Remis
e
0
La structure de choixLa structure de choix
SelonSelon Variable Variable FaireFaire
Valeur 1Valeur 1 : action1 : action1
Valeur 2Valeur 2 : action2 : action2
……
Valeur n : action nValeur n : action n
SinonSinon : action par défaut : action par défaut Fin selonFin selon
La variable doit être de type caractère ou
entier
Exemple :Exemple :Un distributeur automatique distribue des confiseries. Un distributeur automatique distribue des confiseries. L’utilisateur tape le code de la confiserie désirée, en L’utilisateur tape le code de la confiserie désirée, en fonction de ce code le distributeur affiche le prix du produit fonction de ce code le distributeur affiche le prix du produit et le délivre.et le délivre.
•Les produits A, B et C coûtent Les produits A, B et C coûtent 1 €,1 €,•Le produit D coûte 1,20 €,Le produit D coûte 1,20 €,•Le produit E, F coûte 1,50 €,Le produit E, F coûte 1,50 €,•Les produits G,H, I coûtent 2 €,Les produits G,H, I coûtent 2 €,•Si un autre code est saisi, le Si un autre code est saisi, le prix sera de 0 et un message prix sera de 0 et un message d’erreur sera affiché.d’erreur sera affiché.
Écrire un algorithme qui :Écrire un algorithme qui :• Demandera à l’utilisateur le Demandera à l’utilisateur le
code de la confiserie code de la confiserie désirée ;désirée ;
• Déterminera le prix de celle-Déterminera le prix de celle-ci en fonction du code saisi ;ci en fonction du code saisi ;
• Et affichera le prix de la Et affichera le prix de la confiserie.confiserie.
Algorithme Algorithme distributeur distributeurVariablesVariables
CodeCode : Caractère: Caractère (* code du produit désiré *)(* code du produit désiré *) Prix Prix : Réel: Réel (* prix du produit désiré *)(* prix du produit désiré *)DébutDébut
(* saisie du code du produit désiré *)(* saisie du code du produit désiré *)Afficher « Saisir votre code : »Afficher « Saisir votre code : »Saisir CodeSaisir Code(* détermination du prix en fonction du code *)(* détermination du prix en fonction du code *)SELON Code FAIRESELON Code FAIRE
A, B : Prix A, B : Prix 1 1 D : Prix D : Prix 1,2 1,2E, F : Prix E, F : Prix 1,5 1,5G, H, I : Prix G, H, I : Prix 2 2Sinon : Prix Sinon : Prix 0 0
FINSELONFINSELON(* Affichage du prix si aucune erreur de saisie n’a été commise (* Affichage du prix si aucune erreur de saisie n’a été commise
*)*)SI prix = 0 SI prix = 0
ALORS Afficher « Le code n’existe pas. »ALORS Afficher « Le code n’existe pas. »SINON Afficher « Le prix du produit désiré est de », Prix, SINON Afficher « Le prix du produit désiré est de », Prix, « euros. »« euros. »
FINSIFINSIFin Fin
Que se passe-t-il sur l’écran de Que se passe-t-il sur l’écran de l’ordinateur à l’exécution de l’ordinateur à l’exécution de
l’algorithme ?l’algorithme ?Saisir votre code :
F
Le prix du produit désiré est de 1,5 euros.
Valeur saisiepar l’utilisateur
Que se passe-t-il « dans Que se passe-t-il « dans l’ordinateur » à l’exécution de l’ordinateur » à l’exécution de
l’algorithme ?l’algorithme ?
Code
F
Prix
1,5
Code = « F » doncCode = « F » donc
Prix Prix 1,5 1,5
La structure Pour … Fin Pour
Permet de répéter un nombre déterminé de fois une (ou plusieurs) action(s).
Pour compteur allant de 1 à n Faire action 1
action 2…action n
Finpour
La structure répétitive
Permet de compter le nombre de répétition de l’action. La variable compteur sera de type entier ou caractère.Lorsque le nombre voulu de répétition est atteint, l'algorithme se poursuit après la boucle (structure).
Exemple :Exemple :
Un boulanger désire préparer son tarif Un boulanger désire préparer son tarif pour la vente de ses croissants. Sur pour la vente de ses croissants. Sur l’ordinateur il désire automatiser le l’ordinateur il désire automatiser le calcul du prix de ses croissants. Il calcul du prix de ses croissants. Il suppose que ses clients achèteront entre suppose que ses clients achèteront entre 1 et 10 croissants.1 et 10 croissants.
Écrire un algorithme Écrire un algorithme qui :qui :Automatisera le calcul Automatisera le calcul du prix de 1, puis 2, du prix de 1, puis 2, puis 3, … puis 10 puis 3, … puis 10 croissants sachant que croissants sachant que le prix unitaire est de le prix unitaire est de 0,80 euros.0,80 euros.
AlgorithmeAlgorithme Prix_des_croissants Prix_des_croissantsVariablesVariables
Compteur Compteur : entier : entier (* permet de compter de 1 à (* permet de compter de 1 à 10 *)10 *)Montant Montant : réel: réel (* montant à payer lors de (* montant à payer lors de l’achat de l’achat de croissants *)croissants *)
DébutDébutAfficher « Tarif des croissants : »Afficher « Tarif des croissants : »POUR Compteur allant de 1 à 10 fairePOUR Compteur allant de 1 à 10 faire
Montant Montant Compteur * 0,80 Compteur * 0,80SI Compteur = 1SI Compteur = 1
ALORS Afficher Compteur , « croissant ALORS Afficher Compteur , « croissant coûte », coûte », Montant, « € »Montant, « € »
SINON Afficher Compteur, « croissants SINON Afficher Compteur, « croissants
coûtent »,Montant, « € »coûtent »,Montant, « € »FINSIFINSI
FINPOURFINPOURFinFin
Que se passe-t-il sur l’écran de Que se passe-t-il sur l’écran de l’ordinateur à l’exécution de l’ordinateur à l’exécution de
l’algorithme ?l’algorithme ?Tarif des croissants :
1 croissant coûte 0,80 €
2 croissants coûtent 1,60 €
3 croissants coûtent 2,40 €
4 croissants coûtent 3,20 €
5 croissants coûtent 4,00 €
6 croissants coûtent 4,80 €
7 croissants coûtent 5,60 €
8 croissants coûtent 6,40 €
9 croissants coûtent 7,20 €
10 croissants coûtent 8,00 €
Que se passe-t-il « dans Que se passe-t-il « dans l’ordinateur » à l’exécution de l’ordinateur » à l’exécution de
l’algorithme ?l’algorithme ?
Compteu
r Monta
nt
Compteur Compteur 1 A 20 1 A 20
Prix Prix Compteur * Compteur * 0,800,80
109
87
65
43
21 0,8
0
1,60
2,40
3,20
4,00
4,80
5,60
6,40
7,20
8,00
La structure La structure Tant que… Fin Tant queTant que… Fin Tant que
Permet la répétition d'une (ou plusieurs) action(s) Permet la répétition d'une (ou plusieurs) action(s) tant qu'une condition est satisfaite.tant qu'une condition est satisfaite.
Notation :Notation :
Tant que condition FaireTant que condition Faire
action 1 action 1
action 2 action 2
……
action naction n Fin Tant QueFin Tant Que
Les structures itérativesLes 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 :Exemple :
Un boulanger (vendant exclusivement des baguettes) Un boulanger (vendant exclusivement des baguettes) désire gérer toutes ses ventes sur ordinateur. Chacun désire gérer toutes ses ventes sur ordinateur. Chacun de ses clients achète 1 ou plusieurs baguettes. de ses clients achète 1 ou plusieurs baguettes. Le boulanger peut ne pas avoir de clients dans la Le boulanger peut ne pas avoir de clients dans la journée…journée…L’ordinateur calcule pour chaque client le montant à L’ordinateur calcule pour chaque client le montant à payer.payer.
Écrire un algorithme Écrire un algorithme qui :qui :• demandera si un demandera si un nouveau client est nouveau client est présent,présent,• puis, automatisera le puis, automatisera le calcul du montant à calcul du montant à payer par client.payer par client.
Algorithme gestion_boulangerieAlgorithme gestion_boulangerieVariablesVariables
Rep Rep : Caractère (* réponse à la question : Caractère (* réponse à la question présence d’un client *)présence d’un client *)
BagBag : Entier: Entier (* nombre de baguettes achetées (* nombre de baguettes achetées par le client *)par le client *)
Montant : RéelMontant : Réel (* montant à payer par un client *) (* montant à payer par un client *)ConstantesConstantes
Prix = 0,60Prix = 0,60DébutDébut
(* traitement des clients *)(* traitement des clients *) Afficher « Y a-t-il un client ? (O/N) »Afficher « Y a-t-il un client ? (O/N) » Saisir RepSaisir Rep Tant que Rep = « O » FaireTant que Rep = « O » Faire Afficher « Combien de baguettes désirez-vous ? »Afficher « Combien de baguettes désirez-vous ? » Saisir BagSaisir Bag Montant Montant Bag * Prix Bag * Prix Afficher « Cela vous fera », Montant, « euros »Afficher « Cela vous fera », Montant, « euros »
Afficher « Y a-t-il un autre client ? (O/N) »Afficher « Y a-t-il un autre client ? (O/N) » Saisir RepSaisir Rep Fin Tant queFin Tant que
Afficher « Fin du programme. »Afficher « Fin du programme. »FinFin
Que se passe-t-il sur l’écran de Que se passe-t-il sur l’écran de l’ordinateur à l’exécution de l’ordinateur à l’exécution de
l’algorithme ?l’algorithme ?Y a-t-il un client (O/N) ?
O
Combien de baguettes désirez vous ?
3
Cela vous fera 1,80 euros.
Y a-t-il un autre client (O/N) ?
N
Fin du programme.
Valeur saisiepar l’utilisateur
Que se passe-t-il « dans Que se passe-t-il « dans l’ordinateur » à l’exécution de l’ordinateur » à l’exécution de
l’algorithme ?l’algorithme ?Saisir Rep
Rep = “O”
VRAI
FAUX
Sortie de la boucle
Traitement
Saisir Rep
La structure La structure Répéter Jusqu’àRépéter Jusqu’à
Permet la répétition d'une (ou plusieurs) Permet la répétition d'une (ou plusieurs) action(s) jusqu’à la satisfaction d’une condition.action(s) jusqu’à la satisfaction d’une condition.
Notation :Notation :
RépéterRépéter
action 1 action 1
action 2 action 2
……
action naction n
Jusqu’à ConditionJusqu’à Condition Suite du traitementSuite du traitement
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 :Exemple :
Un boulanger (vendant exclusivement des baguettes) Un boulanger (vendant exclusivement des baguettes) désire gérer toutes ses ventes sur ordinateur. Chacun désire gérer toutes ses ventes sur ordinateur. Chacun de ses clients achète 1 ou plusieurs baguettes. de ses clients achète 1 ou plusieurs baguettes. Le boulanger aura obligatoirement un client dans la Le boulanger aura obligatoirement un client dans la journée.journée.L’ordinateur calcule pour chaque client le montant à L’ordinateur calcule pour chaque client le montant à payer.payer.
Écrire un algorithme Écrire un algorithme qui :qui :• demandera si un demandera si un nouveau client est nouveau client est présent,présent,• puis, automatisera le puis, automatisera le calcul du montant à calcul du montant à payer par client.payer par client.
Algorithme gestion_boulangerieAlgorithme gestion_boulangerieVariablesVariables
Rep Rep : Caractère (* réponse à la question : Caractère (* réponse à la question présence d’un client *)présence d’un client *)
BagBag : Entier: Entier (* nombre de baguettes achetées (* nombre de baguettes achetées par le client *)par le client *)
Montant : RéelMontant : Réel (* montant à payer par un client (* montant à payer par un client *)*)ConstantesConstantes
Prix = 0,60Prix = 0,60DébutDébut
(* traitement des clients *)(* traitement des clients *) RépéterRépéter Afficher « Combien de baguettes désirez-Afficher « Combien de baguettes désirez-vous ? »vous ? » Saisir BagSaisir Bag Montant Montant Bag * Prix Bag * Prix Afficher « Cela vous fera », Montant, « euros »Afficher « Cela vous fera », Montant, « euros »
Afficher « Y a-t-il un autre client ? (O/N) »Afficher « Y a-t-il un autre client ? (O/N) » Saisir RepSaisir Rep Jusqu’à Rep = « N »Jusqu’à Rep = « N »
Afficher « Fin du programme. »Afficher « Fin du programme. »FinFin
Que se passe-t-il sur l’écran de Que se passe-t-il sur l’écran de l’ordinateur à l’exécution de l’ordinateur à l’exécution de
l’algorithme ?l’algorithme ?Combien de baguettes désirez vous ?
3
Cela vous fera 1,80 euros.
Y a-t-il un autre client (O/N) ?
N
Fin du programme.
Valeur saisiepar l’utilisateur
Que se passe-t-il « dans Que se passe-t-il « dans l’ordinateur » à l’exécution de l’ordinateur » à l’exécution de
l’algorithme ?l’algorithme ?
Rep = “N”
VRAI
FAUX
Sortie de la boucle
Traitement
Saisir Rep
Rep = “O”
FAUX
VRAI
Sortie de la boucle
Traitement
Saisir Rep
Saisir Rep
Rep = “O”
VRAI
FAUX
Sortie de la boucle
Traitement
Saisir Rep
Conseil pour réussir un Conseil pour réussir un algorithme…algorithme…
Il faut être méthodique et rigoureux. Il faut être méthodique et rigoureux.
En effet, chaque fois qu’on écrit une En effet, chaque fois qu’on écrit une série d’instructions qu’on croit justes, série d’instructions qu’on croit justes, il faut systématiquement se mettre il faut systématiquement se mettre mentalement à la place de la machine mentalement à la place de la machine qui va les exécuter, armé d'un papier qui va les exécuter, armé d'un papier et d'un crayon, afin de vérifier si le et d'un crayon, afin de vérifier si le résultat obtenu est bien celui que l’on résultat obtenu est bien celui que l’on voulait. voulait.
Cette opération est indispensable, si Cette opération est indispensable, si l’on ne veut pas écrire à l’aveuglette.l’on ne veut pas écrire à l’aveuglette.
Évitez Évitez d’emplod’employer la yer la
méthodméthode e
ShadokShadok
À À vous vous dede
jouer jouer !!
top related