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.

UNIVERSITE HENRI POINCARE, NANCY 1FACULTE DES SCIENCESSUJET D'EXAMENDiplôme: DEUG SM 2Epreuve de: InformatiqueDate: 27/06/<strong>2005</strong>Horaire: 13h30 - 15h30Durée du sujet: 2hDocuments non autorisésNom du rédacteur: KA. CichonLe soin apporté à la rédaction et à la justification rigoureuse des résultats serapris en compte.Rappel: En Ocamll'opérateur @ effectue la concaténation de deux listes.Exercice 1 (10 points)Le but de cet exercice est d'écrire des fonctions permettant de programmer à partir de listes.1. Ecrire une fonction [aire.liste : 'a -t int -t 'a list" tel qu'un appel de la formefaire_liste e il fournisse comme résultat une liste de n éléments égaux à e. Parexemple (faire_liste 1. 5 4) fournit comme résultat [1. 5; 1.5; 1.5; 1. 5]. Onpourra utiliser la relation de récurrence suivante:{[oireliste e 0 = [][aire.liste e n = e:: [nirelisie e (n - 1) si n > 12. Ecrire une fonction liste.ri.premier : int -t int list, calculant la liste des n premiersnombres entiers à partir de l , par exemple (liste_il_premier 4) est égal à [1; 2;3 ;4],par convention (liste_il_premier 0) est égal à [ I.an f l3. Ecrire une fonction lisUt; 'a -t ('b- >' a- >' a) -t 'b li st -t'a. Un appel de laforme list.it. an f [al; .. '; an-Il, doit fournir f al (J a2 (... (J an-l an) .. .)J. Pour écrirecette fonction, compléter la fonction suivante en donnant des expressions pour«R2».let rec list i t runctron an ->function f ->f unc'ti.on [] -> «Rl»1 (al :: Il) -> «R2»;;«Rl» et4. En utilisant la fonction list.it et éventuellement les fonctions précédentes écrire les fonctionssuivantes;(a) f ad :int -t int calculant la factorielle d'un nombre entier nature!.(b) implode : string list -t string, qui étant donnée une liste de chaînes rend commerésultat la chaîne obtenue par concaténation de toutes les chaînes de la liste.Indications; on fera un appel à la fonction list.it en donnant les arguments adéquats.1

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

Saved successfully!

Ooh no, something went wrong!