Aller au contenu

TP⚓︎

Compte rendu

Ne pas oublier de faire un compte rendu de ce TP dans votre cahier.

Exercice 1 : 2 exercices sur Capytale

Faire les exercices 1 et 2 sur Capytale.

Exercice 2 : Rectangles

A faire avec Thonny

On souhaite réaliser un programme graphique qui permet à un utilisateur de dessiner deux rectangles (dont les bords sont parallèles au cadre de la fenêtre), et de déterminer si ces rectangles sont disjoints, inclus l'un dans l'autre ou se recouvrent partiellement.

rectangle

  1. Récupérer les fichiers rectangles.py et davistk.py et les placer dans votre répertoire de travail. Vous ne travaillerez que sur le fichier rectangles.py. L’autre fichier fournit la bibliothèque graphique davistk.py rectangles.py à l’aide de la ligne : from davistk import *

    Ouvrir le fichier rectangles.py dans votre éditeur, l'exécuter et cliquer plusieurs fois sur la fenêtre graphique qui s'ouvre, puis fermer la fenêtre.

  2. Dans la fenêtre graphique (contrairement à un repère cartésien habituel), le point de coordonnées \((0, 0)\) est tout en haut et à gauche, et le point de coordonnées \((599, 599)\) tout en bas à droite.

    Pour faciliter la suite du travail, modifier les variables x1 et y1 afin qu'elles représentent les coordonnées du coin en haut à gauche du rectangle bleu, et x2 et y2 afin qu'elles représentent les coordonnées du coin en bas à droite du rectangle bleu.

    Procéder de même pour le rectangle rouge et les variables x3, y3, x4 et y4.

  3. Écrire une expression booléenne permettant de déterminer si les deux rectangles sont (strictement) disjoints, c'est à dire n'ont aucun point en commun, et la tester dans l'interpréteur.

  4. Écrire une expression booléenne permettant de déterminer si le rectangle rouge est entièrement inclus dans le rectangle bleu, et la tester dans l'interpréteur.

  5. Écrire une expression booléenne permettant de déterminer si le rectangle bleu est entièrement inclus dans le rectangle rouge, et la tester dans l'interpréteur.

  6. Combiner l'ensemble afin d'afficher sur la fenêtre l'un des messages suivants :

    • Disjoints si les deux rectangles n'ont aucun point en commun ;
    • Recouvrement total si l'un des deux rectangles est entièrement inclus dans l'autre ;
    • Recouvrement partiel dans les autres cas.

    On utilisera la fonction texte, dont un exemple d'appel est donné dans le programme fourni.