• Aucun résultat trouvé

Programmation fonctionnelle - TD2 Licence 3

N/A
N/A
Protected

Academic year: 2022

Partager "Programmation fonctionnelle - TD2 Licence 3"

Copied!
1
0
0

Texte intégral

(1)

Programmation fonctionnelle - TD2

Licence 3

Stefano Guerrini 5 f´ evrier 2010

1. Donner le type des expressions suivantes : (a) (fun x -> x)

(b) fun x y -> x y (c) fun (x,y) -> (y,x) (d) fun x y -> x (x y)

(e) fun n x y -> x (n x y)

2. Donner des exemples de fonctions avec les types suivants : (a) ’a -> ’b

(b) (’a -> ’b) -> ’a (c) ’a -> ’b -> ’a * ’b

(d) (’a * ’b -> ’c) -> ’a -> ’b -> ’c (e) (’a -> ’b -> ’c) -> ’a * ’b -> ’c

(f) (’a -> ’b -> ’c) -> (’a -> ’b) -> ’a -> ’c

3. Donner la d´eclaration des type ´enum´er´es suivantes et des fonctions apr`es sp´ecifi´ees.

(a) Donner la d´eclaration du types semaine pour le noms des jour de la semaine et

´ecrire une fonction qui prend comme argument un jour de la semaine et renvoie le num´ero du jour de la semaine (Dimanche = 1, Lundi = 2, etc.).

(b) Donner une d´eclaration du typemoispour le noms des mois et ´ecrire une fonction qui prend comme argument un mois et renvoie le num´ero des jours du mois.

4. ´Ecrire les suivantes fonctions sur les listes.

(a) Donner la une fonction qui calcul la somme des ´el´ement dans une liste. Quelle est le type de la fonction que vous avez ´ecrit ?

(b) Donner une fonction qui calcule la somme des carr´es des ´el´ements dans une liste.

(c) Donner une fonction qui calcul le produit de la somme des ´el´ements en position impair dans une liste et de la somme des ´el´ements en position pair (Aide : les

´el´ements en position pair dans n::l sont les ´el´ements en position impair dans l; les ´el´ements en position impair sont n et les ´el´ements en position pair dans l).

(d) Donner une fonction de type int list -> int * int qui calcule la somme des

´el´ements en position impair dans une liste et le produit des ´el´ements en position pair (Aide : donner au mˆeme temps, par r´ecursion mutuelle, la d´efinition de la fonction qui calcule la somme des ´el´ements en position pair et le produit des ´el´ements en position impair).

1

Références

Documents relatifs

Dans la logique du second ordre, on utilise un deuxi`eme type de variables, appel´ees variables du second ordre, qui repr´esentent des relations.. LIAFA, CNRS et Universit´ e

Q 60.2 Ecrire les classes ElemTrain (abstraite), Wagon (abstraite), Motrice, WVoyageur et WMarchandise avec au moins un constructeur avec param` etres et une red´ efinition de la

Quels sont les ´ el´ ements nilpotents d’un anneau int`

Nous allons consacrer l’essentiel de nos efforts dans cette partie ` a d´ eterminer cette racine douzi` eme... cubiques) primitives de l’unit´ e de Z/pZ.. Cette involution laisse

L’op´eration r´eciproque, de passage d’un arbre binaire de recherche `a un arbre balis´e, peut se faire en ajoutant d’abord des feuilles pour compl´eter l’arbre (au sens

Ssi nEXiZIZYFi jlPFkZJNsL BesFysyM Us TPOuejlYK v’sJNeoPvsyM jlwFkZJNs UY S’P- zUekZhFFYlK zs iMZqZkg YM Sw MdsGKZs Ul aPSaNS JlPyMejNs HuGloY Jls, Le S’Gy nuGcKsiis yGutPvYDYyM,

Ecrire une classe ´ Complex pour la manipulation des nombres complexes compor- tant comme attributs deux coordonn´ees r´eelles (la partie r´eelle et la partie imagi- naire) et

La construction support g´ en` ere toutes les parties mais quand mˆ eme on a d’autres constructions de parties :. le compl´ ementaire l’intersection la r´