Vous êtes sur la page 1sur 6

Matière Niveau

Initiation à la programmation en C 1ACP

TP-03
(Structures conditionnelles)

Partie I : Correction d’erreurs


Corriger les erreurs des programmes suivants :

Erreurs de compilation
1)

#include <stdio.h>
int main(){
int x = 0;
if(x>0){
printf("x est positif");
}elseif (x<0){
printf("x est negatif");
}else{
printf("x est null");
}
}

2)

#include <stdio.h>
int main(){
int x = 6;
if x>0
printf("%d est positif", x);
else
printf("%d est negatif", x);
}

3)

#include <stdio.h>
int main(){
int x = 6;
if (x%2 == 0);
printf("%d est pair", x);
else
printf("%d est impair", x);
}

4)
#include <stdio.h>
int main(){
float x = 10, y = 0;
if (y != 0){
float div = x/y;
}
printf("%f", div);
}

Page 1 sur 6
Matière Niveau

Initiation à la programmation en C 1ACP

Erreurs de logique
1)

#include <stdio.h>
int main() {
int x;
printf("Saisir un nombre SVP : ");
scanf("%d", &x);
if(x=0){
printf("x est nulle");
}else{
printf("x est non nulle");
}
}

2)

#include <stdio.h>
int main(){
int x = 0;
if(x=0){
printf("x est positif");
}else if (x<=0){
printf("x est négatif");
}else{
printf("x est null");
}
}

3)

#include <stdio.h>
int main(){
int heures_sup, heures_travaillees;
heures_travaillees = 30;
if(heures_travaillees<40)
printf("Vous n'avez pas d'heures suplementaires");
else
heures_sup = heures_travaillees - 40;
printf("Vous avez %d heures suplementaires", heures_sup);
}

Page 2 sur 6
Matière Niveau

Initiation à la programmation en C 1ACP

4)

#include <stdio.h>
int main(){
int x = -5;
if (x>0);
printf("%d est positif", x);
}

Partie II : Exécution de programmes


Qu’affichent les programmes suivants :

1)

#include <stdio.h>
int main(){
int x = 3;
if(x>=0){
printf("x est positif");
}else if (x==0){
printf("x est null");
}
}

2)

#include <stdio.h>
int main(){
int x = 0;
if(x=0){
printf("x nul");
}else{
printf("x est non nul");
}
}

3)

#include <stdio.h>
int main(){
int hs = 35;
if(hs<=40)
printf("Vous n’avez pas travaillez d’heures supplémentaires\n");
else
printf("Vous avez travaillez des heures supplémentaires\n");
printf("Nombre d’heures supplémentaires : %d\n", hs-40);
}

Page 3 sur 6
Matière Niveau

Initiation à la programmation en C 1ACP

Parties III : Exercices


1) Écrire un programme en C qui affiche le maximum de deux entiers saisis par l’utilisateur

2) Écrire un programme en C qui lit un nombre et détermine si ce nombre est pair ou impair

3) Écrire un programme en C qui affiche la valeur absolue d’un entier saisi par l’utilisateur

4) Écrire un programme en C qui affiche moyenne et la mention d’un étudiant. Les notes considérées
sont celles du français, des mathématiques et de l’informatique, sachant que le coefficient du
français est 3, celui des mathématiques est 5 et celui de l’informatique est 7.

La mention obtenue dépend de la moyenne obtenue, à savoir :


 16 <= Moyenne < 20 : Mention TRES BIEN
 14 <= Moyenne < 16 : Mention BIEN
 12 <= Moyenne < 14 : Mention ASSEZ BIEN
 10 <= Moyenne < 12 : Mention PASSABLE
 5 <= Moyenne < 10 : Mention INSUFFISANT
 0<= Moyenne < 5 : Mention TRES INSUFFISANT

5) Écrire un programme en C qui affiche le prix de N photocopies sachant que le prix est :

 0.50 DH par copie pour le public


 0.25 DH par copie pour les étudiants si le nombre de copie est inférieur ou égal à 1000.
 0.20 DH par copie pour les étudiants si le nombre de copie est supérieur à 1000.

6) Écrire un programme en C qui affiche la moyenne de trois notes saisies par l’utilisateur. Les notes
invalides ne sont pas prises en compte dans le calcul de la moyenne affiché. Une note est valide s’elle
appartient à l’intervalle [0,20].

Le programme doit afficher également le nombre de note invalide.

7) Écrivez un programme qui affiche la facture d’électricité d’un client. Le programme demande le
relevé précédent et le relevé actuel (en kWh). La différence entre les deux lectures donne la
consommation d'électricité. Les frais sont calculés en se basant sur le principe des tranches comme
illustré dans le tableau suivant :

Page 4 sur 6
Matière Niveau

Initiation à la programmation en C 1ACP

Affichez la consommation du client, le montant HT (hors taxe), le montant de la taxe qui de 7%, et le
montant total de la facture.

8) Écrivez un programme qui affiche la facture d’eau d’un client. Le programme demande le relevé
précédent et le rel evé actuel. La différence entre les deux lectures donne la consommation d’eau.
Les frais sont calculés en se basant sur le principe des tranches comme illustré dans le tableau
suivant :

Affichez la consommation du client, le montant HT (hors taxe), le montant de la taxe qui est de 7%, et
le montant total de la facture.

9) Fusionnez les programmes précédents en un seul programme

10) Un atelier de réparation automobile facture ses clients avec les frais suivants. L'inspection du
véhicule coûte 100 DH. Si le véhicule ne demande aucune une réparation, il n'y a pas de frais
supplémentaires. Dans le cas contraire, le coût est de 100 DH par heure (les minutes sont majorées.
Par exemple une heure et cinq minutes est considérée comme étant deux heures) pour la main-
d'œuvre plus le coût des pièces, avec un minimum de 200 DH. Dans le cas d’une réparation,
l'inspection du véhicule est gratuite.

Ecrivez un programme permettant de calculer et afficher les frais à payer en fonction du cas.

Page 5 sur 6
Matière Niveau

Initiation à la programmation en C 1ACP

11) Un magasin de chaussures offre un rabais de 50% sur la deuxième paire de chaussures si vous
acheter deux paires de chaussures et un rabais de 15% si vous acheter une seule paire de chaussures.
Si vous acheter deux paires de chaussures le rabais de 50% et appliqué sur la paire de chaussures la
moins chère.

Ecrivez un programme permettant de calculer et d’afficher le montant à payer en fonction du cas.

12) Ecrivez un programme qui demande à l’utilisateur de saisir l’année et affiche le nombre de jours du
mois de Février. Par exemple, 2004 devrait imprimer 29, 1900 devrait imprimer 28.

Une année bissextile, N, est divisible par 4. Cependant, si N est divisible par 100, il s'agit d'une année
bissextile uniquement s'il est également divisible par 400. Donc, 1900 n'est pas une année bissextile,
mais 2000 l'est.

13) Votre professeur de Math a mis en place, pour vous, le barème d’évaluation suivant :

 Quiz : 20%. La note du quiz est obtenue en calculant la moyenne des deux notes les plus
élevées des trois quiz passés ;
 Contrôle continu : 25% ;
 TP : 30% ;
 Examen final : 25%.

Ecrivez un programme permettant de calculer et d’afficher la note finale à partir des notes des
différentes évaluations.

Page 6 sur 6

Vous aimerez peut-être aussi