Épreuve Théorique
Baccalauréat Informatique
Série Révision & Corrigés Détaillés

Recueil d’Exercices de Synthèse : Algorithmique et Programmation

📑 Sommaire

⚠️ Remarque importante sur l’évaluation

Une pénalité de -0.25 point sera appliquée pour toute erreur de syntaxe, d’oubli de passage de paramètre par variable (@), ou d’incohérence dans les tableaux de déclaration (TDNT, TDOG, TDOL).

Exercice 1 : Le numérique et les réseaux (Data Center)

1. Contexte

Matrice M(L,C) « 1A » « 08 » « FF » « 0C » Tableau T (Records) Id_Hex : « 1A » Id_Dec : 26 Cle : PGCD(26, K) Tri & Recherche Décroissant Dichotomique

Dans un centre de données (Data Center), les informations circulent sous forme de paquets à travers une grille de routeurs. Pour identifier, sécuriser et optimiser ce trafic, chaque routeur est doté d’un identifiant hexadécimal de 2 caractères. L’administrateur doit extraire ces identifiants à partir d’une matrice, calculer des clés de routage à l’aide de calculs arithmétiques, trier les routeurs par priorité, puis évaluer la fiabilité globale du réseau via une approximation mathématique.

On définit le type enregistrement Routeur :

  • Id_Hex : chaîne (identifiant hexadécimal du routeur).
  • Id_Dec : entier (identifiant converti en base 10).
  • Cle_Routage : entier (clé de priorité calculée).

2. Contraintes de validité (contrôles de saisie)

  • Dimensions de la matrice : 3 ≤ L ≤ 10 et 3 ≤ C ≤ 10.
  • Élément de la matrice : chaîne de taille exacte 2, composée exclusivement de chiffres (0-9) ou de lettres majuscules (A-F).
  • Clé réseau maître K : entier positif vérifiant K ≥ 2.

3. Travail demandé

  1. Écrire un module pour saisir et contrôler les dimensions L et C, puis remplir la matrice M(L, C) par des identifiants valides.
  2. Transférer les éléments de M vers un tableau d’enregistrements T de taille N = L × C.
  3. Saisir la clé K, puis calculer Cle_Routage = PGCD(Id_Dec, K).
  4. Trier le tableau T dans l’ordre décroissant selon le champ Cle_Routage.
  5. Effectuer une recherche dichotomique d’une clé cible X.
  6. Calculer et afficher une valeur approchée de la constante e jusqu’à ce que 1/n! < 10-4.

4. Simulateur interactif

🧪 Simulateur pas à pas : Matrice M(3,3) → Tableau T → Tri → Recherche → e


Exercice 2 : Le numérique et les réseaux (NetCarthage)

1. Contexte

Adresse IPv4 192.168.1.10 Conversions Bin : 11000000… Hex : C0.A8.01.0A Postes & Débits Tri & Dichoto

L’entreprise NetCarthage supervise un réseau local de postes de travail. Les opérations consistent à analyser une matrice d’octets relevés sur le réseau, convertir les adresses IPv4 en binaire et hexadécimal pour diagnostic, gérer les caractéristiques de chaque poste, et enfin évaluer la capacité d’un canal par une approximation de $\ln(2)$.

On définit le type enregistrement Poste :

  • Nom : chaîne (nom du poste de travail).
  • Debit : entier (débit en Mbit/s).
  • NbPaq : entier (nombre de paquets reçus).

2. Contraintes de validité (contrôles de saisie)

  • Dimensions de la matrice : 2 ≤ L ≤ 30 et 2 ≤ C ≤ 30.
  • Octet de la matrice : 0 ≤ valeur ≤ 255.
  • Nombre de postes n : 1 ≤ n ≤ 30.
  • Débit : 1 ≤ Debit ≤ 1000.
  • Nombre de paquets NbPaq : 1 ≤ NbPaq ≤ 100000.
  • Précision ε : 0 < ε < 1.

3. Travail demandé

  1. Remplir avec contrôle une matrice M(L, C) par des entiers compris entre 0 et 255.
  2. Écrire deux fonctions de conversion d’un entier n (0..255) : DecBin(n) (8 bits) et DecHex(n) (2 car).
  3. Saisir les 4 octets d’une adresse IPv4, puis afficher l’adresse en décimal pointé, en binaire et en hexadécimal.
  4. Remplir un tableau P de n postes (indices 0 à n-1) avec contrôle.
  5. Saisir les indices de deux postes et afficher le PGCD et le PPCM de leurs débits respectifs.
  6. Trier le tableau P dans l’ordre croissant selon le champ Debit par le tri par insertion.
  7. Rechercher par dichotomie un poste ayant un débit d donné.
  8. Calculer et afficher une valeur approchée de $\ln(2)$ par la série alternée, avec arrêt dès que 1/k < ε:
    ln(2) = 1 – 1/2 + 1/3 – 1/4 + …

4. Simulateur interactif

. . .

Exercice 3 : Le numérique et les réseaux (SmartVille)

1. Contexte

La plateforme municipale SmartVille collecte les indices de qualité de l’air transmis par un réseau de capteurs IoT. Les relevés sont stockés dans une matrice, les capteurs sont identifiés numériquement (convertis pour inspection), et un modèle de diffusion atmosphérique nécessite une estimation approchée du nombre e.

On définit le type enregistrement Station :

  • Nom : chaîne (nom de la station).
  • Mesure : entier (indice de pollution).
  • Ident : entier (identifiant 1..255 codé sur un octet).

2. Contraintes de validité (contrôles de saisie)

  • Dimensions de la matrice : 2 ≤ L ≤ 20 et 2 ≤ C ≤ 20.
  • Indice de pollution dans la matrice : 0 ≤ valeur ≤ 500.
  • Nombre de stations n : 1 ≤ n ≤ 20.
  • Mesure d’une station : 1 ≤ Mesure ≤ 500.
  • Identifiant d’une station : 1 ≤ Ident ≤ 255.
  • Précision ε : 0 < ε < 1.

3. Travail demandé

  1. Remplir avec contrôle la matrice M(L, C) par les indices de pollution.
  2. Saisir un identifiant de station (1..255) et afficher sa valeur en décimal, binaire (8 bits) et hexadécimal (2 caractères).
  3. Remplir un tableau P de n stations (indices 0 à n-1).
  4. Saisir deux indices de stations et afficher le PGCD et le PPCM de leurs mesures.
  5. Trier le tableau P dans l’ordre croissant selon le champ Mesure (tri par insertion).
  6. Rechercher par dichotomie une station possédant la mesure d.
  7. Approximer le nombre e par la série des factorielles en utilisant la relation récurrente 1/k! = (1/(k-1)!) / k, jusqu’à ce que 1/k! < ε :
    e = 1 + 1/1! + 1/2! + 1/3! + …

4. Exemple d’exécution détaillé

A. Matrice des mesures M (L=3, C=4)
L0: 120, 0, 45, 300
L1: 255, 180, 90, 12
L2: 500, 78, 220, 1

B. Conversion d’identifiant
Identifiant = 200 → Binaire = 11001000, Hexadécimal = C8.

C. Tableau P de n=5 stations (ordre initial)
P[0] = {Nom: « Capteur_A », Mesure: 96, Ident: 200}
P[1] = {Nom: « Capteur_B », Mesure: 250, Ident: 150}
P[2] = {Nom: « Capteur_C », Mesure: 48, Ident: 77}
P[3] = {Nom: « Capteur_D », Mesure: 120, Ident: 31}
P[4] = {Nom: « Capteur_E », Mesure: 360, Ident: 255}

D. Arithmétique (indices 0 et 4)
Mesures: 96 et 360. PGCD(96, 360) = 24. PPCM(96, 360) = (96 × 360) / 24 = 1440.

E. Tri croissant sur Mesure
P[0] = {Nom: « Capteur_C », Mesure: 48, Ident: 77}
P[1] = {Nom: « Capteur_A », Mesure: 96, Ident: 200}
P[2] = {Nom: « Capteur_D », Mesure: 120, Ident: 31}
P[3] = {Nom: « Capteur_B », Mesure: 250, Ident: 150}
P[4] = {Nom: « Capteur_E », Mesure: 360, Ident: 255}

F. Recherche dichotomique (d = 250)
Intervalle [0..4]: m = 2 (Mesure = 120). 250 > 120 → début = 3. Intervalle [3..4]: m = 3 (Mesure = 250). Trouvé à l’indice 3.

G. Approximation de e (ε = 10⁻⁴)
k=1: terme=1 (S=2) ; k=2: terme=0.5 (S=2.5) ; k=3: terme=0.16667 (S=2.66667)… Arrêt à k=8 car 1/8! ≈ 0.000025 < 10⁻⁴. Résultat ≈ 2.7183.

5. Simulateur interactif

🧪 Simulateur : SmartVille


Exercice 4 : Intelligence Artificielle (DeepCarthage)

1. Contexte

La startup DeepCarthage développe un réseau de neurones pour la reconnaissance d'images numérisées. Les pixels de chaque image forment une matrice, les modèles d'IA possèdent un identifiant de diagnostic, et l'algorithme d'optimisation utilise le nombre π approché par une série numérique.

On définit le type enregistrement Modele :

  • Nom : chaîne (nom de la variante du modèle).
  • Score : entier (score de précision sur 1000).
  • NbEpoques : entier (nombre de passes d'entraînement).

2. Contraintes de validité (contrôles de saisie)

  • Dimensions de la matrice : 2 ≤ L ≤ 30 et 2 ≤ C ≤ 30.
  • Pixel de la matrice : 0 ≤ valeur ≤ 255.
  • Nombre de modèles n : 1 ≤ n ≤ 30.
  • Score : 1 ≤ Score ≤ 1000.
  • NbEpoques : 1 ≤ NbEpoques ≤ 100000.
  • Identifiant d'un modèle : 1 ≤ Ident ≤ 255.
  • Précision ε : 0 < ε < 1.

3. Travail demandé

  1. Remplir avec contrôle la matrice de pixels M(L, C).
  2. Saisir un identifiant de modèle (1..255) et afficher sa conversion en binaire et hexadécimal.
  3. Remplir un tableau P de n modèles (indices 0 à n-1).
  4. Saisir deux indices de modèles et afficher le PGCD et le PPCM de leurs scores.
  5. Trier le tableau P dans l'ordre croissant selon le champ Score (tri par insertion).
  6. Rechercher par dichotomie un modèle ayant le score d.
  7. Calculer et afficher une valeur approchée de π par la série de Leibniz, avec arrêt dès que 1/(2k-1) < ε, en multipliant la somme par 4 :
    π / 4 = 1 - 1/3 + 1/5 - 1/7 + ...

4. Exemple d'exécution détaillé

A. Matrice des pixels M (L=3, C=4)
L0: 0, 128, 255, 64
L1: 32, 0, 192, 10
L2: 255, 200, 1, 128

B. Tableau P de n=5 modèles (ordre initial)
P[0] = {Nom: "Modele_A", Score: 960, NbEpoques: 200}
P[1] = {Nom: "Modele_B", Score: 720, NbEpoques: 150}
P[2] = {Nom: "Modele_C", Score: 108, NbEpoques: 77}
P[3] = {Nom: "Modele_D", Score: 480, NbEpoques: 310}
P[4] = {Nom: "Modele_E", Score: 900, NbEpoques: 255}

C. Arithmétique (indices 0 et 3)
Scores : 960 et 480. PGCD(960, 480) = 480. PPCM(960, 480) = (960 × 480) / 480 = 960.

D. Tri croissant selon Score
P[0] = {Nom: "Modele_C", Score: 108, NbEpoques: 77}
P[1] = {Nom: "Modele_D", Score: 480, NbEpoques: 310}
P[2] = {Nom: "Modele_B", Score: 720, NbEpoques: 150}
P[3] = {Nom: "Modele_E", Score: 900, NbEpoques: 255}
P[4] = {Nom: "Modele_A", Score: 960, NbEpoques: 200}

E. Recherche dichotomique (d = 720)
Intervalle [0..4] : m = 2 (Score = 720). Égalité immédiate : le modèle est trouvé à l'indice 2 (Modele_B).

F. Approximation de π (ε = 10⁻³)
k=1: +1 → S=1 ; k=2: -1/3 → S=0.6667 ; k=3: +1/5 → S=0.8667. Arrêt dès que 1/(2k-1) < 0.001 (k=501). Somme partielle ≈ 0.7849. Résultat final : π ≈ 4 × 0.7849 = 3.1396.

5. Simulateur interactif

🧪 Simulateur : DeepCarthage