Début
Réel euros, francs
obtenir euros
francs <- euros x 6,55956
afficher francs
Fin
Forme simple
instruction
si (condition)
instruction
...
instruction
finsi
instruction
Forme avec alternative
instruction
si (condition)
instruction
...
instruction
sinon
instruction
...
instruction
finsi
instruction
Exemple
Debut
Entier age, difference
obtenir age
si (age = 27)
afficher "27 ans ? hou la... fais attention !"
sinon
si (age < 27)
difference <- age - 27
afficher "Encore" difference "ans de tranquilité"
sinon
afficher "Le plus dur est passé"
finsi
finsi
afficher "Fin du programme"
Fin
Les conditions
Quand utiliser un test
instruction;
if (condition) {
instruction;
...
instruction;
}
instruction;
Opérateurs relationels :
Attention : ne pas confondre l'affectation et l'égalité
Et : &&
Ou : ||
int main(void) {
int age, difference;
printf("Entrez votre age: ");
scanf("%d", &age);
if (age == 27) {
printf("27 ans ? hou la... fais attention !\n");
} else {
if (age < 27) {
difference = 27 - age;
printf("Encore %d ans de tranquilite\n", difference);
} else {
printf("Le plus dur est passe\n");
}
}
printf("Fin du programme\n");
system("pause"); return 0;
}
pour compteur de expr_debut à expr_fin
instruction
...
instruction
finpour
Début
Entier i, debut, fin
obtenir debut
obtenir fin
pour i de debut à fin
afficher i
finpour
Fin
Si début=3 et fin=11, affichera 3 4 5 6 7 8 9 10 11
Début
Entier i, valeur, carre
pour i de 1 à 12
obtenir valeur
carre <- valeur x valeur
afficher "valeur au carre :" carre
finpour
Fin
Demandera 12 valeurs, et affichera à chaque fois le carré du nombre saisi
Chaque passage dans la boucle s'appelle une itération
Quand les utiliser
for (i=[debut] ; i<=[fin] ; i=i+1) {
instruction;
...
instruction;
}
for (j=3 ; j<=11 ; j=j+1) {
printf("%d ", j);
}
Entier i, debut, fin
obtenir debut
obtenir fin
pour i de debut à fin
afficher i
finpour
int i, debut, fin;
scanf("%d", &debut);
scanf("%d", &fin);
for (i=debut ; i<=fin ; i=i+1) {
printf("%d ", i);
}
Entier i, valeur, carre
pour i de 1 à 12
obtenir valeur
carre <- valeur x valeur
afficher "valeur au carre :" carre
finpour
int i, valeur, carre;
for (i=1 ; i<=12 ; i=i+1) {
scanf("%d", &valeur);
carre = valeur * valeur;
printf("valeur du carre : %d\n", carre);
}
Début
Entier n
n ⟵ 0
tant que ( (n * n) < 100)
n ⟵ n + 1
fintantque
afficher n
Fin
Mélange de "pour" et de "si"
On répète le bloc tant que la condition est vraie
tant que (condition)
instruction
...
instruction
fintantque
Quand les utiliser ?
while (condition) {
instruction;
...
instruction;
}
Quasi identique à "if"
Entier n
n ⟵ 0
tant que ( (n x n) < 100)
n ⟵ n + 1
fintantque
afficher n
int n;
n = 0;
while ( (n * n) < 100) {
n = n + 1;
}
printf("n vaut : %d\n", n);