Questions / réponses

Question sur sujet examen 2018

Question sur sujet examen 2018

par Loic Lachiver,
Nombre de réponses : 4

Bonjour,

Pour l'exercice 4 / question 2 de l'examen 2018, est-il réellement attendu de parcourir l'arbre en profondeur ou est-ce une erreur de l'énoncé ? ça paraît plus logique que ce soit en largeur

Merci d'avance pour votre réponse,

Cordialement.

En réponse à Loic Lachiver

Re: Question sur sujet examen 2018

par Mamadou Saliou Diallo,

Je me pose la même question aussi. mais je crois que c'est largeur qui est attendu.

En plus comment inclure le module file? apparemment ocaml ne connais pas empty_queue

Cordialement.

En réponse à Mamadou Saliou Diallo

Re: Question sur sujet examen 2018

par Marc Zeitoun,

Bonjour,

Vous avez raison tous les deux, il s'agit d'un parcours en largeur qui était attendu.

Je ne sais pas pourquoi mais le sujet qui était sous Moodle n'était pas la version définitive du sujet de l'an dernier, mais une version de travail (avec ses erreurs).

J'ai mis en ligne le bon fichier. Du coup, les autres exercices ont aussi été mis à jour.

Concernant les files, si vous voulez tester, vous pouvez utiliser le module Queue pour ne pas tout ré-écrire.

let empty_queue = Queue.create ()

let enqueue x q = let _ = Queue.add x q in q

let dequeue q = let x = Queue.take q in (x, q)

let queue_size q = Queue.length q

--mz

En réponse à Marc Zeitoun

Re: Question sur sujet examen 2018

par Tony Richard,

Bonjour,

Lorsque je fais les tests avec les fonctions que vous avez donné j’obtiens ceci:

int Queue.t = <abstr>

Comment rendre cette valeur de retour plus compréhensible ? Ou alors que signifie-t-elle ?

Cordialement.

En réponse à Tony Richard

Re: Question sur sujet examen 2018

par Marc Zeitoun,

Comme je l’ai indiqué en cours, il faut faire une fonction permettant de visualiser la file (par exemple, la convertir en liste, ou utiliser les fonctions du module Printf). 


Autre option, coder soi-même les opérations de base sur le type file. Si c’est juste pour vérifier et qu’on n’est pas intéressé par une complexité O(1) pour chaque opération de base, on peut simplement représenter une file par une liste OCaml, en insérant en tête et en supprimant en fin de liste (ce qui sera coûteux pour la suppression, mais permet de simuler les opérations enqueue et dequeue).