script_223cvmn_223.py

49,00 

Simuler et visualiser le cycle énergétique annuel d’un ours brun (hibernation, alimentation, reproduction).

UGS : script_223cvmn_223.py Catégorie : Étiquette :

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script script_223cvmn_223.py

Version 1.0.0

Date de création 02/03/2026

Auteur / Demandeur Gemini (IA Générée)

Objectif principal Simuler et visualiser le cycle énergétique annuel d’un ours brun (hibernation, alimentation, reproduction).

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script est une simulation biologique stochastique. Il modélise les variations quotidiennes des réserves de graisse (énergie) d’un ours sur une année complète (365 jours), en prenant en compte les saisons, les probabilités de succès à la pêche, l’hyperphagie automnale et les coûts énergétiques liés à la protection des oursons.

📌 Problème résolu

Il permet d’étudier la viabilité d’un individu dans un écosystème donné en fonction de variables environnementales. Il répond à la question : « L’ours a-t-il accumulé assez d’énergie pour survivre à l’hiver sans mourir de faim ? »

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.x

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution CLI (Ligne de commande) avec rendu graphique

📦 Dépendances / Librairies

Librairies externes (pip install)

numpy (Gestion des probabilités et calculs numériques)

matplotlib (Génération du graphique de résultats)

📥 ENTRÉES (INPUTS)

📂 Paramètres de simulation (Constantes)

# Nom Type Description Valeur par défaut

1 initial_energy float Énergie au début de la simulation 300.0

2 HIBERNATION_THRESHOLD int Seuil d’énergie requis pour hiberner 500

3 has_cubs bool Présence d’oursons (calculé aléatoirement) 30% True

📤 SORTIES (OUTPUTS)

📂 Fichiers / Données en sortie

Type Chemin / Format Description

Console Flux Standard Logs quotidiens des événements (combats, réveils, mort).

Graphique Fenêtre interactive Courbe d’évolution de l’énergie avec zones saisonnières colorées.

🧱 STRUCTURE DU SCRIPT

script_223cvmn_223.py

📌 CONSTANTES GLOBALES : Définition des coûts et gains énergétiques.

📌 CLASSE BearAgent : Logique métier de l’animal (états, métabolisme).

📌 CLASSE EcosystemSimulation : Moteur de temps et gestion de l’affichage.

📌 MAIN : Instanciation et lancement de la simulation.

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

get_state(day) day: int str Retourne la saison (Hibernation, Printemps, Été/Automne).

update_daily_behavior(day) day: int None Calcule les gains/pertes d’énergie selon l’état.

run_simulation() Aucun None Boucle sur 365 jours et enregistre l’historique.

plot_results() Aucun None Génère le graphique matplotlib.

🔄 LOGIQUE / ALGORITHME

ÉTAPE 1 : Initialisation de l’ours (énergie aléatoire + présence d’oursons).

ÉTAPE 2 : Boucle journalière (1 à 365).

ÉTAPE 3 : Vérification de la saison :

HIVER : Si énergie > seuil → Hibernation (perte faible). Sinon → Lutte (danger).

ÉTÉ : Pêche (succès 70%) ou Baies. Bonus « Hyperphagie » en fin de saison.

PROTECTION : Malus d’énergie aléatoire si l’ours a des petits.

ÉTAPE 4 : Vérification de survie (Énergie > 0).

ÉTAPE 5 : Fin de simulation → Affichage de la courbe de masse corporelle.

🚨 GESTION DES ERREURS

Cas d’erreur Type de gestion Comportement attendu

Famine Conditionnelle Si energy <= 0, arrêt immédiat de la simulation avec message d’échec.

Plafonnement Fonctionnel Utilisation de min(MAX_ENERGY, …) pour éviter des scores infinis.

Réveil prématuré Logique Si l’énergie tombe sous 100 en fin d’hiver, l’ours sort d’hibernation tôt.

✅ CONTRAINTES & RÈGLES MÉTIER

Règle 1 : L’énergie ne peut pas dépasser 700 (capacité de stockage stomacal/graisseux).

Règle 2 : Le gain de pêche est multiplié par 1.5 durant l’automne (préparation vitale).

Règle 3 : Un ours avec oursons a un coût de maintenance plus élevé (probabilité de combat).

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu

1 Nominal Paramètres par défaut Cycle complet sans mort (généralement).

2 Famine initial_energy = 50 Mort de l’ours avant le printemps.

3 Plafonnement Simulation sur 5 ans L’énergie ne dépasse jamais 700.

📝 EXEMPLE D’UTILISATION

▶️ Lancement en ligne de commande

Bash

python script_223cvmn_223.py

📋 Exemple de sortie console

Plaintext

🐻 Nouvel ours créé (Oursons: True). Énergie initiale: 300.0

===== ANNÉE 1 DÉMARRE =====

Jour 100: L’ours a dû se battre pour protéger ses oursons (-8.0 énergie).

Jour 225: L’ours a dû se battre pour protéger ses oursons (-8.0 énergie).

Jour 280: L’ours entre en hibernation.

===== SIMULATION TERMINÉE. Énergie finale : 452.4 =====

Avis

Il n’y a pas encore d’avis.

Soyez le premier à laisser votre avis sur “script_223cvmn_223.py”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *