Vous êtes sur la page 1sur 5

M3 PROGRAMMATION JAVA SERIE D’EXERCICES SYNTHESES

EXERCICES DE SYNTHESES EN JAVA

Exo1 :
Écrire un programme qui affiche le salaire brut d’un ouvrier sachant que les heures supplémentaires de 172
heures sont payées à 50% de tarifs d’horaire en plus?

Exo2 :
Calculer le montant de la facture d’un client ayant commandé une quantité d’un produit avec un prix unitaire
hors taxe Le taux de T.V.A est : 20%
Les frais de transport sont 0.8 DH de Km , Le client est disposé du frais de transport si le montant est
supérieur 4500 DH
Exo3 :
Une bibliothèque fait des réductions sur l’achat des livres :
25% pour les étudiants.
15% pour les enseignants
Écrire un programme qui calcule et affiche le prix à
payer selon le type du client?
Exo4 :
Un patron décide de calculer le montant de la participation au prix
du repas de ses employés de la façon suivante :
o S’il est célibataire : participation 20% du pris de repas.
o S’il est marie : participation 25% du pris de repas.
o S’il a des enfants : participation 10% supplémentaire par enfant.
La participation est plafonnée à 50%.
Si le salaire mensuel est inférieur à 6000 DH, la participation est majorée à 10%.

Exo5 :
Le représentant d’une société de distribution des produits d’affichage électroniques
sont rémunérés de façon suivante :
un fixe mensuel de 4000 DH
une commission a
pourcentage variable sur chaque tranche du chiffre d’affaire mensuel :
une commission de 5% pour un chiffre d’affaire compris entre 0 et 1000.
une commission de 10% pour un chiffre d’affaire compris entre 1000 et 3000.
une commission de 14% pour un chiffre d’affaire supérieur à 3000.
Écrire un programmr qui permet de calculer et afficher le montant total de la rémunération de chaque
représentant.

TSDI1 GC CFHN 2006/2007 1/5 PAR Mr AZZI


M3 PROGRAMMATION JAVA SERIE D’EXERCICES SYNTHESES

Exo6 :
Le service des prêts d’une bibliothèque à adopter le règlement suivant :

Tous les lecteurs de la catégorie A peuvent empreinter des livres pour une durée maximale de 20 jours.

Un lecteur de la catégorie B peut conserver des livres pour une durée maximale de 30 jours.
Un lecteur de la catégorie C peut conserver des livres pour une durée maximale de 45 jours.

Aucun lecteur ne pourra avoir en sa possession plus de 5


ouvrages.
Écrire un programme qui affiche la durée d’empreinte et est ce qu’il a le droit d’empreinter ?

Exo7 :
écrire un algorithme qui lit un entier N et imprime N ligne(s) ayant l'allure suivante :
*
**
***
….
A la ligne i, il y a i étoile(s)

Exo8 :
écrire un algorithme qui lit un entier N et imprime N ligne(s) ayant l'allure suivante :
*
***
*****
……………..

Exo9 :
écrire un algorithme qui lit une chaîne de caractères et imprime des lignes ayant l'allure suivante :
T
TU
TUR
TURB
TURBO

C'est la trace pour chaîne = "TURBO"

Exo 10 :
Donnez l ‘algorithme qui à partir d ‘un nombre compris entre 1 et 7 imprime le jour correspondant
(1 = Dimanche, 2 = Lundi, 3 = Mardi….)
Exo11 :
On souhaite écrire un programme Java de résolution dans R de
l'équation du second degré : Ax2 + Bx +C = 0

TSDI1 GC CFHN 2006/2007 2/5 PAR Mr AZZI


M3 PROGRAMMATION JAVA SERIE D’EXERCICES SYNTHESES

Exo 12 :
On dénomme nombre de Armstrong un entier naturel qui est égal à la somme des cubes des chiffres qui le
composent.
Exemple :
153=13+53+33
153 = 1 + 125 + 27, est un nombre de Armstrong.

Exo13 :
On souhaite écrire un programme java de calcul des n premiers
nombres parfaits. Un nombre est dit parfait s’il est égal à la somme de ses
diviseurs, 1 compris.
Exemple : 6 = 1+2+3 , est un nombre parfait.

Exo 14 :
On souhaite écrire un programme de calcul du pgcd de deux
entiers non nuls, en Java à partir de l’algorithme de la méthode d'Euclide.
Algo
Algorithme Pgcd
Entrée: a,b N* x N*
Sortie: pgcd N
Local: r,t N x N
début
lire(a,b);
Si ba Alors
t=a;
a=b;
b= t
Fsi;
Répéter
r = a mod b ;
a=b;
b=r
jusquà r = 0;
pgcd a;
ecrire(pgcd)
FinPgcd

class ApplicationEuclide {
public static void main(String[ ] args) {
……..
}
static int pgcd (int a, int b) { //méthode
……..
}
}

La méthode pgcd renvoie le pgcd des deux entiers p et q .


TSDI1 GC CFHN 2006/2007 3/5 PAR Mr AZZI
M3 PROGRAMMATION JAVA SERIE D’EXERCICES SYNTHESES

Exo 15 :
On souhaite écrire un programme de calcul du pgcd de deux entiers non nuls, en Java à partir de
l’algorithme de la méthode dite "Égyptienne " Voici une spécification de l'algorithme de calcul du PGCD de
deux nombres (entiers strictement positifs) p et q.

Algo :
Lire (p, q ) ;
Tantque p q faire
Si p > q alors
p=p–q
sinon
q=q–p
FinSi
FinTant;
Ecrire( " PGCD = " , p )

Exo 16 :
On souhaite écrire un programme Java de calcul et d'affichage
des n premiers nombres premiers. Un nombre entier est premier s’il n’est
divisible que par 1 et par lui-même On opérera une implantation avec des
boucles while et do...while.

Exo17 :
On souhaite écrire un programme Java de calcul et d'affichage
des n premiers nombres premiers. Un nombre entier est premier s’il n’est
divisible que par 1 et par lui-même. On opérera une implantation avec des
boucles for imbriquées.
Exo18 :
Test de pallindrome :vérifier si une chaine de caractères est pallindrome.
Première version :
Ecrire les méthode compresser et Inverser ,
La méthode compresser élimine les caractères non recevables comme : blanc, virgule, point et
apostrophe de la String s passée en paramètre.
La méthode Inverser construira une chaîne locale à la méthode caractère par caractère avec une boucle for à
un seul indice.
Deuxième version : utiliser un tableau.
Exo 19 :
Ecrire un programme Java effectuant une recherche séquentielle
dans un tableau linéaire (une dimension) non trié.
Exo 20 :
Ecrire les programmes qui permettent de calculer les sommes suivantes, en utilisant les schémas : pour,
tant que et répéter :
• S1= 3+6+9+…+n
• S2= 2+4+6+…+n
• S3=1 !+2 !+3 !+….+n !
• S4=1/1 !+1/2 !+1/3 !+…+1/n !
• S5=n !/((p !*(n-p) !)
TSDI1 GC CFHN 2006/2007 4/5 PAR Mr AZZI
M3 PROGRAMMATION JAVA SERIE D’EXERCICES SYNTHESES

Exo 20 :
Compter de 5 en 5
Ecrire un programme qui compte de 5 en 5 de 0 jusqu'à 100 puis affiche la somme des
nombres trouvés.

Exo 21 :
Minimum, maximum et somme
Ecrire un programme qui place 3 nombres passés en paramètres dans un tableau, puis calcule et affiche le
minimum, le maximum et la somme de ces nombres.

Exo 22 :
Ecrire un programme qui lit le nombre entier entre 1 et 12 passés en paramètre et qui affiche le nom du mois
correspondant.
On pourra utiliser un tableau ou l'instruction switch.

Exo23 :
Concevoir un programme permettant de calculer le salaire net d’un employé sachant que ce dernier et
constitué des valeurs suivantes :
Le salaire de base (SB), une prime (P), une retenue (R) tel que :
SB= nombre d’heures * taux horaire
P= taux de prime *SB
R= taux de retenue*SB
Exo 24:
Ecrire un algorithme qui permet de remplir un tableau M de deux dimensions (trois lignes et cinq
colonnes) avec les nombres de 1 à 15.
Exo 25 :
Ecrivez un algorithme qui trie un tableau dans l’ordre décroissant.
Vous écrirez bien entendu deux versions de cet algorithme, l'une employant le tri par sélection, l'autre
le tri à bulles.
Exo 26 :
Le président d'un Club sportif a soumis chaque joueur du club à un questionnaire, lui demandant de
citer trois de ses coéquipiers qu'il juge les plus utiles pour le club. au point de vue motivation. On
propose de stocke les réponses dans des tableaux.
Les tableaux doivent contenir comme informations
• Le nom du joueur ayant répondu au questionnaire (le nombre des joueurs est 31 ) ;
• Les noms des trois joueurs choisis par le précédent.
Travail à faire :
1. Déclarer les tableaux nécessaires pour l'application
Ecrire les algorithmes permettant de :
2. Saisir le nom et: les réponses de chaque joueur.
3. Chercher et afficher les joueurs ayant choisi un Joueur donné, dont on saisit le nom au clavier.
4. Trier la liste des joueurs par ordre alphabétique
5. Calculer dans un nouveau tableau pour chaque joueur le nombre de votes qu'il a reçus.
6. Trier la liste des joueurs par ordre décroissant du nombre de votes reçus.
7. Afficher la liste des joueurs qui ont reçu plus que 10 votes (Nom joueur.
Nombre de votes).
TSDI1 GC CFHN 2006/2007 5/5 PAR Mr AZZI