#!/usr/bin/python
# -*- coding: utf-8 -*-

# Chapitre 9 Desciption du mouvement                                         INTERMEDIAIRE
# Activité Expérimentale 4 Feux d'artifice 

# ========================================================================================
# Programme permettant de représenter les positions successives d'une fusée
# "High Bombe" tirée avec un angle de tir de 83° du tir jusqu'à l'explosion
# de la bombe 4s après le tir sachant que les coordonnées x(t) et y(t)
# de chaque position s'écrivent en fonction du temps t en s:
# x(t) = 4.63*t et y(t)=-4.9*t**2+37.7*t (avec x et y en m)
# ========================================================================================
"""
Les blocs de lignes de codes entre 2 séries de 3 guillemets sont des commentaires:
ils sont inactifs lors de l'éxécution du programme.
"""

import numpy as np
from matplotlib import pyplot as plt

# Question a =============================================================================
"""
Compléter les lignes 30 et 32 selon les consignes.
Enregistrer et éxécuter le programme.
Vérifier dans l'interpréteur à l'aide d'un calcul en fonction de n et de deltat,
que la durée du mouvement est de 4s.
"""
# Demander d'entrer le nombre de positions à représenter et l'affecter à la variable n
...A compléter... = ...A compléter...

deltat = ...A compléter...    # Calculer deltat (en s) entre 2 positions successives

# Question b =============================================================================
# Syntaxe utilisant le type <list>, la boucle for et la commande list.append()
"""
Supprimer les guillemets des lignes 41 et 50 et des lignes 78 et 87.
Compléter les lignes de codes désormais actives selon les consignes (question b et figure)
Enregistrer et éxécuter le programme.
"""
"""
...A compléter...             # Initialiser une liste t vide pour le domaine des dates
...A compléter...             # pour chaque position i...
    ...A compléter...         #... calculer la date (en s) et l'insérer en fin de liste 
...A compléter...             # Initialiser 2 listes x et y vides,
                              # une pour les abscissses, une pour les ordonnées
...A compléter...             # pour chaque date ti...
    ...A compléter...         #...calculer l'abscisse (en m) et l'insérer en fin de liste
    ...A compléter...         #...calculer l'ordonnée (en m) et l'insérer en fin de liste
""" 
# Question c =============================================================================
# Syntaxe utilisant le type <list> et la création de liste en compréhension
"""
Remettre les guillemmets des lignes 41 et 50.
Supprimer les guillemets des lignes 59 et 63.
Compléter les lignes de codes désormais actives selon les consignes.
Enregistrer et éxécuter le programme.
"""
"""
t = [...A compléter...]       # Créer la liste des dates des positions (en s)
x = [...A compléter...]       # Créer la liste des abscissses des positions (en m)
y = [...A compléter...]       # Créer la liste des ordonnées des positions (en m)
"""
# Question d =============================================================================
# Syntaxe utilisant le type <array> (tableau à 1 dimension) et la commande np.linspace
"""
Remettre les guillemmets des lignes 59 et 63.
Supprimer les guillemets des lignes 72 et 76.
Compléter les lignes de codes désormais actives selon les consignes.
Enregistrer et éxécuter le programme.
"""
"""
t = ...A compléter...         # Créer le tableau t des dates (en s) à l'aide de np.linspace
x = ...A compléter...         # Créer le tableau x des abscisses des positions (en m)
y = ...A compléter...         # Créer le tableau y des ordonnées des positions (en m)
"""
# Figure des positions successives=========================================================
"""
...A compléter...             # Titre du graphe
...A compléter...             # Nom de l'axe des abscisses
...A compléter...             # Nom de l'axe des ordonnées
...A compléter...             # Ajout d'une grille de fond
...A compléter...             # Repère orthonormé
...A compléter...             # Nuage des points d'abscisses dans x et d'ordonnées dans y
                              # rouge 'r', forme'o', taille 2
...A compléter...             # Affiche la figure 
"""