SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Chapitre 4
Les structures répétitives
responsable: Dr.Fadoua BOUAFIF
1
ASD I
Dr.Fadoua BOUAFIF
Objectifs
 Connaitre les différents types de structures répétitives en
algorithmique et en C
 Apprendre la manipulation les différents structures répétitives
2
ASD I
Dr.Fadoua BOUAFIF
Plan
1. Introduction
2. Les types de boucles
a. Les boucles à compteur ou définie
b. Les boucles à évènement ou indéfinie
3. Remarques en C
4. Synthèse
5. Conclusion
3
ASD I
Dr.Fadoua BOUAFIF
Introduction
Structures algorithmiques
4
Structure linéaire
Structures
conditionnelle
ou de choix
Structures itérative
 La structure itérative (ou répétitive ou selon une condition ou boucle) est une suite d'instructions
exécutée répétitivement
 Cette structure est utilisée:
 Pour exécuter un ou plusieurs traitement(s) pour un certain nombre de fois jusqu'à ce qu'une
condition est remplit
 Pour éviter de réécrire un même traitement plusieurs fois
ASD I
Dr.Fadoua BOUAFIF
Les types de Structures
5
On distingue 2 types de boucles:
 Les structures à compteur ou définie
Le nombre d’itérations est connu à l’avance et une variable (le compteur ) compte les
répétitions
Exemple : Lire 10 nombres à partir du clavier. Ainsi, l’opération de lecture d’un nombre est
répétée 10 fois.
 La structure Pour…Faire (for.. en C)
 Les structures à événement ou indéfinie
Le nombre de fois que la boucle sera exécutée est inconnu à l’avance: Il peut dépendre du
nombre de données à traiter où du nombre d’essais que l’usager a effectués.
la structure Tantque ()… Faire (while.. en C )
la structure Répéter … jusqu’à () (Do…while en C )
ASD I
Dr.Fadoua BOUAFIF
Structure Pour…faire: définition
 Cette structure permet d'exécuter un traitement pour un nombre fini de
répétitions.
 La sortie de la boucle d'itérations s'effectue lorsque le nombre souhaité de
répétition est atteint.
 Un indice de contrôle d'itérations est utilisé. Il est caractérisé par:
 sa valeur initiale,
 sa valeur finale,
 et son pas d'incrémentation.
6
ASD I
Dr.Fadoua BOUAFIF
Structure Pour…faire: En algorithmique
Syntaxe:
 L’indice ou compteur est identifié par un identificateur de variable. Il est initialisé à valeur-initiale et
qui s'incrémente (décrémente) jusqu'à atteindre valeur_finale.
 Le traitement esrt épété ( |valeur_finale – valeur_initiale |+1) fois.
 Le pas d'incrémentation est optionnel. C'est un entier relatif qui explicite le pas d'incrémentation
quand il est positif et de décrémentation quand il est négatif. Par défaut, il est égal à 1.
 La condition de répétition du traitement est relative à la valeur d'indice et la valeur finale. Un test de
comparaison est effectué après chaque exécution du traitement et incrémentation de l'indice.
7
ASD I
Dr.Fadoua BOUAFIF
Pour ( indice/compteur ) de valeur_initiale à valeur_finale ( pas ) faire
Traitement
Fin pour
Structure Pour…faire: En algorithmique (suite)
8
ASD I
Dr.Fadoua BOUAFIF
Exemple1 :
Pour i de 1 à 5 pas 2 Faire
Ecrire (i*10)
FinPour
Pour i de 1 à 5 Faire
Ecrire (i*10)
FinPour
Exemple2 :
Exemple3 :
Pour i de 5 à 1 pas -1 Faire
Ecrire (i*10)
FinPour
Structure Pour…faire: en C
Syntaxe:
for ( initialisation; condition; incré/décrémentation )
{
Traitement;
}
Remarque :
- Tout comme en algorithmique, l'incrémentation dépend du problème: elle peut correspondre à un
pas positif (dans le cas d'une incrémentation) ou un pas négatif (décrémentation)
- Par défaut, le pas est égal à 1.
9
ASD I
Dr.Fadoua BOUAFIF
Exemple1:
for( i=1; i<=5;i++)
{
printf ("%d",i*10);
}
Exemple2:
for( i=5; i>=1;i--)
{
printf ("%d",i*10);
}
Exemple3:
for( i=1; i<=5;i+=2)
{
printf ("%d",i*10);
}
Ecrire un algorithme (programme en C ) qui lit un entier positif et affiche sa factorielle (0!=1)
10
Structure Pour…faire: Activité
En algorithmique En C
ASD I
Dr.Fadoua BOUAFIF
11
Structure Pour…faire: Activité (solution)
ASD I
Dr.Fadoua BOUAFIF
Algorihme factorielle_pour
Var: n, fac, i: entier
Debut
ecrire ("donner un entier positif n")
Lire(n)
Fac1
si(n!=0) alors
pour i de 1 à n faire
facfac*i
finpour
finsi
Ecrire("factorielle de ", n, "=", fac)
fin
#include<stdio.h>
int main()
{ int n,i, fac;
printf(“donner un entire positif n”);
scanf(“%d”,&n);
fac=1;
if(n!=0
{
for(i=1;i<=n;i++)
{
fac=fac*i;
}
}
printf(“le factorielle de %d =%d”,n,fac);
}
Structure Répéter.... Jusqu'à: définition
Dans cette structure, le traitement est exécuté une première fois puis une
répétition se poursuit jusqu’à ce que la condition soit vérifiée.
⇒ Le traitement est toujours exécuté au moins une fois.
12
ASD I
Dr.Fadoua BOUAFIF
Structure Répéter... Jusqu’à: déclaration
13
ASD I
En algorithmique En C
Répéter
Traitement
Jusqu'à ( condition )
do
{
Traitement ;
} while ( condition ) ;
Dr.Fadoua BOUAFIF
Syntaxes
Exemples
i1
Répéter
Ecrire (i*10)
ii+i
Jusqu’à (i>5)
i=1;
do
{
printf(("%d",i*10);
i+=1;
}while (i<=5);
Ecrire un algorithme (programme en C ) qui lit un entier positif et affiche sa factorielle (0!=1)
14
Structure Répéter... Jusqu'à: Activité
En algorithmique En C
Solutions:
ASD I
Dr.Fadoua BOUAFIF
15
Structure Répéter... Jusqu'à: activité(solution)
ASD I
Dr.Fadoua BOUAFIF
Algorihme factorielle_repeter
Var: n, fac, i: entier
Debut
repeter
ecrire ("donner un entier positif n")
Lire(n)
jusqu’à (n>=0)
Fac1
i0
repeter
facfac*i
ii+1
jusqu’à (i>n)
Ecrire("la factorielle de ", n, "=", fac)
fin
#include<stdio.h>
int main()
{
int n,i, fac;
do
{ printf(“donner un entier positif ”);
scanf(“%d”,&n);
}while(n<0);
fac=1;
i=1;
do
{
fac=fac*i;
i+=1;
} while(i<=n);
printf(“la factorielle de %d =%d”,n,fac);
}
Structure Tant que ... Faire : définition
Dans cette structure, la condition est testée dès le départ:
 Si elle est vérifiée, le traitement est exécuté jusqu’à ce que la condition
devienne fausse.
 Sinon, les instructions qui suivent la boucle seront exécutées directement.
⇒ Le traitement peut ne jamais être exécutée.
 L'exécution du traitement est effectuée 0 ou plusieurs fois puisque le
nombre de répétition n'est pas connu à l'avance.
16
ASD I
Dr.Fadoua BOUAFIF
Structure Tant que ... Faire: déclaration
17
ASD I
En algorithmique En C
TantQue ( condition ) faire
Traitement
FinTantQue
While ( condition )
{
Traitement ;
}
Dr.Fadoua BOUAFIF
Syntaxes
Exemples
i1
TantQue (i<=5)faire
Ecrire (i*10)
ii+i
FinTantQue
i=1;
While(i<=5)
{
printf(("%d",i*10);
i+=1;
}
Ecrire un algorithme (programme en C ) qui lit un entier positif et affiche sa factorielle (0!=1)
18
Structure Tant que ... Faire : Activité
En algorithmique En C
Solutions:
ASD I
Dr.Fadoua BOUAFIF
19
Structure Tant que ... Faire : activité(solution)
ASD I
Dr.Fadoua BOUAFIF
Algorihme factorielle_TantQue
Var: n, fac, i: entier
Debut
repeter
ecrire ("donner un entier positif n")
Lire(n)
jusqu’à (n>=0)
Fac1
i0
TantQue(i<=n) faire
facfac*i
ii+1
finTantQue
Ecrire("la factorielle de ", n, "=", fac)
fin
#include<stdio.h>
int main()
{
int n,i, fac;
do
{ printf(“donner un entier positif ”);
scanf(“%d”,&n);
}while(n<0);
fac=1;
i=1;
while(i<=n)
{
fac=fac*i;
i+=1;
}
printf(“la factorielle de %d =%d”,n,fac);
}
Remarques en C
Instruction de contrôles
Ce sont des instructions qui permettent d'arrêter ou de continuer l'exécution d'une boucle. Il
existe deux instructions:
1. Break : sert à contrôler le déroulement d'une instruction (comme avec l'instruction switch).
Elle permet aussi d'arrêter le déroulement d'une boucle.
2. Continue : permet d'aller directement à la prochaine itération de la boucle sans exécuter le
reste des instructions internes.
 Une boucle bien construite n'a pas besoin de l'usage de ces instructions. Il est alors
déconseillé de les utiliser avec les boucles.
20
ASD I
Dr.Fadoua BOUAFIF
Synthèse
 La condition dans les deux structures Tant que et Répéter est une expression logique.
 Le nombre de répétition dans la boucle Pour est connu à l'avance
 Le nombre de répétition dans la boucle Tant que ou Répéter peut être inconnu qui
dépend de la condition d'arrêt.
 La boucle Pour peut être remplacée par Tant que ou Répéter.
21
Tant que Répéter Pour
- La condition est évaluée
avant le traitement
- Le traitement est exécuté
au moins 0 fois
- La condition est évaluée
après le traitement
- Le traitement est exécuté
au moins 1 fois
- La condition est évaluée
avant le traitement
- Le traitement est exécuté
au moins 0 fois
ASD I
Dr.Fadoua BOUAFIF
Conclusion
Dans ce chapitre nous avons:
 présenté et manipulé les différents types des structures répétitives :
 Structure pour…faire (for en C)
 Structure répeter …. jusqu’à (do…while en C )
 Structure TantQue… faire (while en C)
ASD I
22
Dr.Fadoua BOUAFIF

Contenu connexe

Tendances

Algebre relationelle
Algebre relationelleAlgebre relationelle
Algebre relationellehnsfr
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap IInes Ouaz
 
Formation PHP
Formation PHPFormation PHP
Formation PHPkemenaran
 
L’appareil digestif 1
L’appareil digestif 1L’appareil digestif 1
L’appareil digestif 1Eya Nasraoui
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Coursalgorithmique
CoursalgorithmiqueCoursalgorithmique
Coursalgorithmiquenicodeff
 
Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap IIInes Ouaz
 
Cour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarCour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarAnouar Sghaier
 
Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementborhen boukthir
 
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
 
Exercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitéExercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitésalah fenni
 

Tendances (20)

Algebre relationelle
Algebre relationelleAlgebre relationelle
Algebre relationelle
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap I
 
Formation PHP
Formation PHPFormation PHP
Formation PHP
 
HTML & CSS
HTML & CSSHTML & CSS
HTML & CSS
 
L’appareil digestif 1
L’appareil digestif 1L’appareil digestif 1
L’appareil digestif 1
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Chapitre05 : Les tableaux
Chapitre05 : Les tableauxChapitre05 : Les tableaux
Chapitre05 : Les tableaux
 
Coursalgorithmique
CoursalgorithmiqueCoursalgorithmique
Coursalgorithmique
 
Chapitre 4 Java script
Chapitre 4 Java scriptChapitre 4 Java script
Chapitre 4 Java script
 
Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap II
 
Cour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarCour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouar
 
Langage c partie_2
Langage c partie_2Langage c partie_2
Langage c partie_2
 
Algorithmes de tri
Algorithmes de triAlgorithmes de tri
Algorithmes de tri
 
Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrement
 
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
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
Exercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitéExercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivité
 
TP C++ : enoncé
TP C++ : enoncéTP C++ : enoncé
TP C++ : enoncé
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 

Similaire à Ch4- les structures répétitives.pdf

Instructions d'itérations (les boucles)
Instructions d'itérations (les boucles)Instructions d'itérations (les boucles)
Instructions d'itérations (les boucles)دليل الحياة
 
Les bases de la programmation en JAVA
Les bases de la programmation  en JAVA   Les bases de la programmation  en JAVA
Les bases de la programmation en JAVA Asmaa BENGUEDDACH
 
Mémento caml
Mémento camlMémento caml
Mémento camlzan
 
Structure de Contrôle
Structure de Contrôle Structure de Contrôle
Structure de Contrôle InforMatica34
 
Les fondamentaux du langage C
Les fondamentaux du langage CLes fondamentaux du langage C
Les fondamentaux du langage CAbdoulaye Dieng
 
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#MSDEVMTL
 
Algorithmique Amp Programmation (R Sum
Algorithmique  Amp  Programmation (R SumAlgorithmique  Amp  Programmation (R Sum
Algorithmique Amp Programmation (R SumAmy Isleb
 
Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Christophe Malpart
 
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
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018salah fenni
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de triYassine Anddam
 
rc.pdf
rc.pdfrc.pdf
rc.pdfDOUA9
 
Chap05 (buchi)
Chap05 (buchi)Chap05 (buchi)
Chap05 (buchi)infcom
 

Similaire à Ch4- les structures répétitives.pdf (20)

Instructions d'itérations (les boucles)
Instructions d'itérations (les boucles)Instructions d'itérations (les boucles)
Instructions d'itérations (les boucles)
 
Chapitre2 prog dsplf3
Chapitre2 prog dsplf3Chapitre2 prog dsplf3
Chapitre2 prog dsplf3
 
Les bases de la programmation en JAVA
Les bases de la programmation  en JAVA   Les bases de la programmation  en JAVA
Les bases de la programmation en JAVA
 
Mémento caml
Mémento camlMémento caml
Mémento caml
 
Structure de Contrôle
Structure de Contrôle Structure de Contrôle
Structure de Contrôle
 
Ch2_ la récursivité.pdf
Ch2_ la récursivité.pdfCh2_ la récursivité.pdf
Ch2_ la récursivité.pdf
 
Exercices : Algorithmes et Langage C
Exercices : Algorithmes et Langage CExercices : Algorithmes et Langage C
Exercices : Algorithmes et Langage C
 
Les fondamentaux du langage C
Les fondamentaux du langage CLes fondamentaux du langage C
Les fondamentaux du langage C
 
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Algorithmique Amp Programmation (R Sum
Algorithmique  Amp  Programmation (R SumAlgorithmique  Amp  Programmation (R Sum
Algorithmique Amp Programmation (R Sum
 
langage C++
langage C++langage C++
langage C++
 
Language-C.ppt
Language-C.pptLanguage-C.ppt
Language-C.ppt
 
Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2
 
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
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
 
rc.pdf
rc.pdfrc.pdf
rc.pdf
 
Chap05 (buchi)
Chap05 (buchi)Chap05 (buchi)
Chap05 (buchi)
 
syntax-matlab.pdf
syntax-matlab.pdfsyntax-matlab.pdf
syntax-matlab.pdf
 

Plus de FadouaBouafifSamoud

Plus de FadouaBouafifSamoud (6)

ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdf
 
ch6 les sous programmes.pdf
ch6 les sous programmes.pdfch6 les sous programmes.pdf
ch6 les sous programmes.pdf
 
Ch5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdfCh5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdf
 
ch4_les listes.pdf
ch4_les listes.pdfch4_les listes.pdf
ch4_les listes.pdf
 
ch3_les variables_dynamiques.pdf
ch3_les variables_dynamiques.pdfch3_les variables_dynamiques.pdf
ch3_les variables_dynamiques.pdf
 
Ch1 _ les enregistrements.pdf
Ch1 _ les enregistrements.pdfCh1 _ les enregistrements.pdf
Ch1 _ les enregistrements.pdf
 

Dernier

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
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
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
 
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
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEgharebikram98
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
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
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
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
 

Dernier (14)

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
 
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
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
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 .
 
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
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
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
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
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
 

Ch4- les structures répétitives.pdf

  • 1. Chapitre 4 Les structures répétitives responsable: Dr.Fadoua BOUAFIF 1 ASD I Dr.Fadoua BOUAFIF
  • 2. Objectifs  Connaitre les différents types de structures répétitives en algorithmique et en C  Apprendre la manipulation les différents structures répétitives 2 ASD I Dr.Fadoua BOUAFIF
  • 3. Plan 1. Introduction 2. Les types de boucles a. Les boucles à compteur ou définie b. Les boucles à évènement ou indéfinie 3. Remarques en C 4. Synthèse 5. Conclusion 3 ASD I Dr.Fadoua BOUAFIF
  • 4. Introduction Structures algorithmiques 4 Structure linéaire Structures conditionnelle ou de choix Structures itérative  La structure itérative (ou répétitive ou selon une condition ou boucle) est une suite d'instructions exécutée répétitivement  Cette structure est utilisée:  Pour exécuter un ou plusieurs traitement(s) pour un certain nombre de fois jusqu'à ce qu'une condition est remplit  Pour éviter de réécrire un même traitement plusieurs fois ASD I Dr.Fadoua BOUAFIF
  • 5. Les types de Structures 5 On distingue 2 types de boucles:  Les structures à compteur ou définie Le nombre d’itérations est connu à l’avance et une variable (le compteur ) compte les répétitions Exemple : Lire 10 nombres à partir du clavier. Ainsi, l’opération de lecture d’un nombre est répétée 10 fois.  La structure Pour…Faire (for.. en C)  Les structures à événement ou indéfinie Le nombre de fois que la boucle sera exécutée est inconnu à l’avance: Il peut dépendre du nombre de données à traiter où du nombre d’essais que l’usager a effectués. la structure Tantque ()… Faire (while.. en C ) la structure Répéter … jusqu’à () (Do…while en C ) ASD I Dr.Fadoua BOUAFIF
  • 6. Structure Pour…faire: définition  Cette structure permet d'exécuter un traitement pour un nombre fini de répétitions.  La sortie de la boucle d'itérations s'effectue lorsque le nombre souhaité de répétition est atteint.  Un indice de contrôle d'itérations est utilisé. Il est caractérisé par:  sa valeur initiale,  sa valeur finale,  et son pas d'incrémentation. 6 ASD I Dr.Fadoua BOUAFIF
  • 7. Structure Pour…faire: En algorithmique Syntaxe:  L’indice ou compteur est identifié par un identificateur de variable. Il est initialisé à valeur-initiale et qui s'incrémente (décrémente) jusqu'à atteindre valeur_finale.  Le traitement esrt épété ( |valeur_finale – valeur_initiale |+1) fois.  Le pas d'incrémentation est optionnel. C'est un entier relatif qui explicite le pas d'incrémentation quand il est positif et de décrémentation quand il est négatif. Par défaut, il est égal à 1.  La condition de répétition du traitement est relative à la valeur d'indice et la valeur finale. Un test de comparaison est effectué après chaque exécution du traitement et incrémentation de l'indice. 7 ASD I Dr.Fadoua BOUAFIF Pour ( indice/compteur ) de valeur_initiale à valeur_finale ( pas ) faire Traitement Fin pour
  • 8. Structure Pour…faire: En algorithmique (suite) 8 ASD I Dr.Fadoua BOUAFIF Exemple1 : Pour i de 1 à 5 pas 2 Faire Ecrire (i*10) FinPour Pour i de 1 à 5 Faire Ecrire (i*10) FinPour Exemple2 : Exemple3 : Pour i de 5 à 1 pas -1 Faire Ecrire (i*10) FinPour
  • 9. Structure Pour…faire: en C Syntaxe: for ( initialisation; condition; incré/décrémentation ) { Traitement; } Remarque : - Tout comme en algorithmique, l'incrémentation dépend du problème: elle peut correspondre à un pas positif (dans le cas d'une incrémentation) ou un pas négatif (décrémentation) - Par défaut, le pas est égal à 1. 9 ASD I Dr.Fadoua BOUAFIF Exemple1: for( i=1; i<=5;i++) { printf ("%d",i*10); } Exemple2: for( i=5; i>=1;i--) { printf ("%d",i*10); } Exemple3: for( i=1; i<=5;i+=2) { printf ("%d",i*10); }
  • 10. Ecrire un algorithme (programme en C ) qui lit un entier positif et affiche sa factorielle (0!=1) 10 Structure Pour…faire: Activité En algorithmique En C ASD I Dr.Fadoua BOUAFIF
  • 11. 11 Structure Pour…faire: Activité (solution) ASD I Dr.Fadoua BOUAFIF Algorihme factorielle_pour Var: n, fac, i: entier Debut ecrire ("donner un entier positif n") Lire(n) Fac1 si(n!=0) alors pour i de 1 à n faire facfac*i finpour finsi Ecrire("factorielle de ", n, "=", fac) fin #include<stdio.h> int main() { int n,i, fac; printf(“donner un entire positif n”); scanf(“%d”,&n); fac=1; if(n!=0 { for(i=1;i<=n;i++) { fac=fac*i; } } printf(“le factorielle de %d =%d”,n,fac); }
  • 12. Structure Répéter.... Jusqu'à: définition Dans cette structure, le traitement est exécuté une première fois puis une répétition se poursuit jusqu’à ce que la condition soit vérifiée. ⇒ Le traitement est toujours exécuté au moins une fois. 12 ASD I Dr.Fadoua BOUAFIF
  • 13. Structure Répéter... Jusqu’à: déclaration 13 ASD I En algorithmique En C Répéter Traitement Jusqu'à ( condition ) do { Traitement ; } while ( condition ) ; Dr.Fadoua BOUAFIF Syntaxes Exemples i1 Répéter Ecrire (i*10) ii+i Jusqu’à (i>5) i=1; do { printf(("%d",i*10); i+=1; }while (i<=5);
  • 14. Ecrire un algorithme (programme en C ) qui lit un entier positif et affiche sa factorielle (0!=1) 14 Structure Répéter... Jusqu'à: Activité En algorithmique En C Solutions: ASD I Dr.Fadoua BOUAFIF
  • 15. 15 Structure Répéter... Jusqu'à: activité(solution) ASD I Dr.Fadoua BOUAFIF Algorihme factorielle_repeter Var: n, fac, i: entier Debut repeter ecrire ("donner un entier positif n") Lire(n) jusqu’à (n>=0) Fac1 i0 repeter facfac*i ii+1 jusqu’à (i>n) Ecrire("la factorielle de ", n, "=", fac) fin #include<stdio.h> int main() { int n,i, fac; do { printf(“donner un entier positif ”); scanf(“%d”,&n); }while(n<0); fac=1; i=1; do { fac=fac*i; i+=1; } while(i<=n); printf(“la factorielle de %d =%d”,n,fac); }
  • 16. Structure Tant que ... Faire : définition Dans cette structure, la condition est testée dès le départ:  Si elle est vérifiée, le traitement est exécuté jusqu’à ce que la condition devienne fausse.  Sinon, les instructions qui suivent la boucle seront exécutées directement. ⇒ Le traitement peut ne jamais être exécutée.  L'exécution du traitement est effectuée 0 ou plusieurs fois puisque le nombre de répétition n'est pas connu à l'avance. 16 ASD I Dr.Fadoua BOUAFIF
  • 17. Structure Tant que ... Faire: déclaration 17 ASD I En algorithmique En C TantQue ( condition ) faire Traitement FinTantQue While ( condition ) { Traitement ; } Dr.Fadoua BOUAFIF Syntaxes Exemples i1 TantQue (i<=5)faire Ecrire (i*10) ii+i FinTantQue i=1; While(i<=5) { printf(("%d",i*10); i+=1; }
  • 18. Ecrire un algorithme (programme en C ) qui lit un entier positif et affiche sa factorielle (0!=1) 18 Structure Tant que ... Faire : Activité En algorithmique En C Solutions: ASD I Dr.Fadoua BOUAFIF
  • 19. 19 Structure Tant que ... Faire : activité(solution) ASD I Dr.Fadoua BOUAFIF Algorihme factorielle_TantQue Var: n, fac, i: entier Debut repeter ecrire ("donner un entier positif n") Lire(n) jusqu’à (n>=0) Fac1 i0 TantQue(i<=n) faire facfac*i ii+1 finTantQue Ecrire("la factorielle de ", n, "=", fac) fin #include<stdio.h> int main() { int n,i, fac; do { printf(“donner un entier positif ”); scanf(“%d”,&n); }while(n<0); fac=1; i=1; while(i<=n) { fac=fac*i; i+=1; } printf(“la factorielle de %d =%d”,n,fac); }
  • 20. Remarques en C Instruction de contrôles Ce sont des instructions qui permettent d'arrêter ou de continuer l'exécution d'une boucle. Il existe deux instructions: 1. Break : sert à contrôler le déroulement d'une instruction (comme avec l'instruction switch). Elle permet aussi d'arrêter le déroulement d'une boucle. 2. Continue : permet d'aller directement à la prochaine itération de la boucle sans exécuter le reste des instructions internes.  Une boucle bien construite n'a pas besoin de l'usage de ces instructions. Il est alors déconseillé de les utiliser avec les boucles. 20 ASD I Dr.Fadoua BOUAFIF
  • 21. Synthèse  La condition dans les deux structures Tant que et Répéter est une expression logique.  Le nombre de répétition dans la boucle Pour est connu à l'avance  Le nombre de répétition dans la boucle Tant que ou Répéter peut être inconnu qui dépend de la condition d'arrêt.  La boucle Pour peut être remplacée par Tant que ou Répéter. 21 Tant que Répéter Pour - La condition est évaluée avant le traitement - Le traitement est exécuté au moins 0 fois - La condition est évaluée après le traitement - Le traitement est exécuté au moins 1 fois - La condition est évaluée avant le traitement - Le traitement est exécuté au moins 0 fois ASD I Dr.Fadoua BOUAFIF
  • 22. Conclusion Dans ce chapitre nous avons:  présenté et manipulé les différents types des structures répétitives :  Structure pour…faire (for en C)  Structure répeter …. jusqu’à (do…while en C )  Structure TantQue… faire (while en C) ASD I 22 Dr.Fadoua BOUAFIF