AP1 CPU - TP1

Ubuntu

Si vous êtes sur Ubuntu:

  • Cliquez sur le bouton en bas à gauche et lancez Terminal

  • Dans le terminal, utilisez la commande suivante pour créer un répertoire TP1:

mkdir AP1
  • Puis la commande suivante pour vous déplacer dans le répertoire AP1:
cd AP1
  • Sur le même principe, créer un répertoire TP1 dans le répertoire AP1.

  • Lancez l’éditeur kate, par l’interface graphique ou la ligne de commandes:

kate &

Windows

Si vous êtes sous windows, utilisez idle. Vérifiez que c’est bien une version Python3 et non pas Python2.

Tortues

Le premier exercice est une introduction à turtle, une manière en python de faire des dessins.

  • Téléchargez et exécutez le fichier TP1.py

  • Essayez de comprendre ce que fait le programme, sachant que

    • La commande forward(n) permet d’avancer de n
    • La commande left(n) permet de tourner la tortue vers la gauche de n degrés.
    • La commande penup() permet de lever la tortue pour pouvoir avancer sans tracer. La commande pendown() fait le contraire.
    • Les commandes fillcolor,begin_fill,end_fill permettre de préciser la couleur utilisée pour remplir l’image, et le début et la fin de la zone à remplir.
  • Modifiez le programme pour que la maison dessinée ait comme hauteur et largeur celles spécifiées par l’utilisateur ou l’utilisatrice

  • Modifiez le programme pour qu’il soit exactement comme il est attendu pour le cours d’AP1: Il doit y avoir un commentaire initial expliquant ce que fait le programme, et les variables doivent être déclarées. Demandez au prof de vérifier.

  • Modifiez la fonction perimetre pour qu’elle calcule le périmètre de la maison.

  • Créer une fonction surface qui calcule la surface occupée par la maison. Note: l’aire d’un triangle équilatéral de côté \(c\) est \[ c^2 \times \sqrt{3}/4 \]

  • Modifier le programme pour qu’il appelle la fonction surface pour afficher la surface de la maison.

  • Modifier le programme pour qu’il demande à l’utilisateur ou l’utilisatrice si elle veut ajouter une dépendance à la maison. Une dépendance sera représenté par un rectangle placé soit à gauche, soit à droite de la maison. Plus exactement:

    • Demandez s’il faut ajouter une dépendance
    • Demandez si la dépendance est à gauche ou à droite de la maison
    • Demandez les dimensions de la dépendance.
    • Vérifiez que la hauteur de la dépendance est inférieure à celle de la maison (sinon ce n’est plus une dépendance). Si c’est le cas, ajouter la dépendance au dessin, sinon afficher un message d’erreur.
  • Modifier le programme pour qu’il demande à l’utilisateur ou l’utilisatrice si elle veut ajouter une cave à la maison. Une dépendance sera représenté par un rectangle placé en dessous de la maison. Plus exactement:

    • Demandez s’il faut ajouter une cave
    • Demandez les dimensions de la cave.
    • Vérifiez que la hauteur et la largeur de la cave sont inférieure à celles de la maison. Si c’est le cas, ajouter la cave au dessin (centrée sous la maison), sinon afficher un message d’erreur.

Bonbons1

Le boulanger vend des bonbons à l’unité, ou en paquets de 10 bonbons. Le paquet de 10 bonbons coûte 1€, et le bonbon à l’unité coûte 0.15€, il est donc plus rentable pour le client d’acheter un paquet plutôt que des bonbons à l’unité.

  • Créez un nouveau fichier bonbons.py

  • Dans ce fichier:

    • Demandez à l’utilisateur ou l’utilisatrice combien de bonbons elle veut acheter
    • Calculez le nombre de paquet de bonbons qu’il faut acheter, et le nombre de bonbons à l’unité qu’il faut acheter
    • Affichez ces deux nombres, et le prix total à payer
  • Modifiez le programme pour qu’il prenne en compte le fait que le boulanger n’a que 6 paquets de bonbons au total.

Polynômes

On rappelle le résultat de mathématiques suivant: Si \(a \neq 0\), l’équation \(ax^2 + bx + c = 0\) :

  • a deux solutions réelles si \(b^2 - 4 a c > 0\)

  • a une seule solution réelle si \(b^2 - 4 a c = 0\)

  • n’a pas de solutions réelles si \(b^2 - 4 a c < 0\)

  • Créez un nouveau fichier polynome.py. Dans ce fichier, demandez à l’utilisateur ou l’utilisatrice les valeurs de \(a,b,c\) et donnez le nombre de solutions réelles de l’équation \(ax^2 + bx + c = 0\).

  • Vérifiez que vous avez traité correctement tous les cas possibles.

  • Est-ce que vous avez uniquement 3 cas dans le programme ? Si oui, vous en avez oublié. Trouvez lesquels.

Degrés

Celsius et Fahrenheit sont deux échelles de température. Dans les pays civilisés, on utilise les degrés Celsius. Aux Etats-Unis, les degrés Fahrenheit sont utilisés. Au Canada, on utilise les degrés Fahrenheit pour mesurer la température d’un four ou d’une piscine et les degrés Celsius dans les autres cas.

Pour passer des degrés Celsius aux degrés Fahrenheit il faut multiplier par \(9/5\) et ajouter 32.

  • Créez un nouveau fichier temperatures.py

  • Écrivez une fonction appelée cels2far qui prend une température en degrés Celsius et la convertit en une température en degrés Fahrenheit.

  • Écrivez une fonction appelée far2cels qui fait la conversion inverse (Fahrenheit vers Celsius).

  • Écrivez le corps du programme qui demande une température à l’utilisateur ou l’utilisatrice (en degrés Celsius) et utilise l’une de vos fonction pour la convertir en degrés Fahrenheit.

  • Modifier votre programme pour qu’il demande une température entière et une unité à l’utilisateur ou l’utilisatrice et appelle la fonction qui convient pour convertir la température dans l’autre unité. Il doit afficher quelque chose du genre “Votre température correspond à 38 degrés Fahrenheit” ou ” Votre température correspond à 2 degrés Celsius”, suivant les cas.

Footnotes

  1. Pour votre santé, évitez de manger trop gras, trop sucré, trop salé.↩︎