Adloun

Corrigé Banque PT 2026 Informatique et modélisation PT — Partie 2.3 (Q37 à Q44) : Requêtes SQL, profil de Munk et recherche dichotomique du canal SOFAR

Sujet officiel du concours Banque PT, session 2026, épreuve Informatique et modélisation PT. Corrigé rédigé par Ibrahim Alame.

Sujet officiel (PDF, site du concours)

Énoncé

Base de données.

Trois tables :

Q37. Requête SQL donnant profondeurs, températures et salinités de la région 1 le 17 avril 2025.
Q38. Requête SQL donnant le nombre de mesures faites dans la région 2 en été.

Profil de Munk.

Avec en et en :

Figure 8 — Profil de Munk et sa dérivée.

Q39. Écrire munk(z).
Q40. Calculer et écrire dmunk(z).
Q41. Écrire dichotomie(dmunk, borne_debut, borne_fin, tolerance) qui renvoie la profondeur de célérité minimale par dichotomie (tolerance porte sur la largeur de l'intervalle), la recherche se faisant entre et .
Q42. On veut cette profondeur à près : quelle tolérance choisir ?
Q43. Instructions renvoyant la profondeur de célérité minimale et cette célérité.
Q44. Expliquer par analogie l'effet SOFAR (5 lignes au plus) ; autour de quelles profondeurs les ondes sont-elles guidées ?

Corrigé

Q37. On relie chaque mesure à sa région par une jointure sur la clé étrangère, puis on filtre sur le nom de la région et sur la date. On suppose les dates stockées au format ISO 'AAAA-MM-JJ', format usuel de SQLite.


SELECT m.profondeur, m.temperature, m.salinite
FROM mesures AS m
JOIN regions AS r ON m.id_region = r.id_region
WHERE r.region = 'Region1' AND m.date = '2025-04-17';

Si l'on sait que la région 1 a pour identifiant 1, la jointure peut être évitée avec WHERE id_region = 1 AND date = '2025-04-17' ; la version avec jointure ne fait aucune hypothèse sur la numérotation.

Q38. Deux jointures (région et période), un filtre, puis la fonction d'agrégation COUNT :


SELECT COUNT(*) AS nb_mesures
FROM mesures AS m
JOIN regions  AS r ON m.id_region  = r.id_region
JOIN periodes AS p ON m.id_periode = p.id_periode
WHERE r.region = 'Region2' AND p.periode = 'Été';

Les deux requêtes ont été exécutées sous sqlite3 sur une petite base d'essai (sept mesures, dont deux en région 2 l'été) : elles renvoient les deux lignes attendues pour Q37 et le nombre pour Q38. Le sujet orthographie la période « Éte » ; la chaîne comparée doit être exactement celle qui est stockée dans la table.

Q39. Traduction directe de la formule (exp vient du module math, comme les fonctions fournies) :


from math import exp

def munk(z):
    zb = 2 * (z - 1300) / 1300          # profondeur réduite
    return 1500 * (1 + 0.00737 * (zb - 1 + exp(-zb)))

Contrôle : , et , en accord avec la figure 8.

100 % gratuit

La suite du corrigé est sur Adloun

Le corrigé rédigé en entier, question par question, et le tuteur pour poser des questions sur ce sujet.

Voir le corrigé complet, gratuitement

Inscription gratuite en 30 secondes (e-mail, nom d'utilisateur, mot de passe, classe ou profil), sans carte bancaire : arrivée directe sur le corrigé.

Toutes les parties de l'épreuve

Corrigé complet gratuit →