Prrogramation C "Exercice
Prrogramation C "Exercice
Prrogramation C "Exercice
T Info &
IDSD Année 2022-2023
Matière :Programmation (Langage C)
Atelier1 Langage C
Exercice 1: Les étudiants ayant passé l'examen du module M4 en session de Janvier ont été
classés selon leurs notes en trois catégories :
- pour une note inférieure strictement à 6, l'étudiant est éliminé,
- pour une note supérieure ou égale à 6 et inférieure strictement à 12, l'étudiant passe la
session de rattrapage,
- pour une note supérieure ou égale à 12, l'étudiant valide le module
Ecrivez un programme qui demande à l’utilisateur d’entrer la note du module, puis affiche la
situation de l'étudiant selon sa note (on suppose que l'utilisateur entre une note valide
entre 0 et 20).
Exercice 2: Dans le championnat de foot marocain (qui comporte 16 équipes) les deux
premières équipes sont qualifiées pour la ligue des champions africaine, les deux suivants (le
troisième et le quatrième) sont qualifiés pour la ligue des champions arabes, les trois
dernières équipes descendent en deuxième division, et les autres restent en première
division.
• Ecrire un programme qui demande le classement d’une équipe du championnat de
foot marocain. Ensuite, il nous informe de sa situation pour l’année prochaine.
Exercice 3 : Un nombre parfait est un entier positif supérieur à 1, égal à la somme de ses
diviseurs ; on ne compte pas comme diviseur le nombre lui-même.
Exemple : 6 est un nombre parfait puisque : 6 = 3 + 2 + 1.
• Ecrire un programme qui nous dit si un entier n est parfait ou non.
Exercice 4: 1. Un nombre entier P (différent de 1) est dit premier si ses seuls diviseurs
positifs sont 1 et P. Ecrivez un programme qui effectue la lecture d’un entier P et détermine
si cet entier est premier ou non.
2. Deux nombres entiers N et M sont qualifiés d’amis, si la somme des diviseurs de N est
égale à M et la somme des diviseurs de M est égale à N(on ne compte pas comme diviseur
le nombre lui même et 1).
Exemple : les nombres 48 et 75 sont deux nombres amis puisque :
Les diviseurs de 48 sont : 2, 3, 4, 6, 8, 12, 16, 24 et 2 + 3 + 4 + 6 + 8 + 12 + 16 + 24 = 75
Les diviseurs de 75 sont : 3, 5, 15, 25 et
3 + 5 + 15 + 25 = 48.
• Ecrire un programme qui permet de déterminer si deux entiers n et m sont amis ou
non.
Exercice 5: On désire écrire un programme qui affiche l’image miroir N’ d’un nombre
entier N.
Exemple : l’image miroir du nombre N=54321 est N’=12345.
Exercice 6: Ecrire un programme qui met à zéro les éléments de la diagonale principale
d'une matrice carrée A donnée.
Exercice 7: Soit T un tableau qui contient n valeurs réelles. Ecrire un programme qui lit
l’entier n (la taille de T), le tableau T, ensuite le programme affiche si les éléments du
tableau T sont tous consécutifs ou non.
Exemples :
1. Soit le tableau T1 de 8 éléments :
9 10 11 12 13 14 15 16
Le programme affiche : les éléments du tableau T1 sont consécutifs.
2. Soit le tableau T2 de 6 nombres :
5 10 40 66 99 112
Le programme affiche : les éléments du tableau T2 ne sont pas consécutifs.
Exercice 8: Ecrire un programme qui construit et affiche une matrice carrée unitaire U
de dimension N. Une matrice unitaire est une matrice, telle que:
/ 1 si i=j
uij =|
\ 0 si ij
• La matrice transposée sera mémorisée dans une deuxième matrice B qui sera
ensuite affichée.
Exercice 10: Rechercher dans une matrice donnée A les éléments qui sont à la
fois un maximum sur leur ligne et un minimum sur leur colonne. Ces éléments
sont appelés des points-cols. Afficher les positions et les valeurs de tous les
points-cols trouvés
Méthode: Etablir deux matrices d'aide MAX et MIN de même dimensions que A, telles
que:
Exercice 12: Une boulangerie est ouverte de 7 heures à 13 heures et de 16 heures à 20 heures, sauf le
lundi après-midi et le mardi toute la journée. On suppose que l'heure h est un entier entre 0 et 23. Le
jour j code 0 pour lundi, 1 pour mardi, etc.
TD : Ecrire l'expression correspondante, en essayant de trouver la plus courte.
Ecrire l’algorithme qui demande le jour et l'heure, puis affiche si la boulangerie est
ouverte. TP : Donner le programme C qui traduit exactement votre algorithme.
Exercice 13: Pour vérifier la validité d'un numéro, tel que celui des cartes bancaires, des cartes SNCF,
… un algorithme a été développé. Cet algorithme consiste à prendre chaque chiffre du numéro, le
multiplier par deux s'il est pair et on additionne chaque chiffre ainsi obtenu. Si le résultat est un
multiple de 10, le numéro est valide.
Donner l’algorithme détaillé qui permet de lire un tel numéro et afficher s’il est valide ou non
(TP) et écrire le programme C qui implémente cet algorithme (TP).
Exemple : numéro : 145789 → 1+(2*4)+5+7+(8*2)+9 = 46 → numéro non valide
numéro : 34861 → 3+(2*4)+(8*2)+(6*2)+1 = 40 → numéro valide
Exercice 14: Parmi tous les entiers > 100, seuls quatre entiers peuvent être représentés par la somme
des cubes de leurs de chiffres. Par exemple 153 = 1*1*1 + 5*5*5 + 3*3*3.
Ecrire un programme C qui permet de trouver tous les nombres d’AMSTRONG. Le programme
doit commencer par l’affichage du message "Les nombres d’AMSTRONG sont :" et se terminer
par l’affichage du message "Fin des nombres d’AMSTRONG".
Ecrire le programme C qui permet de calculer une approximation de e en utilisant p termes de la série.
Le calcul doit s’arrêter quand (1) on arrive p=100 ou bien (2) la valeur absolue de la différence entre
les deux dernières valeurs calculées est inférieure strictement à 10-2.