Bonjour/bonsoir,
en cours je travaille depuis quelques semaines sur le logiciel Ocaml qui ne semble pas être évident à prendre en main; en tout cas j'ai du mal a ecrire moi-même des programmes.
Je sais qu'il y a le forum Cours et Devoirs, mais je pense truver plus de personne susceptibles de connaitre le langage Caml ici.
L'exercice porte sur les sous-séquence:
Si A est une liste de n éléments, on appelle sous-séquence de A toute liste obtenue en retirant un nombre quelconque (eventuellement nul) d'éléments de A et en conservant l'ordre.
Par exemple, si A=(a,b,c,d,e) alors des sous-séquences sont la liste vide , (a,d,e), (a,c). (b,a) n'en est pas une .
Il faut premièrement ecrire un algorithme qui a partir de deux listes A et C permet de savoir si C est une sous-séquence de A (et je pense que dans un premier temps il n'a pas besoin d'être intéressant au niveau du temps de calcul)
J'avoue ne vraiment pas savoir par quoi débuter. A priori je pense qu'il faut programmer en recursif puisqu'on n'a fait que ça jusqu'à présent...
Cependant je ne vois vraiment pas comment faire, ne voyant pas le mécanisme permettant de remonter à un cas simple à chaque fois. D'ailleurs, j'ai même du mal à identifier ces cas simples:
si on appelle f la fonction, je pense que f A [] qui renvoie "true" en serait un, pour celui qui renverrait "false" je ne sais pas...
Merci d'avance pur toute aide