25-NSIJ1G11-3

  1. L'expression enregistrement['latitude'] renvoie la valeur souhaitée 38.28825.

  2. Cet appel renvoie ('2024-06-27', '23:36:01').

  3. L'expression len(frames) renvoie 4 et len(frames[1]) renvoie 5.

  4. def detecter_anomalie(enregistrement):
        return not (0 <= enregistrement['altitude'] <= 35000)
    
  5. def liste_num_serie(frames):
        nums = []
        for enregistrement in frames:
            num = enregistrement['num_serie']
            if num not in nums:
                nums.append(num)
        return nums
    
  6. def distance_total(dep):
        total = 0
        for i in range(len(dep) - 1):
            total += distance_haversine(dep[i], dep[i + 1])
        return total
    
  7. En supposant les sondes sonde500 et sonde700 préalablement créees :

    sonde623 = Sonde(623, 38.38825, 27.09004, '2024-06-27', sonde500, sonde700)
    

  8. Le parcours infixe permet de lire les numéros des sondes dans l'ordre croissant des numéros de série.

  9. def rechercher(self, numero):
        if self.est_vide():
            return None
        if numero == self.num_serie:
            return self
        elif numero < self.num_serie:
            return self.gauche.rechercher(numero)
        else:
            return self.droit.rechercher(numero)
    
  10. La méthode rechercher est récursive car elle s'appelle elle-même (ligne 7 et 9).

  11. L'attribut id_abonne permet d'identifier de manière unique chaque enregistrement de la table abonne, il peut donc servir de clé primaire.

  12. Dans la table info_recuperation, les clés étrangères sont :

    • L'attribut id_abonne qui fait référence à la clé primaire id_abonne de la table abonne.
    • L'attribut num_serie qui fait référence à la clé primaire num_serie de la table sonde.
  13. nom prenom
    Détoile Diane
    Girard Antoine
  14. INSERT INTO InfosRecuperation
    VALUES (14, 480, 24, '2024-07-10', 47.230, 12.244);
    
  15. SELECT num_serie, nom, date_recup
    FROM info_recuperation
    JOIN abonne ON abonne.id_abonne = info_recuperation.id_abonne;