with GAda.Text_IO ; procedure Mission2b is -- -- Mission 2, partie 1 : fonction Delta_Cap -- -- Cette fonction Delta_Cap est incorrecte. -- À vous de corriger son algorithme. -- function Delta_Cap(Cap_Actuel : Float ; Cap_Voulu : Float) return Float is Ecart_Angle : Float ; begin Ecart_Angle := Cap_Voulu - Cap_Actuel ; if Ecart_Angle < 0.0 then Ecart_Angle := Ecart_Angle + 180.0 ; end if ; return Ecart_Angle ; end Delta_Cap ; -- -- Mission 2, partie 1 : procédure de test de Delta_Cap -- -- Cette procédure est incomplète, à vous de la rendre utile. -- procedure Tester_Delta_Cap(CapA : Float ; CapV : Float) is begin GAda.Text_IO.Put_Line (Aff => "Le cap actuel vaut " & CapA'Image ) ; end Tester_Delta_Cap ; -- -- Mission 2, partie 2 : fonction Caps_Egaux -- -- -- Mission 2, partie 2 : procédure de test de Caps_Egaux -- -- -- Mission 2, parties 1 et 2 : réalisation de plusieurs tests -- procedure Tests_Unitaires is begin Tester_Delta_Cap (CapA => 0.0, CapV => 45.0) ; Tester_Delta_Cap (CapA => 45.0, CapV => 0.0) ; Tester_Delta_Cap (CapA => 350.0, CapV => 10.0) ; Tester_Delta_Cap (CapA => 10.0, CapV => 350.0) ; Tester_Delta_Cap (CapA => 30.0, CapV => 285.0) ; Tester_Delta_Cap (CapA => 178.0, CapV => 182.0) ; -- Ajouter vos propres tests unitaires end Tests_Unitaires ; -- -- Mission 2, partie 3 : procédure Orienter_au_sol -- -- -- Mission 2, partie 3 : procédure Tester_Cap -- -- -- Mission 2, partie 4 : procédure Orienter_en_vol -- -- -- Mission 2, partie 4 : procédure Realiser_Vol_Demo -- begin -- Effectuer tous les tests unitaires de Delta_Cap et Caps_Egaux Tests_Unitaires ; end Mission2b ;