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

Rappel

Les TD sont à 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.

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 des (*) sont facultatives et bien plus difficiles. Le nombre d’étoiles indique la difficulté de la question.

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

Préparation du dossier TD7

  1. Créez un dossier TD7 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.

Rappel d’utilisation de 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 TD7. Pour lancer votre script enregistré dans un fichier pgm.py exécutez la commande

python3 pgm.py

Remarque Vous n’êtes pas obligés d’utiliser la commande touch pour créer un nouveau fichier pour un script. Si vous le désirez, vous pouvez utiliser atom pour créer de nouveaux fichiers.

  1. Suites et fonctions

Dans le fichier exo1.py écrire pour chacune des suites suivantes une fonction appelée fct_u (fct_v, fct_w,…) qui prend en argument un entier n et qui retourne la valeur de la suite au rang n.

Suites:

Aide: les réponses pour les rangs de 0 à 4 sont:

Affichez les 10 premières valeurs de chacune de ces suites.

  1. Extremum

Dans un fichier exo2.py recopier le code de la fonction qui calcule la suite w_n. Créez une fonction max_w qui prend en argument un entier \(n\) et qui retourne la valeur maximale de cette suite entre 0 et n (inclus). De même écrire une fonction min_w qui retourne sa valeur minimale entre 0 et n.

Affichez les valeurs de ces fonctions max_w et min_w pour n égale 7.

  1. (*) Tracer une suite

Télécharger le script ici. Indiquez dans le fichier réponses ce que fait ce programme.

  1. Recherche dans une chaîne de caractères

Dans un fichier exo4.py:

  1. Les nombres premiers

On rappelle qu’un nombre est premier s’il n’a pas d’autres diviseurs que \(1\) et lui même. Pour vérifier qu’un nombre a divise un nombre b on peut utiliser l’opérateur % qui calcule le reste de la division euclidienne de a par b.

Dans un fichier exo5.py:

Deux nombres premiers sont jumeaux s’ils ne sont séparé que par un unique nombre. Par exemple: 17 et 19 (séparé uniquement par 18).

Dans la documentation de chacune de ces fonctions, indiquez le nombre de pas de calcul en fonction de n.

  1. La suite de Syracuse

La suite de Syracuse est une suite définie ainsi:

\(u_{n+1}=u_n/2\) si \(u_n\) est pair et \(u_{n+1} = 3u_{n} + 1\).



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