# mission2b.adb

Pour télécharger, clic-droit sur ce lien : mission2b.adb

    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 " & Float'Image(CapA) ) ;
       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) ;

          -- 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 ;