SlideShare une entreprise Scribd logo
1  sur  26
1
Algorithmique
Département de Mathématiques et
d’Informatique
Presented by: Mehdi Abid
Le terme algorithme vient du nom du mathématicien arabe
Al-Khawarizmi (820 après J.C.)
Un algorithme est une description complète et détaillée des actions à
effectuer et de leur séquencement pour arriver à un résultat donné.
Algorithme = suite d’actions que devra effectuer un automate pour arriver à partir
d’un état initial, en un temps fini, à un résultat.
2
Définition
1) Apprendre les concepts de base de
l'algorithmique et de la programmation
2) Etre capable de mettre en œuvre ces concepts
pour analyser des problèmes simples et écrire
les programmes correspondants
Ce que vous devez savoir sur l'algorithmique
Enoncé du problème
Cahier des charges
Algorithme
Programme source
Programme exécutable
Version finale et résultats 3
Spécification
Analyse
Traduction en langage
Compilation
Tests et modifications
4
Notion de variable
3+4=
3+4 = 7
Problème : Effectuer le calcule de 3+4
Chez un humain Chez une Machine
(Téléphone – Ordinateur – calculatrice…)
A ← 3
B ← 4
C ← A+B
on stocke la valeur 3 dans une variable A
Et 4 dans une variable B
On affiche la valeur de la variable C
???7
5
Notion de variable
Dans les langages de programmation une variable sert à stocker la valeur d’une donnée
Une variable désigne en fait un emplacement mémoire dont le contenu peut changer au cours d’un
programme (d’où le nom variable)
Règle : Les variables doivent être déclarées avant d’être utilisées, elle doivent être caractérisées par :
• un nom (Identificateur)
• un type (entier, réel, caractère, chaîne de caractères, …)
Identificateur : A,B, Totale ,Prix_TTC, Prix_HT, Test, ch1……..
Type : entier, réel, booléen, chaîne de caractères
Variables A, B, C: Entier
Début
A ← 3
B ← 7
C ← A + B
Fin
Notion de variable
6
L’instruction d’affectation
A ← 3
L’affectation consiste à attribuer une valeur à une variable
(ça consiste en fait à remplir où à modifier le contenu d'une zone mémoire)
En pseudo-code, l'affectation se note avec le signe ←
Var← e: attribue la valeur de e à la variable Var
• e peut être une valeur, une autre variable ou une expression
• Var et e doivent être de même type ou de types compatibles
• l’affectation ne modifie que ce qui est à gauche de la flèche (var)
Ex valides: A ←3 B ←4 C ←A+B
x ←10,5 Test ←FAUX LP ← "ESE"
LF←LP x ←4 x ←C
Question : Quelle est la valeur de x ?
la valeur de LF ?
Affectation
7
Donnez les valeurs des variables A, B et C après exécution des instructions suivantes ?
Variables A, B, C: Entier
Début
A ← 2
B ← 4
A ← B
B ← A+5
C ← A + B
C ← B – A
Fin
Exercice
Instructions A B C
A ← 2
B ← 4
A ← B
B ← A+5
C ← A + B
C ← B – A
2
2
5
44
4 9
94
4 9
4
13
8
Donnez les valeurs des variables A et B après exécution des instructions suivantes ?
Variables A, B : Entier
Début
A ← 1
B ← 2
A ← B
B ← A
Fin
Exercice
Les deux dernières instructions permettent-elles d’échanger les
valeurs de A et B ?
Instructions A B
A ← 1
B ← 2
A ← B
B ← A
1
1 2
2 2
2 2
9
Ecrire un algorithme permettant d’échanger les valeurs de deux
variables A et B
Variables A, B,C : Entier
Début
A ← 1
B ← 2
C ← A
A ← B
B  C
Fin
Exercice
10
Expressions et opérateurs
Les opérateurs dépendent du type de l'opération, ils peuvent être :
des opérateurs arithmétiques: +, -, *, /, % (modulo), ^ (puissance)
des opérateurs logiques: NON, OU, ET
des opérateurs relationnels: ==, , <, >, <=, >=
des opérateurs sur les chaînes: & (concaténation)
Une expression est évaluée de gauche à droite mais en tenant compte de priorités
Priorité des opérateurs
Pour les opérateurs arithmétiques donnés ci-dessus, l'ordre de priorité est le suivant
^ : (puissance)
* , / (multiplication, division)
% (modulo)
+ , - (addition, soustraction) exemple: 2 + 3 * 7 vaut 23
En cas de besoin (ou de doute), on utilise les parenthèses pour indiquer les opérations à effectuer en
priorité exemple: (2 + 3) * 7 vaut 35
11
Les instructions d'entrées-sorties:
lecture et écriture
Les instructions de lecture et d'écriture permettent à la machine de communiquer avec l'utilisateur
L'écriture permet d’écrire dans un fichier ou d'afficher des résultats à l'écran
NB : Avant de lire une variable, il est fortement conseillé d’écrire des messages à
l’écran, afin de prévenir l’utilisateur de ce qu’il doit frapper
écrire (var)
écrire("entrer un nombre ")
écrire("le nombre saisi est ",a)
La lecture permet d'entrer des donnés à partir du clavier
lire (var)
la machine met la valeur entrée au clavier var
dans la zone mémoire nommée var
lire(A)
Les instructions d'entrées-sorties:
lecture et écriture
Exemple : Ecrire un algorithme qui demande un nombre entier à l'utilisateur, puis qui calcule et affiche le double de ce nombre
Algorithme Calcul_double
variables A, B : entier
Début
écrire("entrer le nombre ")
lire(A)
B ← 2*A
écrire("le double de est :", B)
écrire("le double de ", A, "est :", B)
Fin
12
Algorithme AffichageNomComplet
variables Nom, Prenom, Nom_Complet : chaîne de caractères
Début
écrire("entrez votre nom")
lire(Nom)
écrire("entrez votre prénom")
lire(Prenom)
Nom_Complet ← Nom & Prenom
écrire("Votre nom complet est : ", Nom_Complet)
Fin
Ecrire un algorithme qui vous demande de saisir votre nom puis votre prénom et qui affiche ensuite votre nom complet
Exercice
Exercice
13
14
Ecrire un algorithme permettant de saisir un nombre entier au clavier et d’afficher le carré
d'un nombre saisie par un utilisateur
Variables a, Entier
Début
écrire("entrer un nombre ")
lire(a)
b ← a^2 oubien b a*a
écrire("le carée du nombre saisie est :", b) ou bien écrire("le carré de ", a, "est :", b)
Fin
Exercice
15
Instructions conditionnelles
Les instructions conditionnelles servent à n'exécuter une instruction ou une séquence d'instructions que
si une condition est vérifiée
On utilisera la forme suivante
Si (condition) alors
instruction ou suite d'instructions1
Finsi
Sinon
instruction ou suite d'instructions2
La partie Sinon n'est pas obligatoire,
quand elle n'existe pas et que la condition
est fausse, aucun traitement n'est réalisé
16
Instructions conditionnelles
Exemple : Ecrire un algorithme qui demande de saisir un nombre à l'utilisateur, puis qui calcule et affiche le triple de sa valeur si
le nombre est positif, sinon il affichera son double.
Algorithme Calcul
variables A, R : entier
Début
écrire("entrer le nombre ")
lire(A)
Si (A>=0)
R  3*A
sinon
R  2*A
finsi
Si (A>=0)
R  3*A
écrire("le Résultat est :", R)
sinon
R  2*A
écrire("le Résultat est :", R)
finsi
Fin
écrire("le Résultat est :", R)
17
Ecrire un algorithme qui demande un nombre entier à l'utilisateur, puis qui teste et affiche s'il est divisible par 3
Algorithme Divsible_par3
Variable n : entier
Début
Ecrire " Entrez un entier : "
Lire (n)
Si (n%3=0) alors
Ecrire (n," est divisible par 3")
Sinon
Ecrire (n," n'est pas divisible par 3")
Finsi
Fin
Instructions conditionnelles
18
Instructions conditionnellesConditions composées
• Une condition composée est une condition formée de plusieurs conditions
simples reliées par des opérateurs logiques:
ET, OU, OU exclusif (XOR) et NON
• Exemples :
• x compris entre 2 et 6 : (x > 2) ET (x < 6)
• n divisible par 3 ou par 2 : (n%3=0) OU (n%2=0)
• deux valeurs et deux seulement sont identiques parmi a, b et c :
(a=b) XOR (a=c) XOR (b=c)
• L'évaluation d'une condition composée se fait selon des règles présentées
généralement dans ce qu'on appelle tables de vérité
19
Instructions conditionnellesConditions composées
C1 C2 C1 ET C2
VRAI VRAI VRAI
VRAI FAUX FAUX
FAUX VRAI FAUX
FAUX FAUX FAUX
C1 C2 C1 OU C2
VRAI VRAI VRAI
VRAI FAUX VRAI
FAUX VRAI VRAI
FAUX FAUX FAUX
C1 C2 C1 XOR C2
VRAI VRAI FAUX
VRAI FAUX VRAI
FAUX VRAI VRAI
FAUX FAUX FAUX
C1 NON C1
VRAI FAUX
FAUX VRAI
ET OU
XOR
NON
20
Instructions conditionnellesTests imbriqués
Les tests peuvent avoir un degré quelconque d'imbrications
Si (condition1) alors
Sinon
Finsi
Si (condition2) alors
instructionsA
Sinon
instructionsB
Finsi
Si (condition3) alors
instructionsC
Finsi
21
Instructions conditionnellesTests imbriqués
Exemple : savoir si un nombre est nul, négatif ou bien positif
Variable n : entier
Début
Ecrire ("entrez un nombre : ")
Lire (n) Si (n < 0) alors
Ecrire ("Ce nombre est négatif")
Finsi
Si (n = 0) alors
Ecrire ("Ce nombre est nul")
Finsi
Si (n > 0) alors
Ecrire ("Ce nombre est positif")
Finsi
Si (n < 0) alors
Ecrire ("Ce nombre est négatif")
Sinon
Si (n = 0) alors
Ecrire ("Ce nombre est nul")
Sinon
Ecrire ("Ce nombre est positif")
Finsi
Finsi
Fin
22
Instructions conditionnelles
Le prix de photocopies dans un centre de copie varie selon le nombre demandé: 0,5 DH la copie pour un nombre de
copies inférieur à 10, 0,4DH pour un nombre compris entre 10 et 20 et 0,3DH au-delà.
Ecrivez un algorithme qui demande à l’utilisateur le nombre de photocopies effectuées, qui calcule et affiche le prix
à payer
Exercice
23
Instructions conditionnelles
Variables Nb_copies : entier
prix : réel
Début
Ecrire (« Saisir le nombre de photocopies : ")
Lire (Nb_copies)
Si (Nb_opies < 10) Alors
prix ← Nb_opies *0.5
Sinon Si (Nb_opies < 20) Alors
prix ← Nb_opies *0.4
Sinon
prix ← Nb_opies *0.3
Finsi
Finsi
Ecrire (“Le prix à payer est : ”, prix)
Fin
24
Instructions itératives: les boucles
• Les boucles servent à répéter l'exécution d'un groupe d'instructions un certain nombre de fois
• On distingue trois sortes de boucles en langages de programmation :
• Les boucles tant que : on y répète des instructions tant qu'une certaine condition est réalisée
• Les boucles pour ou avec compteur : on y répète des instructions en faisant évoluer un compteur
(variable particulière) entre une valeur initiale et une valeur finale
25
Les boucles Tant que
TantQue (condition)
instructions
FinTantQue
condition instructions
Fausse
Vrai
la condition (dite condition de contrôle de la boucle) est évaluée avant chaque itération
si la condition est vraie, on exécute instructions (corps de la boucle), puis, on retourne tester la
condition. Si elle est encore vraie, on répète l'exécution, …
si la condition est fausse, on sort de la boucle et on exécute l'instruction qui est après FinTantQue
26
Algorithme

Contenu connexe

Tendances

Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrentsmohamed_SAYARI
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdfsalah fenni
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018salah fenni
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesInes Ouaz
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objetsAziz Darouichi
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018salah fenni
 
Formation python
Formation pythonFormation python
Formation pythonj_lipaz
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)salah fenni
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetiquemohamed_SAYARI
 
Chapitre 4 Fonctions et procédures.pdf
Chapitre 4 Fonctions et procédures.pdfChapitre 4 Fonctions et procédures.pdf
Chapitre 4 Fonctions et procédures.pdfC00LiMoUn
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexitéSana Aroussi
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombressalah fenni
 

Tendances (20)

Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrents
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
Ch1-Généralités.pdf
Ch1-Généralités.pdfCh1-Généralités.pdf
Ch1-Généralités.pdf
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de données
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
 
TP C++ : enoncé
TP C++ : enoncéTP C++ : enoncé
TP C++ : enoncé
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
 
Formation python
Formation pythonFormation python
Formation python
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
 
Chapitre 4 Fonctions et procédures.pdf
Chapitre 4 Fonctions et procédures.pdfChapitre 4 Fonctions et procédures.pdf
Chapitre 4 Fonctions et procédures.pdf
 
Recursiviteeeeeeeeee
RecursiviteeeeeeeeeeRecursiviteeeeeeeeee
Recursiviteeeeeeeeee
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
Cours php
Cours phpCours php
Cours php
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombres
 
Exercices algo
Exercices algoExercices algo
Exercices algo
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 

En vedette

I found a_few_pictures_of_you_growing_up
I found a_few_pictures_of_you_growing_upI found a_few_pictures_of_you_growing_up
I found a_few_pictures_of_you_growing_uplyago
 
Grande
GrandeGrande
Grandelyago
 
Burtin force vitesse et kinésithérapie JFK2011
Burtin force vitesse et kinésithérapie JFK2011Burtin force vitesse et kinésithérapie JFK2011
Burtin force vitesse et kinésithérapie JFK2011Pierre Trudelle
 
UCC Labs marque-et-web social v11
UCC Labs marque-et-web social v11UCC Labs marque-et-web social v11
UCC Labs marque-et-web social v11nouvelle MARQUE
 
Conference Marketing En Recession
Conference Marketing En RecessionConference Marketing En Recession
Conference Marketing En RecessionBenoit Grenier
 
34 Robertson La Robotique Pour La RééDucation
34 Robertson La Robotique Pour La RééDucation34 Robertson La Robotique Pour La RééDucation
34 Robertson La Robotique Pour La RééDucationPierre Trudelle
 
El cerebro y su relacion con lo conocido
El cerebro y su relacion con lo conocidoEl cerebro y su relacion con lo conocido
El cerebro y su relacion con lo conocidoEuler
 
Le E-commerce et LabelHabitation en quelques chiffres
Le E-commerce et LabelHabitation en quelques chiffresLe E-commerce et LabelHabitation en quelques chiffres
Le E-commerce et LabelHabitation en quelques chiffresLabelHabitation
 
jean_cedric_callies_rapport_stage_2014
jean_cedric_callies_rapport_stage_2014jean_cedric_callies_rapport_stage_2014
jean_cedric_callies_rapport_stage_2014Jean-Cédric Callies
 
Estrategias de comunicación digital ¿pensadas en el usuario?
Estrategias de comunicación digital ¿pensadas en el usuario?Estrategias de comunicación digital ¿pensadas en el usuario?
Estrategias de comunicación digital ¿pensadas en el usuario?Paulo Saavedra
 
Servicios estudiantiles y de apoyo vitual
Servicios estudiantiles y de apoyo vitualServicios estudiantiles y de apoyo vitual
Servicios estudiantiles y de apoyo vitualCARIBBEAN UNIVERSITY
 
Rédiger pour un blogue institutionnel
Rédiger pour un blogue institutionnelRédiger pour un blogue institutionnel
Rédiger pour un blogue institutionnelleclercconseil
 
Journauxdeclasse.be
Journauxdeclasse.beJournauxdeclasse.be
Journauxdeclasse.beHWolteche
 
EspaceRDV - gérer ses horaires
EspaceRDV - gérer ses horairesEspaceRDV - gérer ses horaires
EspaceRDV - gérer ses horairesJulien Audran
 
Diaporama.m.kessler.fev2010.v.2
Diaporama.m.kessler.fev2010.v.2Diaporama.m.kessler.fev2010.v.2
Diaporama.m.kessler.fev2010.v.2lifeiseasy
 

En vedette (20)

I found a_few_pictures_of_you_growing_up
I found a_few_pictures_of_you_growing_upI found a_few_pictures_of_you_growing_up
I found a_few_pictures_of_you_growing_up
 
Grande
GrandeGrande
Grande
 
Burtin force vitesse et kinésithérapie JFK2011
Burtin force vitesse et kinésithérapie JFK2011Burtin force vitesse et kinésithérapie JFK2011
Burtin force vitesse et kinésithérapie JFK2011
 
UCC Labs marque-et-web social v11
UCC Labs marque-et-web social v11UCC Labs marque-et-web social v11
UCC Labs marque-et-web social v11
 
Conference Marketing En Recession
Conference Marketing En RecessionConference Marketing En Recession
Conference Marketing En Recession
 
34 Robertson La Robotique Pour La RééDucation
34 Robertson La Robotique Pour La RééDucation34 Robertson La Robotique Pour La RééDucation
34 Robertson La Robotique Pour La RééDucation
 
El cerebro y su relacion con lo conocido
El cerebro y su relacion con lo conocidoEl cerebro y su relacion con lo conocido
El cerebro y su relacion con lo conocido
 
Le E-commerce et LabelHabitation en quelques chiffres
Le E-commerce et LabelHabitation en quelques chiffresLe E-commerce et LabelHabitation en quelques chiffres
Le E-commerce et LabelHabitation en quelques chiffres
 
jean_cedric_callies_rapport_stage_2014
jean_cedric_callies_rapport_stage_2014jean_cedric_callies_rapport_stage_2014
jean_cedric_callies_rapport_stage_2014
 
Estrategias de comunicación digital ¿pensadas en el usuario?
Estrategias de comunicación digital ¿pensadas en el usuario?Estrategias de comunicación digital ¿pensadas en el usuario?
Estrategias de comunicación digital ¿pensadas en el usuario?
 
Servicios estudiantiles y de apoyo vitual
Servicios estudiantiles y de apoyo vitualServicios estudiantiles y de apoyo vitual
Servicios estudiantiles y de apoyo vitual
 
Rédiger pour un blogue institutionnel
Rédiger pour un blogue institutionnelRédiger pour un blogue institutionnel
Rédiger pour un blogue institutionnel
 
Journauxdeclasse.be
Journauxdeclasse.beJournauxdeclasse.be
Journauxdeclasse.be
 
11 M: 2004
11 M:  200411 M:  2004
11 M: 2004
 
Tesis is
Tesis isTesis is
Tesis is
 
EspaceRDV - gérer ses horaires
EspaceRDV - gérer ses horairesEspaceRDV - gérer ses horaires
EspaceRDV - gérer ses horaires
 
Diaporama.m.kessler.fev2010.v.2
Diaporama.m.kessler.fev2010.v.2Diaporama.m.kessler.fev2010.v.2
Diaporama.m.kessler.fev2010.v.2
 
Boletin Abril '09
Boletin Abril '09Boletin Abril '09
Boletin Abril '09
 
Post-Test Simple,Rapide et Représentatif
Post-Test Simple,Rapide et ReprésentatifPost-Test Simple,Rapide et Représentatif
Post-Test Simple,Rapide et Représentatif
 
Hyper comm #1
Hyper comm #1Hyper comm #1
Hyper comm #1
 

Similaire à Algorithmique

Chapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdfChapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdfAdjimbawNDIAYE
 
Cours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdfCours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdfadeljaouadi
 
Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)DriNox NordisTe
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiquefast xp
 
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdfChapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdfC00LiMoUn
 
Conception de base_de_l_algorithme
Conception de base_de_l_algorithmeConception de base_de_l_algorithme
Conception de base_de_l_algorithmemustapha4
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptxPROFPROF11
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycéeKayl Mido
 
algorithme chapitre 1 et 2 (1).pptx
algorithme chapitre 1 et 2 (1).pptxalgorithme chapitre 1 et 2 (1).pptx
algorithme chapitre 1 et 2 (1).pptxHathat10
 
Coursalgorithmique
CoursalgorithmiqueCoursalgorithmique
Coursalgorithmiquenicodeff
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfadeljaouadi
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxbetalab
 
PHP : les fondamentaux (1ère partie)
PHP : les fondamentaux (1ère partie)PHP : les fondamentaux (1ère partie)
PHP : les fondamentaux (1ère partie)CodeFormation
 

Similaire à Algorithmique (20)

algorithmique
algorithmiquealgorithmique
algorithmique
 
Chapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdfChapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdf
 
Cours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdfCours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdf
 
syntax-matlab.pdf
syntax-matlab.pdfsyntax-matlab.pdf
syntax-matlab.pdf
 
Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdfChapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
 
Conception de base_de_l_algorithme
Conception de base_de_l_algorithmeConception de base_de_l_algorithme
Conception de base_de_l_algorithme
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
 
algorithme chapitre 1 et 2 (1).pptx
algorithme chapitre 1 et 2 (1).pptxalgorithme chapitre 1 et 2 (1).pptx
algorithme chapitre 1 et 2 (1).pptx
 
Coursalgorithmique
CoursalgorithmiqueCoursalgorithmique
Coursalgorithmique
 
Ns algo 2
Ns algo 2Ns algo 2
Ns algo 2
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
C++ 11/14
C++ 11/14C++ 11/14
C++ 11/14
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
 
Tp1 matlab
Tp1 matlab Tp1 matlab
Tp1 matlab
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdf
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptx
 
PHP : les fondamentaux (1ère partie)
PHP : les fondamentaux (1ère partie)PHP : les fondamentaux (1ère partie)
PHP : les fondamentaux (1ère partie)
 

Dernier

SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
presentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxpresentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxNYTombaye
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 

Dernier (20)

DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
presentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxpresentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptx
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 

Algorithmique

  • 1. 1 Algorithmique Département de Mathématiques et d’Informatique Presented by: Mehdi Abid
  • 2. Le terme algorithme vient du nom du mathématicien arabe Al-Khawarizmi (820 après J.C.) Un algorithme est une description complète et détaillée des actions à effectuer et de leur séquencement pour arriver à un résultat donné. Algorithme = suite d’actions que devra effectuer un automate pour arriver à partir d’un état initial, en un temps fini, à un résultat. 2 Définition
  • 3. 1) Apprendre les concepts de base de l'algorithmique et de la programmation 2) Etre capable de mettre en œuvre ces concepts pour analyser des problèmes simples et écrire les programmes correspondants Ce que vous devez savoir sur l'algorithmique Enoncé du problème Cahier des charges Algorithme Programme source Programme exécutable Version finale et résultats 3 Spécification Analyse Traduction en langage Compilation Tests et modifications
  • 4. 4 Notion de variable 3+4= 3+4 = 7 Problème : Effectuer le calcule de 3+4 Chez un humain Chez une Machine (Téléphone – Ordinateur – calculatrice…) A ← 3 B ← 4 C ← A+B on stocke la valeur 3 dans une variable A Et 4 dans une variable B On affiche la valeur de la variable C ???7
  • 5. 5 Notion de variable Dans les langages de programmation une variable sert à stocker la valeur d’une donnée Une variable désigne en fait un emplacement mémoire dont le contenu peut changer au cours d’un programme (d’où le nom variable) Règle : Les variables doivent être déclarées avant d’être utilisées, elle doivent être caractérisées par : • un nom (Identificateur) • un type (entier, réel, caractère, chaîne de caractères, …) Identificateur : A,B, Totale ,Prix_TTC, Prix_HT, Test, ch1…….. Type : entier, réel, booléen, chaîne de caractères Variables A, B, C: Entier Début A ← 3 B ← 7 C ← A + B Fin Notion de variable
  • 6. 6 L’instruction d’affectation A ← 3 L’affectation consiste à attribuer une valeur à une variable (ça consiste en fait à remplir où à modifier le contenu d'une zone mémoire) En pseudo-code, l'affectation se note avec le signe ← Var← e: attribue la valeur de e à la variable Var • e peut être une valeur, une autre variable ou une expression • Var et e doivent être de même type ou de types compatibles • l’affectation ne modifie que ce qui est à gauche de la flèche (var) Ex valides: A ←3 B ←4 C ←A+B x ←10,5 Test ←FAUX LP ← "ESE" LF←LP x ←4 x ←C Question : Quelle est la valeur de x ? la valeur de LF ? Affectation
  • 7. 7 Donnez les valeurs des variables A, B et C après exécution des instructions suivantes ? Variables A, B, C: Entier Début A ← 2 B ← 4 A ← B B ← A+5 C ← A + B C ← B – A Fin Exercice Instructions A B C A ← 2 B ← 4 A ← B B ← A+5 C ← A + B C ← B – A 2 2 5 44 4 9 94 4 9 4 13
  • 8. 8 Donnez les valeurs des variables A et B après exécution des instructions suivantes ? Variables A, B : Entier Début A ← 1 B ← 2 A ← B B ← A Fin Exercice Les deux dernières instructions permettent-elles d’échanger les valeurs de A et B ? Instructions A B A ← 1 B ← 2 A ← B B ← A 1 1 2 2 2 2 2
  • 9. 9 Ecrire un algorithme permettant d’échanger les valeurs de deux variables A et B Variables A, B,C : Entier Début A ← 1 B ← 2 C ← A A ← B B  C Fin Exercice
  • 10. 10 Expressions et opérateurs Les opérateurs dépendent du type de l'opération, ils peuvent être : des opérateurs arithmétiques: +, -, *, /, % (modulo), ^ (puissance) des opérateurs logiques: NON, OU, ET des opérateurs relationnels: ==, , <, >, <=, >= des opérateurs sur les chaînes: & (concaténation) Une expression est évaluée de gauche à droite mais en tenant compte de priorités Priorité des opérateurs Pour les opérateurs arithmétiques donnés ci-dessus, l'ordre de priorité est le suivant ^ : (puissance) * , / (multiplication, division) % (modulo) + , - (addition, soustraction) exemple: 2 + 3 * 7 vaut 23 En cas de besoin (ou de doute), on utilise les parenthèses pour indiquer les opérations à effectuer en priorité exemple: (2 + 3) * 7 vaut 35
  • 11. 11 Les instructions d'entrées-sorties: lecture et écriture Les instructions de lecture et d'écriture permettent à la machine de communiquer avec l'utilisateur L'écriture permet d’écrire dans un fichier ou d'afficher des résultats à l'écran NB : Avant de lire une variable, il est fortement conseillé d’écrire des messages à l’écran, afin de prévenir l’utilisateur de ce qu’il doit frapper écrire (var) écrire("entrer un nombre ") écrire("le nombre saisi est ",a) La lecture permet d'entrer des donnés à partir du clavier lire (var) la machine met la valeur entrée au clavier var dans la zone mémoire nommée var lire(A)
  • 12. Les instructions d'entrées-sorties: lecture et écriture Exemple : Ecrire un algorithme qui demande un nombre entier à l'utilisateur, puis qui calcule et affiche le double de ce nombre Algorithme Calcul_double variables A, B : entier Début écrire("entrer le nombre ") lire(A) B ← 2*A écrire("le double de est :", B) écrire("le double de ", A, "est :", B) Fin 12
  • 13. Algorithme AffichageNomComplet variables Nom, Prenom, Nom_Complet : chaîne de caractères Début écrire("entrez votre nom") lire(Nom) écrire("entrez votre prénom") lire(Prenom) Nom_Complet ← Nom & Prenom écrire("Votre nom complet est : ", Nom_Complet) Fin Ecrire un algorithme qui vous demande de saisir votre nom puis votre prénom et qui affiche ensuite votre nom complet Exercice Exercice 13
  • 14. 14 Ecrire un algorithme permettant de saisir un nombre entier au clavier et d’afficher le carré d'un nombre saisie par un utilisateur Variables a, Entier Début écrire("entrer un nombre ") lire(a) b ← a^2 oubien b a*a écrire("le carée du nombre saisie est :", b) ou bien écrire("le carré de ", a, "est :", b) Fin Exercice
  • 15. 15 Instructions conditionnelles Les instructions conditionnelles servent à n'exécuter une instruction ou une séquence d'instructions que si une condition est vérifiée On utilisera la forme suivante Si (condition) alors instruction ou suite d'instructions1 Finsi Sinon instruction ou suite d'instructions2 La partie Sinon n'est pas obligatoire, quand elle n'existe pas et que la condition est fausse, aucun traitement n'est réalisé
  • 16. 16 Instructions conditionnelles Exemple : Ecrire un algorithme qui demande de saisir un nombre à l'utilisateur, puis qui calcule et affiche le triple de sa valeur si le nombre est positif, sinon il affichera son double. Algorithme Calcul variables A, R : entier Début écrire("entrer le nombre ") lire(A) Si (A>=0) R  3*A sinon R  2*A finsi Si (A>=0) R  3*A écrire("le Résultat est :", R) sinon R  2*A écrire("le Résultat est :", R) finsi Fin écrire("le Résultat est :", R)
  • 17. 17 Ecrire un algorithme qui demande un nombre entier à l'utilisateur, puis qui teste et affiche s'il est divisible par 3 Algorithme Divsible_par3 Variable n : entier Début Ecrire " Entrez un entier : " Lire (n) Si (n%3=0) alors Ecrire (n," est divisible par 3") Sinon Ecrire (n," n'est pas divisible par 3") Finsi Fin Instructions conditionnelles
  • 18. 18 Instructions conditionnellesConditions composées • Une condition composée est une condition formée de plusieurs conditions simples reliées par des opérateurs logiques: ET, OU, OU exclusif (XOR) et NON • Exemples : • x compris entre 2 et 6 : (x > 2) ET (x < 6) • n divisible par 3 ou par 2 : (n%3=0) OU (n%2=0) • deux valeurs et deux seulement sont identiques parmi a, b et c : (a=b) XOR (a=c) XOR (b=c) • L'évaluation d'une condition composée se fait selon des règles présentées généralement dans ce qu'on appelle tables de vérité
  • 19. 19 Instructions conditionnellesConditions composées C1 C2 C1 ET C2 VRAI VRAI VRAI VRAI FAUX FAUX FAUX VRAI FAUX FAUX FAUX FAUX C1 C2 C1 OU C2 VRAI VRAI VRAI VRAI FAUX VRAI FAUX VRAI VRAI FAUX FAUX FAUX C1 C2 C1 XOR C2 VRAI VRAI FAUX VRAI FAUX VRAI FAUX VRAI VRAI FAUX FAUX FAUX C1 NON C1 VRAI FAUX FAUX VRAI ET OU XOR NON
  • 20. 20 Instructions conditionnellesTests imbriqués Les tests peuvent avoir un degré quelconque d'imbrications Si (condition1) alors Sinon Finsi Si (condition2) alors instructionsA Sinon instructionsB Finsi Si (condition3) alors instructionsC Finsi
  • 21. 21 Instructions conditionnellesTests imbriqués Exemple : savoir si un nombre est nul, négatif ou bien positif Variable n : entier Début Ecrire ("entrez un nombre : ") Lire (n) Si (n < 0) alors Ecrire ("Ce nombre est négatif") Finsi Si (n = 0) alors Ecrire ("Ce nombre est nul") Finsi Si (n > 0) alors Ecrire ("Ce nombre est positif") Finsi Si (n < 0) alors Ecrire ("Ce nombre est négatif") Sinon Si (n = 0) alors Ecrire ("Ce nombre est nul") Sinon Ecrire ("Ce nombre est positif") Finsi Finsi Fin
  • 22. 22 Instructions conditionnelles Le prix de photocopies dans un centre de copie varie selon le nombre demandé: 0,5 DH la copie pour un nombre de copies inférieur à 10, 0,4DH pour un nombre compris entre 10 et 20 et 0,3DH au-delà. Ecrivez un algorithme qui demande à l’utilisateur le nombre de photocopies effectuées, qui calcule et affiche le prix à payer Exercice
  • 23. 23 Instructions conditionnelles Variables Nb_copies : entier prix : réel Début Ecrire (« Saisir le nombre de photocopies : ") Lire (Nb_copies) Si (Nb_opies < 10) Alors prix ← Nb_opies *0.5 Sinon Si (Nb_opies < 20) Alors prix ← Nb_opies *0.4 Sinon prix ← Nb_opies *0.3 Finsi Finsi Ecrire (“Le prix à payer est : ”, prix) Fin
  • 24. 24 Instructions itératives: les boucles • Les boucles servent à répéter l'exécution d'un groupe d'instructions un certain nombre de fois • On distingue trois sortes de boucles en langages de programmation : • Les boucles tant que : on y répète des instructions tant qu'une certaine condition est réalisée • Les boucles pour ou avec compteur : on y répète des instructions en faisant évoluer un compteur (variable particulière) entre une valeur initiale et une valeur finale
  • 25. 25 Les boucles Tant que TantQue (condition) instructions FinTantQue condition instructions Fausse Vrai la condition (dite condition de contrôle de la boucle) est évaluée avant chaque itération si la condition est vraie, on exécute instructions (corps de la boucle), puis, on retourne tester la condition. Si elle est encore vraie, on répète l'exécution, … si la condition est fausse, on sort de la boucle et on exécute l'instruction qui est après FinTantQue