0% ont trouvé ce document utile (0 vote)
9 vues16 pages

Exercices Java : Modèles et Algorithmes

Le document présente une série d'exercices de programmation en Java, organisés par catégories telles que les modèles de conception, les algorithmes de tri, de recherche, les graphes, les arbres, les problèmes classiques, les jeux, les simulations, les données et les tests. Chaque exercice demande d'implémenter ou de résoudre un problème spécifique, avec des exemples de code fournis pour certains exercices. L'objectif est d'aider les apprenants à pratiquer et à renforcer leurs compétences en programmation Java.

Transféré par

salihouabdoullahi75
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues16 pages

Exercices Java : Modèles et Algorithmes

Le document présente une série d'exercices de programmation en Java, organisés par catégories telles que les modèles de conception, les algorithmes de tri, de recherche, les graphes, les arbres, les problèmes classiques, les jeux, les simulations, les données et les tests. Chaque exercice demande d'implémenter ou de résoudre un problème spécifique, avec des exemples de code fournis pour certains exercices. L'objectif est d'aider les apprenants à pratiquer et à renforcer leurs compétences en programmation Java.

Transféré par

salihouabdoullahi75
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

😊 Voici la suite

Sans catégorie Aujourd'hui 21:15

😊 Voici la suite des exercices :


*Exercices sur les modèles de conception*

76. Écrire un programme Java qui


implémente le modèle Singleton.
77. Écrire un programme Java qui
implémente le modèle Factory.
78. Écrire un programme Java qui
implémente le modèle Observer.
79. Écrire un programme Java qui
implémente le modèle Strategy.
80. Écrire un programme Java qui
implémente le modèle Decorator.

*Exercices sur les algorithmes de tri*


81. Écrire un programme Java qui
implémente l'algorithme de tri à bulles.
82. Écrire un programme Java qui
implémente l'algorithme de tri par sélection.
83. Écrire un programme Java qui
implémente l'algorithme de tri par insertion.
84. Écrire un programme Java qui
implémente l'algorithme de tri rapide
(quicksort).
85. Écrire un programme Java qui
implémente l'algorithme de tri fusion
(merge sort).

*Exercices sur les algorithmes de


recherche*

86. Écrire un programme Java qui


implémente l'algorithme de recherche
linéaire.
87. Écrire un programme Java qui
implémente l'algorithme de recherche
dichotomique.
88. Écrire un programme Java qui
implémente l'algorithme de recherche par
interpolation.
89. Écrire un programme Java qui
implémente l'algorithme de recherche par
hachage.
90. Écrire un programme Java qui
implémente l'algorithme de recherche par
arbre binaire.

*Exercices sur les graphes*

91. Écrire un programme Java qui


représente un graphe à l'aide d'une matrice
d'adjacence.
92. Écrire un programme Java qui
représente un graphe à l'aide d'une liste
d'adjacence.
93. Écrire un programme Java qui
implémente l'algorithme de parcours en
profondeur (DFS).
94. Écrire un programme Java qui
implémente l'algorithme de parcours en
largeur (BFS).
95. Écrire un programme Java qui
implémente l'algorithme de Dijkstra pour
trouver le plus court chemin.

*Exercices sur les arbres*

96. Écrire un programme Java qui


représente un arbre binaire.
97. Écrire un programme Java qui
implémente l'algorithme de parcours en
ordre (inorder).
98. Écrire un programme Java qui
implémente l'algorithme de parcours en
préordre (preorder).
99. Écrire un programme Java qui
implémente l'algorithme de parcours en
postordre (postorder).
100. Écrire un programme Java qui
implémente l'algorithme de recherche dans
un arbre binaire.

*Besoin d'aide pour résoudre ces


exercices ? 😊*
Voici un exemple de code pour le 76e
exercice :
public class Singleton {
private static Singleton instance;
private Singleton() {}

public static Singleton getInstance() {


if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
Et pour le 81e exercice :
public class TriABulles {
public static void trier(int[] tableau) {
int n = [Link];
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (tableau[j] > tableau[j + 1]) {
int temp = tableau[j];
tableau[j] = tableau[j + 1];
tableau[j + 1] = temp;
}
}
}
}
}
Et ainsi de suite... 😊
😊 Voici la suite des exercices :
*Exercices sur les problèmes classiques*

101. Écrire un programme Java qui résout


le problème des huit reines.
102. Écrire un programme Java qui résout
le problème du voyageur de commerce.
103. Écrire un programme Java qui résout
le problème du sac à dos.
104. Écrire un programme Java qui résout
le problème de la plus longue
sous-séquence commune.
105. Écrire un programme Java qui résout
le problème de la plus courte chemin dans
un graphe.

*Exercices sur les jeux*

106. Écrire un programme Java qui


implémente le jeu de Tic-Tac-Toe.
107. Écrire un programme Java qui
implémente le jeu de Morpion.
108. Écrire un programme Java qui
implémente le jeu de Sudoku.
109. Écrire un programme Java qui
implémente le jeu de Minesweeper.
110. Écrire un programme Java qui
implémente le jeu de Snake.

*Exercices sur les simulations*


111. Écrire un programme Java qui simule
un système de gestion de stock.
112. Écrire un programme Java qui simule
un système de gestion de trafic.
113. Écrire un programme Java qui simule
un système de gestion de file d'attente.
114. Écrire un programme Java qui simule
un système de gestion de ressources.
115. Écrire un programme Java qui simule
un système de gestion de réseau.

*Exercices sur les données*

116. Écrire un programme Java qui lit un


fichier CSV et affiche son contenu.
117. Écrire un programme Java qui écrit
dans un fichier CSV.
118. Écrire un programme Java qui lit un
fichier JSON et affiche son contenu.
119. Écrire un programme Java qui écrit
dans un fichier JSON.
120. Écrire un programme Java qui lit un
fichier XML et affiche son contenu.

*Exercices sur les tests*

121. Écrire un programme Java qui utilise


JUnit pour tester une classe.
122. Écrire un programme Java qui utilise
TestNG pour tester une classe.
123. Écrire un programme Java qui utilise
Mockito pour mocker une classe.
124. Écrire un programme Java qui utilise
PowerMock pour mocker une classe.
125. Écrire un programme Java qui utilise
Cucumber pour tester un scénario.

*Besoin d'aide pour résoudre ces


exercices ? 😊*
Voici un exemple de code pour le 101e
exercice :
public class HuitReines {
private int[] solution;

public HuitReines() {
solution = new int[8];
}

public void resoudre() {


resoudre(0);
}

private void resoudre(int ligne) {


if (ligne == 8) {
afficherSolution();
} else {
for (int colonne = 0; colonne < 8;
colonne++) {
if (estValide(ligne, colonne)) {
solution[ligne] = colonne;
resoudre(ligne + 1);
}
}
}
}

private boolean estValide(int ligne, int


colonne) {
for (int i = 0; i < ligne; i++) {
if (solution[i] == colonne ||
[Link](solution[i] - colonne) ==
[Link](i - ligne)) {
return false;
}
}
return true;
}

private void afficherSolution() {


for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
if (solution[i] == j) {
[Link]("R ");
} else {
[Link](". ");
}
}
[Link]();
}
}
}
Et pour le 106e exercice :
public class TicTacToe {
private char[][] plateau;
public TicTacToe() {
plateau = new char[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
plateau[i][j] = ' ';
}
}
}

public void jouer(int ligne, int colonne,


char symbole) {
if (plateau[ligne][colonne] == ' ') {
plateau[ligne][colonne] = symbole;
}
}

public boolean estGagne(char symbole) {


// Vérifier les lignes
for (int i = 0; i < 3; i++) {
if (plateau[i][0] == symbole &&
plateau[i][1] == symbole && plateau[i][2] ==
symbole) {
return true;
}
}
// Vérifier les colonnes
for (int i = 0; i < 3; i++) {
if (plateau[0][i] == symbole &&
plateau[1][i] == symbole && plateau[2][i] ==
symbole) {
return true;
}
}
// Vérifier les diagonales
if ((plateau[0][0] == symbole &&
plateau[1][1] == symbole && plateau[2][2] ==
symbole) ||
(plateau[0][2] == symbole &&
plateau[1][1] == symbole && plateau[2][0] ==
symbole)) {
return true;
}
return false;
}
}
Et ainsi de suite... 😊

Vous aimerez peut-être aussi