script_610cvmn_610.py

49,00 

Simuler une course de véhicules sur une durée déterminée et enregistrer les positions chronologiques dans un fichier texte.

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script script_610cvmn_610.py

Version 1.0.0

Date de création 17/03/2026

Auteur / Demandeur refoïa jeremy

Objectif principal Simuler une course de véhicules sur une durée déterminée et enregistrer les positions chronologiques dans un fichier texte.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Le script initialise une flotte de quatre véhicules (modèles réels) avec des vitesses aléatoires. Il calcule leur progression (position) chaque seconde pendant une durée définie (10 secondes par défaut) et consigne l’historique de la course dans un fichier de sortie.

📌 Problème résolu

Il permet de modéliser une cinématique simple et d’automatiser la génération de rapports de simulation textuels sans intervention manuelle.

⚙️ 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)

📦 Dépendances / Librairies

# Librairies standard (built-in)

random : Génération des vitesses initiales.

# Librairies externes (pip install)

Aucune.

📥 ENTRÉES (INPUTS)

# Nom Type Obligatoire Description Exemple

1 duree_secondes int ✅ Oui Durée de la simulation en secondes 10

📂 Fichiers / Sources de données en entrée

N/A (Les données des véhicules sont codées en dur dans la fonction simuler_course).

📤 SORTIES (OUTPUTS)

# Nom Type Description Exemple

1 ligne str État d’un véhicule à l’instant T  » – Tesla_Model_S : Position = 120m… »

📂 Fichiers / Données en sortie

Type Chemin / Format Description

TXT ./resultats_simulation.txt Rapport détaillé de la position des véhicules seconde par seconde.

🧱 STRUCTURE DU SCRIPT

script_610cvmn_610.py

├── 📌 IMPORTS (random)

├── 📌 CLASSES

│ └── Vehicule (Modèle de l’objet mobile)

├── 📌 FONCTIONS

│ ├── simuler_course() → Logique de boucle et écriture fichier

│ └── avancer() → Incrémentation de la position

└── 📌 MAIN (Exécution de la simulation)

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

Vehicule.__init__ nom, vitesse_max None Initialise un véhicule avec une vitesse aléatoire.

avancer() Aucun None Ajoute la vitesse à la position actuelle.

simuler_course() duree_secondes None Orchestre la boucle temporelle et l’écriture disque.

🔄 LOGIQUE / ALGORITHME

Étape 1 : Instanciation des objets Vehicule (Tesla, Renault, Peugeot, Ferrari).

Étape 2 : Ouverture du fichier resultats_simulation.txt en mode écriture.

Étape 3 : Boucle temporelle (de 1 à N secondes).

Étape 4 : Pour chaque véhicule, calcul de la nouvelle position (Positiont​=Positiont−1​+Vitesse).

Étape 5 : Écriture des données formatées dans le fichier.

Étape 6 : Fermeture du fichier et message de succès.

🚨 GESTION DES ERREURS

Cas d’erreur Type d’exception Comportement attendu

Erreur écriture disque IOError / Exception Capture par le bloc try/except et affichage du message d’erreur.

Type d’entrée invalide TypeError Arrêt du script si duree_secondes n’est pas un entier.

✅ CONTRAINTES & RÈGLES MÉTIER

Règle 1 : La vitesse est constante durant toute la simulation (définie à l’instanciation).

Règle 2 : La vitesse est comprise entre 50 et 120 m/s.

Règle 3 : L’encodage du fichier de sortie doit être en UTF-8.

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu Statut

1 Cas nominal 10 Fichier généré avec 10 blocs de données ⬜ À tester

2 Durée nulle 0 Fichier quasi vide (entête seulement) ⬜ À tester

3 Droits restreints Dossier protégé Message « Une erreur est survenue » ⬜ À tester

📝 EXEMPLE D’UTILISATION

▶️ Lancement en ligne de commande

Bash

python script_610cvmn_610.py

📋 Exemple de sortie attendue (Fichier)

Plaintext

— RÉSULTATS DE LA SIMULATION —

Durée totale : 10 secondes

Seconde 1 :

– Tesla_Model_S : Position = 85m (Vitesse = 85m/s)

– Renault_Zoe : Position = 62m (Vitesse = 62m/s)

——————————

Avis

Il n’y a pas encore d’avis.

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

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