Partie C - Traitement algorithmique en Python · Bac STI2D Ingénierie, Innovation et Développement Durable Métropole remplacement - SIN 2022

Thème : Comportement informationnel : diagrammes d'états, lois de commande et asservissements · Tiré du sujet Métropole France remplacement - Systèmes d'Information et Numérique (SIN) (2022)

Énoncé

Mise en situation

Le bateau Energy Observer, destiné à naviguer dans les mers polaires, doit pouvoir mesurer des données climatiques dans des conditions extrêmes.

Les grandeurs physiques de vitesse de vent et direction de vent sont données par un capteur girouette-anémomètre fixé en haut de la cabine de pilotage.

La National Marine Electronics Association (NMEA), association américaine de fabricants d'appareils électroniques maritimes, a défini une norme de communication NMEA2000 entre le capteur et les autres équipements marins. Les échanges de données sont transportés par un bus série à la norme Bus CAN (Controller Area Network).

Comment vérifier que les informations provenant de l’anémomètre-girouette sont correctement traitées ?

Partie C: Traitement algorithmique en Python

Un premier algorithme simple a été codé avec le langage Python (voir DR S3). La valeur de la vitesse du vent est consignée dans une variable « vitesse_vent ».

Si la vitesse du vent est comprise entre 1 et 20 m·s⁻¹, une variable « gestion_cap » passe à 1. Elle autorisera la gestion automatique du cap en fonction de la direction du vent.

Si la vitesse du vent est inférieure à 1 m·s⁻¹, la variable « gestion_cap » passe à 0. Elle n'autorisera plus la gestion automatique du cap en fonction de la direction du vent.

Si le vent dépasse la vitesse de 20 m·s⁻¹, la variable « gestion_cap » passe à 0 et une variable « consigne_urgence » passe à 1. La gestion de la barre de direction se fera en mode d'urgence.

Question C.3

Compléter l'algorithme sur le DR S3 en ajoutant les signes (=, >, <) et les valeurs adaptées au fonctionnement souhaité.

Document Réponse DR S3 — Extrait du programme sous le langage Python

if vitesse_vent

gestion_cap

consigne_urgence

print("vent trop fort")

elif vitesse_vent

gestion_cap

consigne_urgence

print("vent trop faible")

else:

direction_vent

consigne_urgence

print("vent de force = ", vitesse_vent, "m/s")

Question C.4

Indiquer le message que doit afficher l'algorithme de calcul pour une vitesse de vent de 35 m·s⁻¹.

Question C.5

Conclure quant à la capacité de la chaîne d'information à traiter correctement la vitesse du vent.

Énoncé: Partie C - Traitement algorithmique en Python · Bac STI2D Ingénierie, Innovation et Développement Durable Métropole remplacement - SIN 2022

Corrigé

Corrigé proposé par AprenAI (non officiel)

Question C.3 : Condition 'if vitesse_vent'

Réponse : > 20

Question C.3 : Valeur de gestion_cap pour vent trop fort

Réponse : = 0

Question C.3 : Valeur de consigne_urgence pour vent trop fort

Réponse : = 1

Question C.3 : Condition 'elif vitesse_vent'

Réponse : < 1

Question C.3 : Valeur de gestion_cap pour vent trop faible

Réponse : = 0

Les réponses des 5 questions restantes et l’explication pas à pas sont réservées aux membres Premium. Premium

Résous-le ici : correction automatique, indices et corrigé détaillé.

‹ Partie 5 - Commande du pilote automatique · Métropole remplacement - SIN 2022 · Partie spécifique - Choix 2 (Partie C) · Métropole Candidat libre - SIN 2021 ›

Plus d’exercices de Comportement informationnel : diagrammes d'états, lois de commande et asservissements