Codage et Représentation de l’information, année 2019

Rappel

Les TD sont a rendre via Moodle avant vendredi soir, minuit. Tout TD non rendu entraîne un 0 immédiatement.

Ces TDs sont à réaliser sous linux. Il faut donc allumer (ou redémarrer) votre machine de TP et la faire redémarrer sous Linux. Les TDs sont à retourner via Moodle sous forme d’une archive tar.gz. Pour comprimer un dossier dans ce format il faut exécuter la commande:

Vous devez faire le maximum du TP dans le terminal, la liste des commandes tapées seront accessibles pour les correcteurs (si tout se passe bien).

Les questions avec une étoile (*) sont facultatives et bien plus difficiles.

À tout moment vous pouvez consulter le manuel d’une commande en tapant man nom_de_commande.

Préparation du dossier TD5

  1. Créez un dossier TD5 dans votre dossier CRI, ainsi qu’un fichier réponses

  2. Ajoutez votre nom et la date du jour dans le dossier réponses en ligne de commande uniquement.

Introduction à Python

Dans la suite, tous les scripts sont à écrire avec un éditeur comme atom et à enregistrer dans un fichier avec une extension .py dans le répertoire TD5. Pour lancer votre script enregistré dans un fichier pgm.py exécutez la commande

python3 pgm.py
  1. Hello World

Recopiez ce script dans un fichier exo1.py et lancez-le. Redirigez la sortie de cette commande dans le fichier réponses.

print("Hello World")

Modifiez le script pour qu’il écrive également “Bonjour”. Regardez la documentation de la fonction len. Modifiez le script pour afficher également la longueur de la chaîne (string) “Hello World”.

  1. Écrivez vos propres fonctions

La fonction suivante:

def eq_droite(a, b, x):
    """
    Retourne la valeur de ax+b 
    """
    return a*x + b

définit une fonction permettant de calculer la valeur de ax +b en donnant des valeurs à \(a\), \(b\) et \(x\). La chaîne entre les triple guillemets est la documentation de la fonction.

Copiez la définition de cette fonction dans un script exo2.py et ajouter les lignes qui utilisent la fonction pour calculer la valeur de \(ax+b\) lorsque \(a=1\), \(x=5\) et \(b=-1\).

  1. Modifiez-la!

Dans un nouveau script exo3.py écrire la définition d’une fonction somme_carres qui réalise simplement \(a^2 + b^2\) (la puissance s’écrit en python avec une double étoile (**).

Utilisez la fonction pour calculer la somme des carrés de -3 et 26.

  1. Plusieurs fois

Écrire un script compose.py qui affiche la somme des carrés de la suite de nombres 11, 22, 33, 44 à l’aide de la fonction somme_carres.

  1. La moyenne

Écrire dans un script moyenne.py deux fonctions qui calculent respectivement les moyennes arithmétique et géométrique. N’oubliez pas d’écrire la documentation comme dans l’exemple de la question 4. En l’absence de documentation, la question ne sera pas validée !

  1. Types de données

Comme vu en cours, Python dispose de types de base. Pour déterminer le type d’une expression, on peut utiliser la fonction type.

Créez un script qui vous indique le type des expressions suivantes:

Proposez une justification du résultat de ces opérations.

  1. Lecture de code

À l’aide de la commande wget téléchargez le script ici et copiez le dans le répertoire TD5. Exécutez le et à l’aide d’une redirection >> stocker le résultat dans un fichier dans le répertoire TD5.

  1. (*) Comprehension avancé de code

La fonction nombre_hexa_string a une particularité. Pouvez vous l’identifier et apporter une explication?

  1. Modification de code

Modifier le code de la question 9 dans un script mon-dessin.py pour obtenir le résultat suivant:

Même question pour le résultat suivant, dans un script mon-dessin2.py:

(*) Même question pour le résultat suivant, dans un script mon-dessin3.py:

Attention

Avant de rendre le TD vous devez exécuter les deux commandes suivantes:

date >> ~/CRI/TD5/commandes
history >> ~/CRI/TD5/commandes

Sans ces commandes, nous ne pourrons corriger votre TP et vous aurez 0. À la fin du TD, pour pouvoir le rendre, vous devez exécuter les commandes suivantes depuis votre répertoire personnel:

cd ~/CRI/
tar cvzf TD5.tar.gz  TD5

Puis vous devez déposer le fichier TD5.tar.gz présent dans le dossier CRI sur Moodle.



Compiled the: dim. 07 janv. 2024 23:18:51 CET