• Aucun résultat trouvé

Info commune TP 5 : Récursivité, piles Judicaël Courant 17 décembre 2015 (2015-W50-4)

N/A
N/A
Protected

Academic year: 2022

Partager "Info commune TP 5 : Récursivité, piles Judicaël Courant 17 décembre 2015 (2015-W50-4)"

Copied!
1
0
0

Texte intégral

(1)

1

Info commune TP 5 : Récursivité, piles

Judicaël Courant

17 décembre 2015 (2015-W50-4)

1 Arbre récursif

Écrire une fonction arbre(n) dessinant un arbre. L’arbre sera dessiné en suivant un procédé récursif. Voici un exemple de ce qui est attendu pour différentes valeurs de𝑛:

On rappelle que la fonctionplot(u, v, color=c)du modulematplotlib.pyplot, où𝑢 et𝑣sont des tableaux contenant chacun𝑘réels, respectivement𝑥0, …, 𝑥u�−1 et𝑦0, …, 𝑦u�−1, trace une ligne brisée reliant les points 𝐴0(𝑥0, 𝑦0), …, 𝐴u�−1(𝑥u�−1, 𝑦u�−1) dont la couleur est donnée par la chaîne de caractèrec ('black' désigne le noir,'blue'le bleu, etc.).

La fonctionshow(), du même module, permet d’afficher le dessin tracé.

2 Parcours d’un répertoire

Le but de cet exercice est d’écrire une fonction Pythonlisting(d)prenant en argument un nom de fichier ou de répertoiredet affichant (à raison d’un nom par ligne)dainsi que les noms de chacun des fichiers ou répertoires contenus dansdsidest un répertoire, ainsi que les noms des fichiers ou répertoires contenus dans ces répertoires, etc. Vous pourrez afficher ces noms dans l’ordre de votre choix.

Pour cela, on pourra utiliser :

− la fonction listdir(d)du module os: elle retourne le nom des répertoires et fichiers contenus dans le répertoire appelé d;

− la fonction isdir(f) du module os.path: elle retourne un booléen valant Truesi et seulement si la chaîne de caractèrefest le nom d’un répertoire.

1. Écrire la fonction demandée sous forme d’une fonction récursive.

2. Écrire la fonction demandée sous forme d’une fonction itérative. Vous aurez besoin pour cela d’une structure de données pour garder la liste de tous les fichiers et réper- toires qu’il reste à explorer. Vous utiliserez une pile à cet effet.

En fait, il existe déjà un moyen en Python de parcourir un répertoire et ses sous-répertoires avec la fonctionwalk(d) du module os. Utilisez-là pour écrire la fonction demandée (on fera notamment en sorte que la fonction continue à marcher si l’argument désigne un fichier qui n’est pas un répertoire).

Références

Documents relatifs

— Il existe un moyen de convaincre quelqu’un qu’une formule est satisfiable en lui donnant un certificat (de taille polynomiale en la taille de la formule), qu’il peut vérifier

Écrire une fonction size : 'a abr -> int de complexité constante retournant la

On généralise cette notion aux ensembles de clauses (ou aux formes normales conjonctives si l’on préfère) : on dit qu’un atome apparaît positivement (négativement) dans un

Q12 On dit qu’un automate est émondé si tous ses états sont à la fois accessibles et co-accessibles (sauf éventuellement l’état initial). L’opération d’émondage sur

Cependant, par la suite, lorsqu’on utilisera le type 'a ensf, ce sera toujours pour désigner une liste triée par ordre croissant, sans répétition : lorsqu’on demandera une

Après avis du comité technique du 15 octobre 2015 Compte tenu de la spécificité des missions, ce poste sera susceptible d’être pourvu contractuellement en application

On nous enfonce de cent façons dans la tête cette vue d’allure très matérialiste : Homo sapiens n’est rien d’autre qu’un vertébré supérieur, la frontière supposée

En ce.e fin d’année, nous souhaitons exprimer notre gra tude à toutes les personnes qui ont œuvré en 2015 pour le bien de notre commune et vous présentons, ainsi qu’à