Génie Logiciel - Java (IGL245)
Thème :
Junior
1 vues ·9/10 leçonsCorrection : CC - IGL245 - 2026
Exercice 1 : Les Fichiers (Langage C)
Question 1 : Fichier Texte vs Binaire (2 pts)
- Fichier Texte : Stocke les données sous forme de caractères lisibles (ASCII/UTF-8). Chaque ligne se termine généralement par un caractère de fin de ligne.
- Exemple : Un fichier
.txtou.csv.
- Exemple : Un fichier
- Fichier Binaire : Stocke les données sous la même forme qu’elles sont représentées en mémoire RAM (suites de 0 et 1). Non directement lisible par un humain.
- Exemple : Un fichier exécutable
.exeou une image.png.
- Exemple : Un fichier exécutable
Question 2 : Modes d’Ouverture (2 pts)
"r": Lecture seule. Le fichier doit exister."w": Écriture seule. Écrase le contenu existant ou crée le fichier s’il n’existe pas."a": Ajout (Append). Écrit à la fin du fichier sans supprimer le contenu existant."r+": Lecture et écriture. Le fichier doit exister.- Réponse : Pour ajouter des produits sans perdre les anciens, on utilise le mode
"a".
Question 3 : Gestion des Erreurs (2 pts)
#include <stdio.h>
int main() {
FILE *fp = fopen("produits.txt", "a");
if (fp == NULL) {
printf("Erreur lors de l'ouverture du fichier.\n");
return 1;
}
// ... utilisation du fichier ...
fclose(fp);
return 0;
}
Exercice 2 : Listes Linéaires Chaînées (Langage C)
1. Définition de struct Node (1 pt)
struct Node {
int data;
struct Node* next;
};
2. Fonction push (Insertion au début) (2 pts)
void push(struct Node** head_ref, int new_data) {
struct Node* new_node = (struct Node*)malloc(sizeof(struct Node));
new_node->data = new_data;
new_node->next = (*head_ref);
(*head_ref) = new_node;
}
3. Implémentation complète (4 pts)
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node* next;
};
void insertAtHead(struct Node** head, int data) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->data = data;
newNode->next = *head;
*head = newNode;
}
int main() {
struct Node* head = NULL;
insertAtHead(&head, 10);
insertAtHead(&head, 20);
// Test d'affichage
struct Node* temp = head;
while(temp != NULL) {
printf("%d -> ", temp->data);
temp = temp->next;
}
printf("NULL\n");
return 0;
}
Exercice 3 : Introduction Java & POO (Langage Java)
Classe Livre (7 pts)
public class Livre {
// 1. Attributs privés (2 pts)
private String titre;
private String auteur;
private double prix;
// 2. Constructeur (2 pts)
public Livre(String titre, String auteur, double prix) {
this.titre = titre;
this.auteur = auteur;
this.prix = prix;
}
// 3. Méthode afficherDetails (2 pts)
public void afficherDetails() {
System.out.println("Livre : " + titre);
System.out.println("Auteur : " + auteur);
System.out.println("Prix : " + prix + " €");
}
// 4. Méthode main pour tester (1 pt)
public static void main(String[] args) {
Livre monLivre = new Livre("Le Petit Prince", "Antoine de Saint-Exupéry", 15.50);
monLivre.afficherDetails();
}
}
Prêt à passer à la suite ?
Vous avez terminé cette leçon sur Correction : CC - IGL245 - 2026. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.