Vous êtes sur la page 1sur 14

Université Abdelmalek Essaadi

Faculté des Sciences et Techniques de


Tanger

Algorithmique et Programmation 1
Pr. Abdelhamid ZOUHAIR Pr. Aziz MAHBOUB

Intitulé du module Algorithmique et Programmation 1

Etablissement dont relève le module Faculté des Sciences et Techniques de Tanger

Filière Tronc commun: MIP , MIPC

Semestre d’appartenance du module S1

Version 1.0 A. U: 2021/2022

Algorithmique et Programmation 1

Chapitre 4 : Les boucles en


Algorithmique et en Langage C
1. Boucle répéter … jusqu'a / do … while
2. Boucle tant que / while
3. Boucle pour / for

1
Algorithme : Structure itérative

Structure itérative (boucle) :


La structure itérative répète l’exécution d’une
opération ou d’un traitement.
Il y deux cas pour la structure Itérative :
Le nombre de répétitions n’est pas connu
/variable: dans ce cas il existe deux type de
structures
1. structure RÉPÉTER TANT QUE et,
2. structure TANT QUE … FAIRE …
Le nombre de répétitions est connu: structure
POUR … À … FAIRE …
(pour variable allant de expression1 jusqu'à expression2 avec un pas
de expression3 faire | | séquence d'instructions | fin pour)
3

Algorithme : Structure itérative

Structure itérative RÉPÉTER TANT QUE:


Dans cette structure, le traitement est exécuté une première fois
puis sa répétition se poursuit jusqu’à ce que la condition soit
vérifiée.
Les actions sont toujours exécutées au moins une fois.
Par traitement on entend :
soit une structure isolée,
soit une succession d’instructions.
Notation:
Répéter
Actions
Tant que condition

2
Algorithme : Structure itérative

Structure itérative RÉPÉTER TANT QUE : Exemple


Algorithme exemple1 {Cet algorithme a besoin d’une valeur positive}
variables valeur : entier;
début
Répéter
Ecrire("Donnez une valeur positive non nulle : ") ;
Lire (valeur);
Tant que valeur ≤0
Ecrire("La valeur positive non nulle que vous avez
saisie est ", valeur );
… {traitement de la valeur saisie}
fin
5

Algorithme : Structure itérative

Structure itérative TANT QUE … FAIRE…


Dans cette structure, on commence par tester la condition ; si elle
est vérifiée, le traitement est exécuté.
Les actions peuvent ne pas être exécutées si la condition est fausse
au départ.
Par traitement on entend :
soit une structure isolée,
soit une succession d’instructions.
Notation:
Tant que condition Faire
Actions
Fin Tant que

3
Algorithme : Structure itérative

Structure itérative TANT QUE … FAIRE…: Exemple


Algorithme qui permet de faire la somme des données qu’il saisit, arrêt à la lecture de -1.
Algorithme exemple2
constantes (STOP : entier) ←-1;
(MAX : entier) ←5;
variables nbVal, val : entiers;
début
nbVal←0; {compte les saisies traitées}
Lire (val); {saisie de la 1ère donnée}
Tant que val ≠STOP et nbVal< MAX faire
nbVal←nbVal+ 1;
… {traitement de la valeur saisie}
Ecrire(val); {relance}
Fin Tant que
Ecrire(val, nbVal); {valeurs en sortie de boucle}
fin
7

Algorithme : Structure itérative

Comparaison boucles Tant que et Répéter :


Boucle Tant que:
La condition vérifiée avant chaque exécution
du traitement ;
le traitement peut donc ne pas être exécuté;
La condition porte surtout sur la saisie de
nouvelles variables (relance).

Boucle Répéter tant que:


La condition vérifiée après chaque exécution
du traitement ;
Le traitement est exécuté au moins une fois;
La condition porte surtout sur le résultat du
traitement.

4
Algorithme : Structure itérative

Comparaison boucles répéter et tant que:


Algorithme Tant que
Variable i: entier ;
DEBUT
i ← 1;
tant que i <= 5
Ecrire (i);
i ← i + 1;
Fin Tant que ;
FIN Ces deux algorithmes permettant
d’afficher tous les nombres de 1 à 5
Algorithme Répéter tant que dans l’ordre croissant.
Variable i: entier;
DEBUT
i←1
répéter
Ecrire (i); ;
i ← i + 1;
jusqu'à i > 5
FIN 9

Algorithme : Structure itérative

Structure itérative POUR…À…PAS… FAIRE…


Dans cette structure, la sortie de la boucle d’itération
s’effectue lorsque le nombre souhaité de répétition est
atteint.
On utilise donc une variable (ou indice) de contrôle
d’itération caractérisée par :
1. Sa valeur initiale,
2. Sa valeur finale,
3. Son pas de variation.
Si la valeur finale de l’indice est inférieure à sa valeur
initiale le pas de variation est négatif, la structure est
dite « pour décroissante », dans le cas contraire, le pas
est positif et la structure est dite « pour croissante»

10

5
Algorithme : Structure itérative

Structure itérative POUR…À…PAS… FAIRE…


On connaît le nombre d’itérations à l’avance.
Notation:
Pour var ←valInit à valfin Faire V: variable
Actions vi : valeur initiale de V
Fin Pour vf valeur finale de V

11

Algorithme : Structure itérative

Structure itérative POUR…À…PAS… FAIRE…


On connaît le nombre d’itérations à l’avance.
Autre Notation:
Pour i ← 1 à n Faire i: variable
Actions 1 : valeur initiale de i
Fin Pour n : valeur finale de i

12

6
Algorithme : Structure itérative

Structure itérative POUR...À...PAS... FAIRE…


Algorithme exemple7 {Cet algorithme fait la somme des nbValdonnées qu'il saisit}
variables nbVal, cpt :entiers;
valeur, totalValeurs: réels;
début
Ecrire("Combien de valeurs voulez-vous Ecrire?");
Lire (nbVal); {initialisation du total à 0 avant cumul}
totalValeurs←0;
pour cpt ←1 à nbVal faire {traitement qui se répète nbValfois}
Ecrire("Donnez une valeur :");
Lire (valeur);
totalValeurs←totalValeurs+ valeur; {cumul}
fin pour
Ecrire("Le total des ", nbVal, "valeurs est " , totalValeurs );
fin

13

Algorithme : Structure itérative

Structure itérative POUR...À...PAS... FAIRE…


Algorithme qui permet d'afficher tous les nombres pairs qui
existent entre 1 et 10.
Algorithme exemple8
Variable i : entier;
Début
POUR i 2 à 10 pas 2 Faire
ECRIRE(i);
Fin pour

Autre solution
POUR i 1 à 5 Faire
ECRIRE(2*i);
Fin pour 14

7
Algorithme : Structure itérative

Comparaison boucles pour et tant que:


pour cpt ←1 à nbVal faire
Ecrire("Donnez une valeur :");
Lire(valeur);
totalValeurs←totalValeurs+ valeur;
Fin pour
Equivaut à:
cpt ←0
tant que cpt <nbVal faire
Ecrire("Donnez une valeur :");
Lire(valeur);
totalValeurs←totalValeurs+ valeur;
cpt ←cpt + 1;
Fin tant que
15

Langage C : Structure itérative

structures répétitives (itérative ou encore


boucles) : permettent de répéter plusieurs fois
un ensemble donné d’instructions :

1. while,

2. do…while, et

3. for.

16

8
Langage C : Les Boucles

Boucle while :
Contrairement à la boucle for, on n’est pas obligés ici de
connaître le nombre d’itérations. Il n’y a pas de
compteur.
while (expression)
{
instructions ... ;
}
L’expression est évaluée à chaque itération. Tant qu’elle
est vraie, les instructions sont exécutées. Si dès le
début elle est fausse, les instructions ne sont jamais
exécutées.

17

Langage C : Les Boucles


Boucle while: Exemple
#include <stdio.h>
main(){
float x,R ;
x=1.0 ;
R=10.0 ;
while (x < R) {
x = x+1 ;
printf("x=%f",x) ;
}
}
18

9
Langage C : Les Boucles
Boucle while: Exemple

19

Langage C : Les Boucles


Boucle do ... While :
A la différence d’une boucle while, les instructions sont
exécutées au moins une fois : l’expression est évaluée
en fin d’itération.

do {
instructions ... ;
}
while (expression)

20

10
Langage C : Les Boucles
Boucle do ... While : Exemple

21

Langage C : Les Boucles


Boucle for :
Elle permet d’exécuter des instructions plusieurs fois sans avoir
à écrire toutes les itérations. Dans ce genre de boucle, on doit
savoir le nombre d’itérations avant d’entrer dans la boucle. Elle
s’utilise ainsi (Structure for) :
for (expr1 ; expr2 ; expr3)
{ instructions ...;
}
expr1 : effectue l’initialisation (évaluée 1 fois au début de la
boucle).
expr2 : constitue le test de continuation .
expr3 : pour réinitialiser les données de la boucle.

22

11
Langage C : Les Boucles
Boucle for (suite):
Exemple pour la Structure for :
for (i=0 ; i<N ; i++)
{ instructions ...;
}
Dans cette boucle, i est le compteur. Il ne doit pas être modifié dans
les instructions, sous peine de sortie de boucle et donc d’erreur.
La 1 ère instruction entre parenthèses est l’initialisation de la
boucle.
La 2 ème est la condition de sortie de la boucle : tant qu’elle est
vraie, on continue la boucle.
La 3 ème est l’instruction d’itération : sans elle, le compteur reste à
la valeur initiale et on ne sort jamais de la boucle.

23

Langage C : Les Boucles


Boucle for : Exemple

#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
for (i=1;i<6;i++)
{
printf("i= %d\n",i);
}
getch();
}
Cette boucle affiche 5 fois la valeur de i, c'est-à-dire
1, 2, 3, 4, 5.
24

12
Langage C : Instructions break et continue

Instruction break :
L’instruction break fait sortir de la boucle.
break : peut être utilisée dans une boucle (for, while, ou
do .. while) pour arrêter le déroulement de la boucle et
passer à la première instruction qui la suit .

Exemple :

25

Langage C : Instructions break et continue

Instruction continue :
L’instruction continue fait passer la boucle à l’itération
suivante.
continue : peut être utilisée dans une boucle (for,
while, ou do .. while) pour abandonner l’itération
courante et passer à l’itération suivante.

Exemple :

26

13
Références Bibliographique

1. Dominic Grenier, Notes de cours « Circuits Logiques », Université LAVAL.


2. MAHBOUB Aziz, «Algorithmique et Programmation 1 », Tronc commun : MIP, MIPC,
FST de Tanger, Année Universitaire : 2019/2020.
3. A. El Mhouti, «Algorithmique et Programmation 1 », Tronc commun : MIP, FST
AL’Hocima.
4. Ben Hammouda Manel, «Architecture des ordinateurs », ISG Tunis.
5. « Cours d'initiation à l'informatique », Publié par Romain Bianchi.
6. SABATIER Fabienne, «TRANSMISSION DES DONNEES INFORMATIQUES ».
7. « Les opérations arithmétiques en binaire et les nombres binaires signés », Lycée
AGORA, Classe de BTS.
8. Cours d'initiation à l'informatique (https://slideplayer.fr/slide/3239116/)
9. Bessedik. I, Faculté de Médecine, Université d’Oran, Cours sur les Systèmes de
numération.
10.https://www.electronique-et-informatique.fr/Electronique-et-
Informatique/Digit/Proc_ordi/Systemes_numeriques.php
11.https://www.siloged.fr/cours/html/codage_info/codage_des_nombres_signs_et_dci
maux.html
12.…

27

14

Vous aimerez peut-être aussi