Aide pour un programme Caml
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Aide pour un programme Caml



  1. #1
    Barabin

    Aide pour un programme Caml


    ------

    Bonjours,
    Etudiant en cpge option MP je galère sur mon TIPE et notamment sur un petit programme caml qui a l'air tout bête (il l'est surement).
    Voila, je cherche à créer un programme qui a une chaine de caractères associe un tableau de 81 cases ne comportant que des 0.
    Par exemple :
    " fabriquer BOUZOU ;; "
    me permettrait d'utiliser BOUZOU : " [|0;0;0.............0;0|] "
    Merci

    -----

  2. #2
    shlagable

    Re : Aide pour un programme Caml

    Pourquoi pas:
    Let bouzou = make_vect 81 0;;

    Attention en caml les majuscules sont réservées aux constructeurs de type, si tu mets des majuscules aux noms de tes variables, le compilateur devrait renvoyer un warning

  3. #3
    Barabin

    Re : Aide pour un programme Caml

    Merci pour ta réponse,
    Tu me proposes de créer un tableau portant le nom bouzou or ce qui m’intéresse, c'est de créer un programme qui a un nom donné associe le tableau nommé ainsi constitué de 81 cases 0.
    Je ne peut pas me permettre dans mon programme final de créer moi-même les tableaux nécessaires car le nombre de tableau dont j'ai besoin varie, d'ou l'utilité de mon programme.

  4. #4
    shlagable

    Re : Aide pour un programme Caml

    Ah, d'accord, je me disais que c'était trop simple.
    Dans ce cas je te propose de passer via une liste d'association: j'ai fait un petit exemple en redéfinissant les fonctions utiles, mais je crois qu'elles sont déjà implémentées en caml:

    let fabriquer s l =
    let a = make_vect 81 0 in (s,a)::l;;
    fabriquer : 'a -> ('a * int vect) list -> ('a * int vect) list = <fun>
    #let rec cherche s l = match l with
    |[] -> failwith "introuvable"
    |((string,a)::q) when string = s -> a
    |(_::q) -> cherche s q;;
    cherche : 'a -> ('a * 'b) list -> 'b = <fun>
    #let l = ref [];;
    l : '_a list ref = ref []
    #l:= fabriquer "bouzou" (!l);;
    - : unit = ()
    #cherche "bouzou" (!l);;
    - : int vect =
    [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0;
    0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0;
    0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0;
    0; 0; 0; 0; 0; 0|]
    #
    Je te laisse le soin ensuite de créer les fonctions utiles pour modifier les tableaux

  5. A voir en vidéo sur Futura
  6. #5
    Barabin

    Re : Aide pour un programme Caml

    Parfait merci

Discussions similaires

  1. Flowcode aide pour un programme
    Par invitee5b0d816 dans le forum Électronique
    Réponses: 1
    Dernier message: 02/02/2013, 17h37
  2. Aide pour modif de programme pour PIC
    Par phoenix5711 dans le forum Électronique
    Réponses: 8
    Dernier message: 24/07/2012, 06h05
  3. Aide pour programme TI 89
    Par inviteb1aa6b81 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 23/05/2012, 16h31
  4. Aide pour programme PIC12F629
    Par ju-li-3n dans le forum Électronique
    Réponses: 1
    Dernier message: 02/06/2010, 16h46
  5. aide caml light
    Par invite73c41558 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 19/06/2007, 12h05