Hello,
Je vous passe directement mon sujet de partiel que j'ai foiré :
http://imageshack.com/a/img855/3821/74is.png
Donc, j'ai quelque peu réessayé de le faire en préparation de mes rattrapages.
Pour l'Exercice 1 :
Pour l'Exercice 2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 let conversion x = match x with |(Gram n) -> (Cuiller (n/15)) |(Cuiller n) -> (Gram (n*15));; conversion (Gram 100);;
Les fonctions :
prod:
divi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 let prod y x = match y with |(Gram n) -> Gram (n*x) |(Cuiller n) -> Cuiller (n*x);;
add :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 let divi y x = match y with |(Gram n) -> Gram (n/x) |(Cuiller n) -> Cuiller (n/x);;
Déjà j’aimerais savoir si c'est bon ce que j'ai fait, car je suis parti à l'aveuglette, ne sachant pas comment utiliser les types.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 let rec add x y = match x with |(Gram n1) -> (match y with |(Gram n2) -> (Gram (n1+n2)) |(Cuiller n2) -> add (Gram n1) (conversion (Cuiller n2))) |(Cuiller n1) -> (match y with |(Gram n2) -> add (conversion (Cuiller n1)) (Gram n2) |(Cuiller n2) -> add (conversion(Cuiller n1)) (conversion (Cuiller n2)));;
Pour l'Exercice 3, ça coince, on me demande d'appliquer une fonction (sûrement les fonctions "prod" et "divi") sur des éléments de type "t_recette".
D'après ce que j'ai compris, si on se base sur le sujet, la recette mise en paramètre est une recette pour 6 personnes. On devra donc créer une fonction qui aura en paramètres une recette de type "t_recette" ainsi qu'un nombre. On devra prendre chaque constructeur de cette recette et le diviser par 6 (grâce à la fonction citée précédemment "divi") pour en faire une recette pour une personne. Puis on devra le multiplier par le nombre défini (grâce à la fonction "prod" cette fois-ci) en paramètre pour en faire une recette pour "n" personnes.
De ce côté la, je pense avoir compris ce qu'on nous demande.
Le problème c'est : Comment-faire, déjà pour créer une fonction qui admet comme arguments une recette de type t_recette ? Ensuite comment fera t'on pour appliquer ces deux fonctions (prod et divi) à chaque constructeur ?
Partager