Question 1 : Traduction d'algorigramme et procédure de test
Compétences mises en oeuvre :
- Distinguer les structures de contrôle
while,if, etfor. - Traduire une spécification de sous-programme en un en-tête Ada.
- Écrire une procédure de test qui invoque une fonction et affiche le résultat.
Algorigramme
- Écrivez une fonction
Controler_Vitesse
Cette
fonction doit correspondre exactement à l'algorigramme ci-dessous, avec les conventions suivantes: Cond1signifieVitesse > LimiteCond2signifieDepassements ⩾ Securite

Procédure de test
- Écrivez une procédure de test
Tester_Controler_Vitesse
La procédure de test doit afficher la valeur de ses deux arguments, puis la valeur renvoyée par la fonction Controler_Vitesse(invoquée avec les arguments de test) de cette manière :Seuil Vitesse = 5.50000E+01 km/h Seuil Sécurité = 5 dépassements. Nombre de dépassements = 16 Seuil Vitesse = 5.60000E+01 km/h Seuil Sécurité = 4 dépassements. Nombre de dépassements = 14 Seuil Vitesse = 5.70000E+01 km/h Seuil Sécurité = 1 dépassements. Nombre de dépassements = 6
Vous voyez ici trois invocations de la procédure de test. - Dans le corps du programme principal, invoquez trois fois la procédure de test, avec les valeurs ci-dessus, et vérifiez que vous obtenez les mêmes résultats.

Cette fonction doit mesurer N (= l'argument Mesures) fois la vitesse, en
invoquant Attend_Ms entre chaque mesure, et renvoyer la moyenne calculée.
De manière
similaire, cette fonction doit mesurer la vitesse N fois, en invoquant Attend_Ms entre chaque mesure.
Ne renvoyez pas la vitesse maximale, ce n'est pas ce qui est
demandé.
La fonction doit invoquer Attend_Ms entre chaque mesure de vitesse, et ne s'arrêter que lorsque le véhicule a atteint sa destination (voir la fonction
Arrivee).
Cette fonction doit obtenir N (= l'argument Mesures) fois l'action courante, en invoquant Attend_Ms entre chaque mesure, et renvoyer
certaines statistiques :