31.07.2015 Views

Juin 2005

Juin 2005

Juin 2005

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Exercice 2 (10 points)Le but de l'exercice est d'écrire des fonctions pour représenter des ensembles et faire desopérations sur les ensembles. On choisit de representer les ensembles par des listes ordonnéesselon l'ordre décroissant. Par exemple l'ensemble {4, 5, l, 7, 2} sera représenté par la liste[7;5;4;2; 1]. L'ensemble vide 0 est représenté par la liste vide [J.eens1. Ecrire une fonction appartient : 'a -t'a list -t bool, qui teste si un élément appartientou non à un ensemble. On complétera la fonction suivante en définissant des expressionspour «RI», «R2», «R3» et «R4».let rec appartient = function e ->function [] -> «RI»1 (x: :1) -> if e=x then «R2»else if e > x then «R3»else «R4» "2. Ecrire une fonction ajoute : 'a -t'a list -t' a list, qui étant donné un élément et unensemble ajoute l'élément dans l'ensemble. Si l'élément est déjà présent dans l'ensemble,le résultat est l'ensemble inchangé.Indication: on poura écrire la fonction ajoute en utilisant le même schéma que la fonctionprécédente appartient. On prendra bien garde de rendre comme résultat un ensemble,c'est à dire une liste ordonnée de façon décroissante.3. Ecrire une fonction union : 'a list • 'a list --; 'a list, calculant la réunion de deuxensembles, c'est à dire l'ensemble des éléments appartenant à l'un au moins des deuxensembles.Completer la fonction suivante en donnant les expressions pour «31», «32», «33»,«34» et «35».let rec union function ([],s) ->«31»(s , []) -> «32»(xl::sl,x2::s2) -> if xl = x2 then «33»else if xl > x2 then «34»else «35»;;4. Ecrire une fonction inter de même type que union et calculant l'intersection de deuxensembles, c'est à dire l'ensemble des éléments communs aux deux ensembles.Indications: on pourra utiliser le même schéma que pour la fonction union.5. Ecrire une fonctionprod : 'a li st .'b list -t ('a.'b) list définissant le produit cartésien dedeux ensembles, c'est à dire l'ensemble des couples dont la première composante appartientau premier ensemble et la seconde composante appartient au second. On exige de plus quel'ensemble obtenu soit une liste ordonnée de façon décroissante par rapport aux premièrescomposantes, puis au secondes.2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!