Académique Documents
Professionnel Documents
Culture Documents
Correction
Exercice1 : Calcul de salaire brut et net d’un employé
Algorithme CalculSalaire #include <stdio.h>
Constantes int main() {
TAUX_IMPOSITION = 0.25 // Constante pour le taux d'imposition
Variables const float TAUX_IMPOSITION =0.25;
heuresTravaillees, salaireHoraireBrut, salaireBrut, salaireNet, charges // Déclaration des variables
: Réel float heuresTravaillees, salaireHoraireBrut, salaireBrut, salaireNet,
Début charges;
Ecrire("Entrez le nombre d'heures travaillées ce mois : ") /* Demander à l'utilisateur le nombre d'heures travaillées et le salaire
Lire(heuresTravaillees) horaire brut*/
Ecrire("Entrez le salaire horaire brut : ") printf("Entrez le nombre d'heures travaill\202es ce mois : ");
Lire(salaireHoraireBrut) scanf("%f", &heuresTravaillees);
salaireBrut <- heuresTravaillees * salaireHoraireBrut printf("Entrez le salaire horaire brut : ");
charges <- salaireBrut * TAUX_IMPOSITION scanf("%f", &salaireHoraireBrut);
salaireNet <- salaireBrut - charges // Calcul du salaire brut
Ecrire("Salaire brut mensuel : " , salaireBrut) salaireBrut = heuresTravaillees * salaireHoraireBrut;
Ecrire("Salaire net mensuel : " , salaireNet) // Calcul du montant des charges
Fin charges = salaireBrut * TAUX_IMPOSITION;
Page 1 sur 8
Matière : Algorithmes et Structures de Données I
Classes : L _BD_1, L_GLSI_1 ET L_IMM_1
Enseignant responsable : Mr ben Rkaya Moez
Page 2 sur 8
Matière : Algorithmes et Structures de Données I
Classes : L _BD_1, L_GLSI_1 ET L_IMM_1
Enseignant responsable : Mr ben Rkaya Moez
Page 3 sur 8
Matière : Algorithmes et Structures de Données I
Classes : L _BD_1, L_GLSI_1 ET L_IMM_1
Enseignant responsable : Mr ben Rkaya Moez
Page 4 sur 8
Matière : Algorithmes et Structures de Données I
Classes : L _BD_1, L_GLSI_1 ET L_IMM_1
Enseignant responsable : Mr ben Rkaya Moez
Page 5 sur 8
Matière : Algorithmes et Structures de Données I
Classes : L _BD_1, L_GLSI_1 ET L_IMM_1
Enseignant responsable : Mr ben Rkaya Moez
Page 6 sur 8
Matière : Algorithmes et Structures de Données I
Classes : L _BD_1, L_GLSI_1 ET L_IMM_1
Enseignant responsable : Mr ben Rkaya Moez
1) 3)
int i = 10; int i = 0;
for(i = 0;i < 10; i++) while(i < 10);
printf("%d\n", i); i++;
Affiche les nombres de 0 à 9 (inclus) à la sortie printf("%d\n", i);
standard, chaque nombre étant suivi d'un retour à la boucle infinite
ligne. Notez bien la présence d'un point-virgule à la fin des
parenthèses de la boucle while, ce qui produira une
boucle infinie puisque i sera toujours inférieur à 10.
Sans le point-virgule, ce programme affichera le nombre
10.
2) 4)
int i = 0, j = 10; int i = 1;
do switch(i)
{ {
printf("%d\n", i); case 0 : puts("0");
i++; case 1 : puts("1");
j = i + j; case 2 : puts("2");
} while((i < 10) && (j <20)); default : printf("Good By");
Sortie du programme }
0 Sortie du programme
1 1
2 2
3 Good By
Lorsque i est égal à 1, il exécute la case case 1 et
affiche "1", puis passe à la case case 2 et affiche "2".
En l'absence d'instructions break, il continue d'exécuter
Page 7 sur 8
Matière : Algorithmes et Structures de Données I
Classes : L _BD_1, L_GLSI_1 ET L_IMM_1
Enseignant responsable : Mr ben Rkaya Moez
5)
int i;
for(i = 0;i < 10; i++)
;
printf("%d",i);
Sortie du programme
Affiche la valeur de la variable i après la boucle.
Cependant, il y a un point-virgule (;) vide après la
boucle for, ce qui signifie que la boucle est vide et ne
fait rien.
La boucle for s'exécute de 0 à 9 (10 itérations au total),
mais comme il n'y a pas d'instructions à l'intérieur de
la boucle, elle ne fait rien d'autre que d'incrémenter
i.
Donc, après l'exécution de la boucle, la valeur de i sera
10. Le programme affichera donc "10".
Haut du formulaire
Page 8 sur 8