Informatique - EMINES – Université Mohamed 6
TP N° 1 : Initiation à la programmation C
Exercice 1 :
Traduire l’algorithme suivant en C et expliquer le résultat.
algo affect1b
var a : entier
var b : entier
Début
b←5
a ← b+1
b←2
Fin
Exercice 2 :
Écrire un programme permettant d'inverser les valeurs de deux variables.
Exercice 3 :
Ecrire un programme qui lit une variable de type entier et qui affiche sa valeur ainsi que son carré.
CP-1A Page 1
Informatique - EMINES – Université Mohamed 6
Exercice 4 :
Ecrire un programme qui demande à l’utilisateur une variable et qui affiche sa table de
multiplication.
Exercice 5 : calcul de remise
A la caisse d'un supermarché, nous bénéficions d'une remise:
1% de remise pour un achat compris entre 300 et 750 euros
2% au delà de 750 euros
Exercice 6 : (Estimation du prix de revient d'un véhicule)
Il existe un barème pour l'évaluation du prix de revient kilométrique des véhicules. Écrire un
algorithme effectuant le calcul de ce prix en fonction de nb, nombre de kilomètres parcourus. Les
Règles :
Nb de km \ puissance fiscale 5cV 6cV
jusqu'à 5000 n1 * 0,43 (= p1) n * 0,47
de 5001 à 20000 (n2 * 0,23) + p1 (=p2) (n * 0,27) + 1000
au delà de 20000 (n3 * 0,28) + p2 n * 0,32
où n est le nombre total de kilomètres parcourus, n1 le nombre de kilomètres parcourus entre 0 et
5000, n2 le nombre de kilomètres parcourus entre 5001 et 20000 et n3 le nombre de kilomètre
parcourus au delà de 20000.
Exemple : si j'ai parcouru 8500 km, n=8500, n1=5000, n2=3500 et n3=0.
Exercice 7
Écrire un algorithme qui affiche la somme des n premiers entiers
Exercice 8 (Placement d'argent) :
Si l'on place somme en dirhams au 1 janvier de l'année anDepot à taux% (en accumulant les intérêts),
quelle va être la somme présente sur le compte le 1 janvier de de l'année anRetrait ?
CP-1A Page 2
Informatique - EMINES – Université Mohamed 6
Correction TP N° 1 : Algorithmique : les bases (donné en algorithmique à traduire en C)
Exercice 6 :
int main(int argc, char *argv[]) {
int pui;
int n;
float p;
printf("Nb de km \n");
scanf("%d",&n);
printf("Puissance \n");
scanf("%d",&pui);
if(pui==5)
{
if (n<=5000)
{
p=n*0.43;
}
else if (n>5000 && n<=2000)
{
p=(0.43*5000+(n-5000)*0.23);
}
else
{
p=(0.43*5000+15000*0.23+0.28*(n-20000));
}
}
else
{
if (n<=5000)
{
p=n*0.47;
}
else if (n>5000 && n<=20000)
{
p=1000+n*0.27;
}
else
{
p=n*0.32;
}
}
printf("prix de revient kilométrique=%f",p);
return 0;
}
Exrecice 7 :
algo SommeNPremierPour
var n : entier
var somme : entier
CP-1A Page 3
Informatique - EMINES – Université Mohamed 6
var i : entier
Début
n ← Lire()
Somme ← 0
Pour i de 1 à n Faire
Somme ← somme + i
Fin pour
Ecrire("La somme est: " + somme) Fin
Exercice 8 : Placement
algo Placement
var anDepot : entier
var anRetrait : entier
var taux : réel
var somme : réel
var i : entier
Début
Lire()anDepot
Lire()anRetrait
Lire()somme
Pour i de anDepot + 1 à anRetrait pas de 1 Faire
Somme ← somme * (1+taux)
Fin pour
Ecrire("Vous avez sur votre compte : " + somme)
Fin
CP-1A Page 4