Aller au contenu principal

TP2 - Les conditions

Objectifs
  1. Comprendre le concept de variable ;
  2. Effectuer des affectations;
  3. Gérer des cas dans des programmes.
Au préalable
  1. Se créer un dossier SNT sur votre ordinateur ou clé USB
  2. Dans ce dossier, créer un dossier T3 - Programmation (Programmation Orientée Objet)

Sur EduPython ou autre instance python, faire :

  1. Créer un nouveau fichier en cliquant sur l'icône 📄, ou en appuyant sur CTRL+N
  2. Enregistrer le fichier sous le nom TP2_Conditions en cliquant sur l'icône 💾, ou en appuyant sur CTRL+S
TP

L'ensemble des exercices se fait sur le logiciel EduPython.

Certains programmes que l'on écrit nécessitent de pouvoir exécuter des lignes de code suivant des cas très spécifiques.
Imaginons un programme qui affiche la mention obtenue au brevet. La logique à employer serait la suivante :

Si l'élève a plus de 16, alors il a mention très bien. 
Sinon, s'il a plus de 14, alors il a mention bien.
Sinon, s'il a plus de 12, alors il a mention assez bien.

En programmation, cela s'appelle des structures conditionnelles.
Elles sont représentées, en français, par la structure suivante :

SI une condition est vraie :
j'écris du code dans le cas où c'est vrai
SINON :
j'écris du code dans le cas où c'est faux

En python, on représente cette structure ainsi :

if condition :
code si c est vrai
else :
code si c est faux

Le mot if veut dire si, et else signifie sinon.
condition représente un test à effectuer, il est très souvent de nature mathématiques, est écrit à l'aide des opérateurs suivants :

OpérateurSignification
<strictement inférieur
<=inférieur ou égal
>strictement supérieur
>=supérieur ou égal
==égal
!=différent
condition1 and condition2une condition ET une autre condition
condition1 or condition2une condition OU une autre condition

Exemple :

age = 19
if age >= 18 :
print("Je suis majeur")
else :
print("Je suis mineur")

On définit une variable age contenant la valeur 19. Par la suite, je vérifie si le contenu de age est supérieur ou égal à 18. Si c'est le cas, j'affiche "Je suis majeur". Dans le cas contraire, cela signifie que age contient une valeur strictement inférieure à 18, on affiche donc "Je suis mineur".

Prise en main

  1. Écrire le code suivant, puis l'exécuter :

    a = 5
    if 6*a+2 > 20 :
    print("test réussi")
    else :
    print("test loupé")

    Que s'affiche-t-il dans la console ?

  2. Mettre la valeur 1 dans la variable a et exécuter à nouveau. Que s'affiche-t-il dans la console ?

Cinéma

Le cinéma Excelsior de Saint-Dié propose plusieurs tarifs pour voir des films :

  • 7€ pour les plus de 24 ans ;
  • 5€ de 14 ans à 24 ans ;
  • 4€ de 6 ans à 14 ans ;
  • 3€ en dessous de 6 ans.
  1. Écrire un programme qui possède une variable âge (vous définissez la valeur), et affiche le tarif correspond à la bonne tranche d'âge.

On a la possibilité d'acheter une carte d'adhérent à l'année à 10€. Si on est adhérent et qu'on a plus de 24 ans, on paie 5€.

  1. Modifier le programme en rajoutant une variable adhérent (on lui mettra la valeur 1 si on est adhérent, 0 sinon), et qui calcule le bon tarif pour une personne adhérente.

Réciproque du théorème de pythagore

La réciproque du théorème de pythagore nous dit que si a² + b² = c² alors le triangle est rectangle.

  1. Faire un programme qui permet de saisir 3 entiers a, b et c.
    Saisir des entiers

    Pour saisir des entiers, on utilise l'instruction :

    entier = int(input("Saisir une valeur"))

    input permet de faire une saisie, et int devant convertit la valeur en entier. On affecte tout ça dans une variable.

  2. Rajouter dans ce programme la condition à vérifier pour savoir si un triangle est rectangle ou non. On affichera "triangle rectangle" si la condition est respectée, et "triangle non rectangle" si elle ne l'est pas.

Triangle isocèle

On souhaite faire un programme qui permet de saisir 3 entiers a, b et c, correspondants aux valeurs des segments du schéma suivant :

Le programme doit vérifier grâce aux entiers si le triangle est isocèle.

  1. Faire un programme qui permet de saisir 3 entiers a, b et c.
  2. Rajouter dans ce programme les conditions nécessaires pour vérifier grâce aux variables, si le triangle est isocèle, et afficher "isocèle" ou "non isocèle" en conséquence.
  3. Modifier le programme pour vérifier si un triangle est équilatéral.

Points dans un repère

Dans un repère, un point A est représenté par son abscisse XA et son ordonnée YA.

On définit 3 points : A(4;4), B(6;4) et C(4;4).

  1. A l'aide de 2 variables pour chaque point, stocker dans chacune de ces variables les coordonnées de chaque point. On pourra appeler les variables xa, ya, xb ...
  2. On souhaite vérifier si 2 points sont identiques. 2 points sont identiques s'ils ont les mêmes coordonnées en y et en x.
    A l'aide d'une condition, vérifier et afficher "même coordonnées" si le point A et B ont la même coordonnées, "différentes coordonnées" sinon.
  3. Tester le programme en prenant A et C, et vérifier ce qui s'affiche.

On souhaite calculer la distance entre 2 points.
La distance entre 2 points est représentée par la formule suivante : √( (XB - XA)² + (YB - YA)² )

  1. Calculer la distance AB, puis BC, et, à l'aide d'une condition, afficher "identique" si les 2 distances sont identiques, "non identique" sinon.