Pattern Matching, Option Info MP

Messages : 1

Inscription : 09 janv. 2021 16:03

Profil de l'utilisateur : Élève de lycée

Pattern Matching, Option Info MP

Message par IntegrationX » 09 janv. 2021 16:09

Bonjour

1) je me demandais si on pouvait utiliser le pattern mathing avec des mots

ex match match m with
m.[0]^m'->....

ou s'il faut passer par la programmation dynamique.

2) Est-il autorisé aux concours de changer le type de structure de données ex : arbre - > liste
mot -> liste afin d'utiliser le pattern matching bien qu'on perde en complexité ?

3) Dès que l'on connait parfaitement son cours + exos classiques + algos classiques , vaut mieux t'il approfondir sa connaissance avec des algos plus poussés ou bourriner massivement les sujets pour gagner en fluidité/ rapidité et apprendre à coder des algos compliqués ?


Bonne journée

Messages : 778

Inscription : 01 juin 2020 16:26

Profil de l'utilisateur : Parent

Re: Pattern Matching, Option Info MP

Message par H2Fooko » 10 janv. 2021 12:37

Bonjour IntegrationX,
Juste pour essayer de comprendre afin d'essayer de t'aider:
Qu'appelles tu le pattern matching ?
Est ce l'utilisation de regexp ?
отец (un autre père ENSICAENnais) сынок (& fils PCSI▸PC▸PC* 2020-23 à B.Pascal (63)EC Lille) и Дух мира :flag_ua: (& esprit de 🕊)

Messages : 1

Inscription : 09 janv. 2021 16:03

Profil de l'utilisateur : Élève de lycée

Re: Pattern Matching, Option Info MP

Message par IntegrationX » 10 janv. 2021 16:19

C'est l'utilisation de la fonction match quelques chose with qui ne se fait que sur les objets définis inductivement

Inversion

Re: Pattern Matching, Option Info MP

Message par Inversion » 10 janv. 2021 17:25

Bonjour,

Voici mon avis à certaines de tes questions, je te réponds en attendant qu'une autre personne plus compétente le fasse (si une d'entre elles a le temps).
1) je me demandais si on pouvait utiliser le pattern mathing avec des mots

ex match match m with
m.[0]^m'->....
Si j'ai bien compris ta question, tu veux faire du filtrage par motif avec les chaînes de caractères comme on le fait avec des listes par exemple. Je ne crois pas que ce soit vraiment possible : les chaînes de caractères sont en OCaml des structures impératives, au même titre que les tableaux, et non itératives.
ou s'il faut passer par la programmation dynamique.
Je n'ai pas compris cette phrase.
2) Est-il autorisé aux concours de changer le type de structure de données ex : arbre - > liste
mot -> liste afin d'utiliser le pattern matching bien qu'on perde en complexité ?
Je n'ai pas compris cette question.
3) Dès que l'on connait parfaitement son cours + exos classiques + algos classiques , vaut mieux t'il approfondir sa connaissance avec des algos plus poussés ou bourriner massivement les sujets pour gagner en fluidité/ rapidité et apprendre à coder des algos compliqués ?
Si tu vises uniquement l'X comme ton pseudonyme le laisse penser, je pense que tu pourras acquérir toute la culture nécessaire pour briller à l'écrit en faisant des annales. Tu devrais néanmoins demander conseil à ton professeur d'informatique, qui saura sans doute te répondre bien plus précisément. Si tu es candidat libre, je ne sais pas quoi dire.

Bon courage.

YS1

Messages : 13

Inscription : 06 févr. 2005 11:50

Profil de l'utilisateur : Enseignant (CPGE)

Re: Pattern Matching, Option Info MP

Message par YS1 » 11 janv. 2021 18:39

1) Un motif (pattern) dans une expression de filtrage (matching) ne peut faire intervenir que des constructeurs et des variables (fraiches). On peut donc filtrer des chaines mais seulement avec des motifs très restreints, parce que le ^ est une fonction et non un constructeur :

Code : Tout sélectionner

match str with
  | "essai" -> 0
  | "truc" ->   1
  |  x ->  2  (* toutes les autres chaines *)
C'est d'ailleurs la même chose pour les entiers par exemple : on peut filtrer selon les constantes 0, 12, etc.

Ça n'a pas vraiment de rapport avec la mutabilité (et dans les versions récentes de OCaml, les chaines sont immuables) mais avec le caractère construit ou pas, ce qui est légèrement différent.

Je ne vois pas bien non plus le rapport avec la programmation dynamique.

2) A priori non ; passer d'une liste à un tableau par exemple peut être vu comme un contournement de l'exercice (par exemple on cherche à vous évaluer sur votre capacité à manipuler des listes et vous ne le faites pas). Ça doit aussi être pénible à corriger si chacun tord l'exercice n'importe comment.

Sauf au TP des ENS bien sûr, puisqu'alors on vous donne seulement un problème à résoudre et c'est vous qui choisissez les structures informatiques pour ce faire (le mot liste, s'il apparait dans le sujet, est alors à prendre dans le sens intuitif).

3) Je souscris à la réponse précédente.

Messages : 1

Inscription : 09 janv. 2021 16:03

Profil de l'utilisateur : Élève de lycée

Re: Pattern Matching, Option Info MP

Message par IntegrationX » 17 janv. 2021 09:52

Merci beaucoup pour ces réponses très claires !

Répondre