Vous êtes sur la page 1sur 3

Année : 2019 / 2020

Travaux dirigés Prof : M.GHAILANI


(Les bases de la programmation) Page : 1/3

Exercice 1:
1. Ecrivez un programme qui calcule et affiche la surface d’un rectangle.
2. Ecrivez un programme qui calcule et affiche la surface d’un cercle.
Exercice 2 :
Ecrivez un programme qui demande à l’utilisateur de saisir un numéro entre 1et 12 et affiche ensuite le
mois correspondant.
Exercice 3 :
Ecrivez un programme qui lit trois variables x, y et z , calcule et affiche le maximum des trois variables
en utilisant if et switch.
Exercice 4:
Un magasin de reprographie facture 1 Dh les dix premières photocopies ; 0,5 Dhs les vingt suivantes et
0,25 Dhs au-delà.
Écrivez une fonction qui prend en entrée le nombre de photocopies et qui fournira le prix à payer.

Exercice 5:
Une entreprise, qui cible plusieurs secteurs dans le pays, paie ses employés selon la zone d’exercice
comme suit:
Zone Taux horaire (TH)
A (ville) 56,25 DH
B (compagne) 68,50 DH
C (Montagne) 82,00 DH
Le salaire net (SN) d’un employé est donc donné par la formule suivante: SN = SB – Retenue Avec: SB = VH
x TH (Salaire Brut) et Retenue = 1.9% du SB.
Ecrivez un programme qui demande le volume horaire (VH) et la zone d’exercice (caractère ‘A’, ‘B’ ou ‘C’)
d’un employé et qui affiche ensuite son SB, sa retenue et son SN.
Exercice 6 :
Qu’affichent les séquences d’instructions suivantes :
Séquence 1 Séquence 2 Séquence 3 Séquence 4
int x =3 ; int a ; int x=10 ; int a = 2 ;
while ( x > -3) int s=0 ; x++ ; int b ;
x =x -1; for(a=1 ;a<5 ; a=a+1) printf("%d ",x) ; a = a * 2 ; b = a ; a++ ; b++ ;
printf("%d",x); s+=a ; printf("a = %d , b = %d\n", b, a) ;
printf("%d",s);

Séquence 5 Séquence 6 Séquence 7 Séquence 8


int x=0; int x ; int i ; int a ;
for (;x <= 3;) { for (x=-3 ; x <= 0 ; ) int n=23 ; int s=10 ;
x =x +3 ; x =x +3 ; for (i=0 ; i<4; i++) for(a=1 ;a<3 ; a=a+1)
printf("%d",x); printf("%d",x); n=n- 5 ; s-=a ;
} printf("%d",n); printf("%d",s);
Séquence 9 Séquence 10
int age1=50, age2=30, tmp=0;
int b = 1 ; if (age1 > age2)
for (int a=-2 ; a < 2 ; a+=2) b += a ; tmp = age1 ;
printf("b=%d\n", b) ; age1 = age2 ;
age2 = tmp ;
if (age1 < 18) ; printf("mineur") ; printf ("(%d,%d)\n",age1,age2);
- 1-
Année : 2019 / 2020
Travaux dirigés Prof : M.GHAILANI
(Les bas de la programmation) Page : 2/3

Exercice 7 :

Ecrivez une fonction qui permet de saisir les notes d’une classe de n élèves et de retourner la moyenne de
la classe.
Exercice 8 :
1. Ecrivez une fonction qui permet de vérifier si un nombre entier N est premier ou pas.
2. Ecrivez un programme qui demande à l'utilisateur de saisir un entier n et affiche tous les nombres
premiers inférieurs à n.

Exercice 9:
Ecrivez une fonction qui vérifie si deux nombres A et B sont amis. (A et B sont amis si la somme des
diviseurs de A est égale à B et vice-versa).

Exercice 10:
1.Un entier N est dit parfait s'il est égal à la somme de ses diviseurs, sauf lui-même. Ecrivez une
fonction qui permet de vérifier si nombre est parfait. Exemple (6=1+2+3).
2. Ecrivez un programme permettant d'afficher la liste des nombres parfaits inférieurs à un nombre
saisi au clavier.

Exercice 11 :

Ecrivez un programme qui permet d’accomplir les tâches suivantes :

- lire la dimension N d'un tableau T du type int (dimension maximale: 50 composantes) ;


- remplir le tableau par des valeurs non nulles.
- Afficher à l’envers les éléments du tableau.
- Affichez la somme des éléments positifs

Exercice 12:

1. Ecrivez une fonction Apprtient(…), qui renvoie 1 ou 0, permettant de vérifier si un élément appartient
ou non à un tableau des entiers.
2. Ecrivez une fonction EstTrie(…), qui renvoie 1 ou 0, permettant de vérifier si un tableau est trié dans
l’ordre croissant ou pas.

Exercice 13:

On souhaite utiliser des tableaux de nombres entiers pour représenter des ensembles d'entiers. Par
exemple, l'ensemble {15, 11, 78, 46} sera représenté par le tableau T suivant:
15 11 78 46
On rappelle qu'un élément apparait au plus une fois dans un ensemble.

1) Ecrivez la fonction Remplir( ……) qui permet de saisir les éléments d’un tableau.
2) Ecrivez la fonction Afficher ( ……) à deux paramètres T et N qui affiche les éléments du tableau.
3) Ecrivez la fonction inclusion ( ……) qui, étant donnés deux ensembles, détermine si le premier est inclus
dans le second (si tous les éléments du premier sont dans le second).
4) Ecrivez une fonction Fusion_Tableaux ( ?) permettant de fusionner les éléments de deux tableaux T1 et
T2 (de dimensions respectives N1 et N2) triés par ordre croissant dans un troisième tableau FUS trié par
ordre croissant.
5) Ecrivez la fonction main() qui appelle les fonctions précédentes.
- 2-
Année : 2019 / 2020
Travaux dirigés Prof : M.GHAILANI
(Les bas de la programmation) Page : 3/3

Exercice 14 :
Ecrivez une fonction qui permet d’afficher le
triangle de PASCAL d’ordre N.
Code manquant
int main() {
Triange_Pascal(5);
}

Exercice 15 :
L’objectif de ce programme est la gestion des notes des étudiants. Le programme initialise une matrice de
N étudiants avec M notes par étudiant, puis calcule dans un tableau de taille N, la moyenne de chaque
étudiant. Les notes de l’étudiant i se trouvent à la ligne i de la matrice notes, alors que sa moyenne est dans
Moyennes[i].
1- Développez une fonction Saisie(….) permettant de saisir les notes des étudiants.
2- Développez une fonction Calcul_Moyennes(….) qui prend en paramètre la matrice des étudiants et
qui calcule et affiche leurs moyennes (Tableau Moyennes).
3- Développez une fonction Tri_bulle (….) permettant de trier le tableau Moyennes passé en
paramètres dans un ordre croissant.
4- Développez une fonction RecherchDichoto(….) permettant de rechercher une valeur et retourner
sa position dans le tableau Moyennes.
5- Développez une fonction Affich_Ajournes(…) qui affiche les étudiants ajournés (moyenne < 10)
6- Développez le programme principal faisant appel à ces fonctions.

Annexe :
Principe du tri à bulle :
Le tri à bulle consiste à comparer les éléments consécutifs et à les permuter si l'ordre recherché est violé
(les bulles légères remontent vers le haut).
Le tri peut se faire sur place et si aucune permutation n'a eu lieu on s’arrête car le tableau est trié

Principe de la recherche dichotomique :

Comparer la valeur recherchée à la valeur au milieu du tableau,


- s'il y a égalité ou si le tableau est épuisé, arrêter le traitement avec un message correspondant.
- si la valeur recherchée précède la valeur actuelle du tableau, continuer la recherche dans le demi-tableau
à gauche de la position actuelle.
- si la valeur recherchée suit la valeur actuelle du tableau, continuer la recherche dans le demi-tableau à
droite de la position actuelle.

- 3-

Vous aimerez peut-être aussi