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 ;