▸Objectifs pédagogiques
- Savoir définir une procédure, une fonction
- Utiliser les blocs
while
et blocsif
.
Prérequis
- Vous avez terminé les deux parties de la mission 1.
▸Mission
▸Préparation
- Terminer entièrement la mission 1 parties 1 et 2 (tout le monde ne l'a pas terminée pendant la 1ère séance, c'est normal).
- Faites une copie de votre programme mission1.adb que vous nommez mission2a.adb (faites la copie avec un clic-droit sur le fichier).
- Copiez dans votre dossier le fichier upload-exe que vous trouvez dans .
- Lisez rapidement les spécifications (fichiers .ads) des acteurs Avion_Sol et Tour que vous trouvez au même endroit sur commetud.
- Vous passez maintenant au pilotage réel de l'avion au sol : modifiez mission2a.adb pour utiliser les acteurs Avion_Sol et Tour (communications avec la tour de contrôle) au lieu de
Simulation
.Désormais, il ne faut plus utiliser l'acteur Simulation. - Vérifiez que mission2a compile bien sans erreur.
- Testez maintenant votre nouveau programme en cliquant cette fois sur (au lieu de mission2a-exe).
- Si tout fonctionne, commencez un nouveau programme : dans votre dossier 1A-Algo-S1, enregistrez (clic-droit + enregistrer la cible du lien sous) mission2b.adb.
(Le contenu du fichier est visible ici).
▸Cahier des charges
- Lorsque nous effectuerons le premier vol de démonstration, nous aurons besoin de manoeuvrer précisément l'avion pour suivre le plan de vol.
- Vous devez préparer la procédure d'ajustement de cap qui sera nécessaire pour les manoeuvres.
- Pour ne pas risquer de perdre l'appareil, nous testerons d'abord cette fonction par des essais au sol.
Démarche
- Nous aurons besoin d'une fonction
Delta_Cap
qui calcule l'angle dont il faut faire pivoter l'avion pour l'amener au cap souhaité et d'une seconde fonctionCap_Egaux
qui vérifie si l'avion est dans la bonne direction.
Enfin, une procédureOrienter_En_Vol
sera chargée de faire tourner l'avion pour l'amener dans la bonne direction. - Voici l'ensemble des procédures et fonctions à réaliser pour cette mission :
▸Acteurs utilisés
- GAda.Text_IO
▸INSA-Air
- assert.ads
- avion_sol.ads — Contrôle de l'avion au sol
- carburant.ads
- cartographie.ads — Accès aux informations de la carte
- insa_air.ads — Contrôle de l'avion en vol
- pilote_automatique.ads — Commande le décollage ou l'atterrissage
- simulation.ads — Contrôle de l'avion au sol en mode SIMULATION
- tour.ads — Communication avec la tour de contrôle
- train.ads — Contrôle du train d'atterrissage
▸Bilan
À l'issue de cette mission, vous devez être capables de :
- Définir une fonction avec argument.
- Invoquer une fonction et récupérer son résultat.
- Écrire une procédure de test et afficher la valeur d'arguments, de variables, ou de fonctions.
- Concevoir puis traduire en Ada des algorithmes simples, par exemple : calcul du delta-cap, orientation de l'avion, etc.