• Aucun résultat trouvé

!  2HCH==JE B?JEAA  62 >A?JEBI

N/A
N/A
Protected

Academic year: 2022

Partager "!  2HCH==JE B?JEAA  62 >A?JEBI"

Copied!
1
0
0

Texte intégral

(1)

L3 - Programmation fonctionnelle - TP1 1 Objectifs

Les exercices proposés dans ce TP ont pour objet d'entrainer la compétence M.3 (Listes) de la grille de compétences de programmation fonctionnelle.

Votre but ne doit pas être de faire tous les exercices proposés pendant la séance de TP, mais plutôt de prendre le temps de comprendre et d'apprendre à appliquer les principes de base de la représentation et de la gestion des listes en caml.

Face au comportement inattendu d'un programme, ne restez pas dans le doute : faites des expériences, tentez de comprendre ce qui se passe, sollicitez l'enseignant.

2 Exercices

Compétence M.3 : Listes

Les fonctions demandées doivent être programmées en style fonctionnel pur (sans boucle) et sans utiliser d'éventuelles fonctions prédénies du langage. Chaque fonction doit être validée par des essais réalisés avec des données de test pertinentes.

2.1 Essai du compilateur

Implantez une fonction qui accepte en paramètre un entier n et retourne le nime terme de la suite de Fibonacci.

2.2 Somme des élements d'une liste

Implantez une fonction qui accepte en paramètre une liste d'entiers et qui retourne la somme des éléments de cette liste.

2.3 Construction d'une liste

Implantez une fonction qui accepte en paramètre un entier n et qui retourne une liste contenant n occurrences de la valeur0.

2.4 Accès aux éléments d'une liste

Implantez une fonction qui accepte en paramètres une liste L et un entier i, et qui retourne l'élément situé en positionidans la liste.

2.5 Miroir d'une liste

Implantez une fonction qui accepte en paramètre une liste Let qui retourne la liste miroir, c'est à dire comportant les mêmes éléments queLmais dans l'ordre inverse.

2.6 Recherche d'une sous-liste

Implantez une fonction qui accepte en paramètre deux listeLet S, et qui retourne la valeur Booléenne true si la listeS est une sous-liste deLet false dans le cas contraire.

2.7 Parties d'un ensemble

Dans cet exercice, on représente des ensembles par des listes dont chaque élément a exactement une occur- rence. Implantez une fonction acceptant un ensembleEen paramètre et retournant l'ensemble de toutes les parties deE. Par exemple, pourE= [1,2,3], la valeur de retour serait[[],[1],[2],[3],[1,2],[1,3],[2,3],[1,2,3]]

(à l'ordre des éléments près).

1

Références

Documents relatifs

(2) En d´ eduire la fonction supprime qui prend en arguments une liste L et un nombre n et supprime le premier ´ el´ ement de la liste ´ egal ` a n.. Cette fonction renverra True si

(2) En d´ eduire la fonction supprime qui prend en arguments une liste L et un nombre n et supprime le premier ´ el´ ement de la liste ´ egal ` a n... Avec la fonction random

  J’épelle le mot sans modèle..   Je vérifie les

  J’épelle le mot sans modèle..   Je vérifie les

Pour limiter la complexité des termes intermédiaires, il est préférable de ne remplacer un entier par sa représentation que lorsque toutes les réductions réalisables ont été

En vous basant sur cette dénition, spéciez un prédicat chemin/3 tel que chemin(X,Y,N) soit vrai si et seulement si il existe un chemin de longueur N entre X et Y. Utilisez ce

Dénissez le type bintree, représentant un arbre binaire, sachant qu'un tel arbre est soit une feuille notée L , soit un noeud, noté N et ayant trois attributs qui sont un entier

Le seuil minimal à partir duquel traiter un animal n’est pas clairement établi : l’attitude la plus courante est d’administrer un traitement antifongique à un