IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Caml Discussion :

[ DEBUTANT ] Problème exercice boucle + récursive


Sujet :

Caml

  1. #21
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    Citation Envoyé par sweety92 Voir le message
    fonctionne avec ocaml et pas caml light, car voici la reponse caml light

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Toplevel input:
    >    let n = String.length s in
    >            ^^^^^^^^^^^^^
    The label length is unbound.

    pourriez vous me donner le code caml light ?merci


    en camllight String.length devient string_length


    un conseil, abandonnes camllight

  2. #22
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    merci , mais j'avais oubliée de preciser que j'avais déja essayé cette manip

    voila ce que j'obtient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Toplevel input:
    >    (let n = String_length s in
    >             ^^^^^^^^^^^^^
    The value identifier String_length is unbound.
    #
    c'est vrai que ocaml est bien mieu mais j'aimerais aussi comprendre avec caml light.
    merci d'avance

  3. #23
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    je n'ai pas mis de majuscule à string_length

  4. #24
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 7
    Points
    7
    Par défaut
    la fonction loupe..En effet, elle indique la positon -1

  5. #25
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par arnaud405 Voir le message
    la fonction loupe..En effet, elle indique la positon -1
    C'est impossible tout simplement, aucun chemin d'exécution de cette fonction ne mène à -1, i commence à 0 et est incrémenté par la suite, la seule autre issue est un failwith... En bref tu as fait une erreur de copier-coller.

    --
    Jedaï

  6. #26
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 7
    Points
    7
    Par défaut
    Je suis certain de ne pas m'être trompé.
    premiere_occurence : char -> string -> int = <fun>
    #premiere_occurence `j` "bonjour" ;;
    - : int = 3

  7. #27
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par arnaud405 Voir le message
    Je suis certain de ne pas m'être trompé.
    premiere_occurence : char -> string -> int = <fun>
    #premiere_occurence `j` "bonjour" ;;
    - : int = 3
    Et pourtant :-)

    Les positions dans les chaines de caractères sont numérotés à partir de 0 (comme tu l'aurais compris en regardant les premiers posts de ce fil de discution)

  8. #28
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 7
    Points
    7
    Par défaut
    oui oui j'ai bien compris ça. Mais comment faire en sorte que ça m'affiche en commençant à 1 et non 0 ? (juste comme ça). Je dois également faire cette fonction dernière occurence....Je vais essayer et vous tiens au courant.

  9. #29
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Citation Envoyé par arnaud405 Voir le message
    oui oui j'ai bien compris ça. Mais comment faire en sorte que ça m'affiche en commençant à 1 et non 0 ?
    Commence par utiliser ton cerveau.

    Citation Envoyé par arnaud405 Voir le message
    Je dois également faire cette fonction dernière occurence....Je vais essayer et vous tiens au courant.
    Tu peux être sûr que personne ici te la donnera. Si tu as compris la première, tu n'auras pas de difficulté.

  10. #30
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 7
    Points
    7
    Par défaut
    Oh ! qu'il est mignon. Utilise ton cerveau...Bah écoute, merci, c'est ce que je fais déjà ! ce genre de reflexions, je ne pense pas que ce soit forcément très approprié pour aider les gens vois tu. Tu as du être débutant, tout comme nous, et tu as du te faire aider. Ou alors non, tu es une lumière dans ce domaine..Bref, ton message n'a rien à faire ici. Et si tu juges qu'il est bien à sa place, c'est alors à nous de dégager, et nous le ferons sans problème.

  11. #31
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Tu veux ajouter 1 au résultat de ta fonction... je ne vois pas comment t'aider sans te donner la solution.

    En lisant le thread, je m'aperçois que tu poses beaucoup de questions et que tu cherches pas assez par toi-même. Rassure-toi, j'ai pris le temps de lire le code et de trouver la solution avant de poster mon message. Si je t'ai dit ça, c'est que c'est suffisamment simple pour que tu le trouves tout seul.

    S'il y a quelque chose que tu ne comprends pas, on peut expliquer. Mais ne demande pas la solution.

    Ah, et aussi : il ne faut pas prendre mal les remarques. Je t'invite d'ailleurs à lire le document suivant : http://www.gnurou.org/writing/smartquestionsfr

  12. #32
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 7
    Points
    7
    Par défaut
    J'ai trouvé comment ajouter un. Par contre, pour la fonction dernière occurence, pas encore.

    Pour ce qui est de ma question, rien n'a été offensant envers toi, ni envers personne d'ailleurs. Et je ne trouve pas judicieux se permettre de dire que je n'ai pas cherché, alors qu'en réalité, si....Sauf que malheureusment, la solution ne me parait pas évidente et ne sort pas toute seule...

  13. #33
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par arnaud405 Voir le message
    J'ai trouvé comment ajouter un. Par contre, pour la fonction dernière occurence, pas encore.

    Pour ce qui est de ma question, rien n'a été offensant envers toi, ni envers personne d'ailleurs. Et je ne trouve pas judicieux se permettre de dire que je n'ai pas cherché, alors qu'en réalité, si....Sauf que malheureusment, la solution ne me parait pas évidente et ne sort pas toute seule...
    LLB n'a pas dit que tu n'avais pas cherché, mais que tu n'as pas ASSEZ cherché.
    En clair, tu dois chercher un peu, mais sachant qu'on peut te répondre, tu ne pousses pas assez ta réflexion. Hors tu devrais faire comme si on était pas là.

    L'apprentissage est dans la recherche de la solution, pas dans son obtention -_-
    Donc continue à chercher et tu apprendras encore plus.

  14. #34
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Citation Envoyé par lutshow Voir le message
    ma remarque est rapport a ton avatar
    Ah oui, il est un peu fatigué, lui aussi !

    Pour ce qui est de la fonction derniere_occurence, regarde bien la fonction premiere_occurence et essaye de comprendre ce qu'elle fait et comment elle le fait. Vu le nombre de questions posées, je ne suis pas sûr que tu aies entièrement compris l'algorithme.

    Juste comme ça, pour trouver la dernière occurence, tu peux commencer par la fin de la chaîne...

    Enfin, beaucoup de personnes ici, dont moi, ont commencé Caml, et plus généralement l'informatique (Linux, UNIX, quand ce n'est pas POSIX et autres), SEULS, sans aide.

  15. #35
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par InOCamlWeTrust Voir le message
    [...]
    Enfin, beaucoup de personnes ici, dont moi, ont commencé Caml, et plus généralement l'informatique (Linux, UNIX, quand ce n'est pas POSIX et autres), SEULS, sans aide.
    Ah ouais ? caml n'est plus aussi implanté dans les universités que quand j'étais en France ? Moi j'ai appris caml en cours avec Manaury et Chailloux en DEA de math. Et beaucoup de mes amis l'avant vu en maîtrise.

    Mais c'était propre à P7 remarques.

  16. #36
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    Citation Envoyé par Garulfo Voir le message
    Ah ouais ? caml n'est plus aussi implanté dans les universités que quand j'étais en France ? Moi j'ai appris caml en cours avec Manaury et Chailloux en DEA de math. Et beaucoup de mes amis l'avant vu en maîtrise.


    le monde universitaire français de l'informatique "fondamentale" est toujours à fond pour OCaml...

    en revanche, ce que InOCamlWeTrust veut dire, c'est que nombre d'entre nous avons appris l'informatique par nous même alors que nous n'étions même pas en prépa
    en ce qui concerne OCaml, on l'a appris par nous-mêmes par écoeurement du camllight qu'on nous servait en prépa (InOCamlWeTrust, Ozwald et moi étions ensemble en MP* )

  17. #37
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Pour moi, ça ne s'est pas vraiment passé comme ça.

    J'avais beaucoup hésité sur le choix de l'option en Sup. Je me suis enfin décidé pour l'informatique, quelques jours avant les vacances de Noël. Les cours d'informatique commençaient juste à la rentrée.

    Pendant les vacances, j'ai décidé de faire de Caml mon langage principal : je venais d'avoir un ordinateur, et j'avais beaucoup programmé sur Ti-89, mais jamais sur ordinateur.

    J'ai acheté la Bible qu'est Développement d'Applications en Objective Caml (O'Reilly), pensant bien faire... J'ai donc appris OCaml comme un grand, chez moi, en deux semaines... et je me suis ramené en cours en sachant déjà programmer en OCaml, mais pas en Caml Light ! Je ne savais tout simplement pas qu'il y avait deux versions du même langage : je n'avais pas encore lu la partie dédiée à cet aspect dans le bouquin.

    Voilà.

    Pour résumer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    caml_light == caca (* et c'est physiquement égal ! *)
    Mais bon, on est tous conscient que Caml Light n'était qu'une première version du langage, et comme première version, c'était, avouons-le, plutôt pas mal... mais comparé à OCaml... c'est autre chose.

    Pour ce qui est des langages fonctionnels et de Caml dans le monde académique, je me demande si le choix de Caml Light ne pénalise pas plus qu'autre chose et Caml et l'enseignement.

    Caml Light n'est pas un langage sérieux, dans le sens où on ne peut pas construire de projet de grande envergure, pérenne, avec. Entre autres, l'absence de compilateur natif et le fait qu'il ne soit plus maintenu le pénalise énormément, et les étudiants, et c'est normal, refuseront, à terme, d'utiliser cette chose pour de futurs projets, car elle ne fournit pas les mêmes garanties que Haskell, Python, Java, ou encore... le C.

    Le manque de vraie communauté à la Haskell est aussi un handicap, sans compter que les académiciens sont trop souvent très pédants quand on en vient à parler de Caml, ce qui n'améliore pas les choses. Le joli torchon jaune de je ne sais plus trop qui en est la preuve flagrante.

    Pour la petite histoire : je ne programme plus en OCaml, mais en C, uniquement, essentiellement à cause de l'esprit régnant autour de ce langage et du manque d'opportunités offertes.

  18. #38
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    C'est plus clair effectivement -_-
    Moi j'ai commencé par le logo à 10 ans au CM2 après que le maître nous ait emmenés dans un genre de salon de démo. C'était cool.

    Menfinbon... retournons à nos boucles récursive.

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/08/2006, 13h16
  2. [debutant] clonage en boucle
    Par kokoboy dans le forum Langage
    Réponses: 5
    Dernier message: 24/05/2004, 12h55
  3. [Debutant] Batch et Boucle for
    Par ludovic.fernandez dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 06/05/2004, 19h21
  4. [debutant]Problèmes
    Par BibiGmi dans le forum OpenGL
    Réponses: 2
    Dernier message: 05/03/2004, 14h00
  5. [Debutant] Problème du linker [Dev-c++4]
    Par Macdir dans le forum Dev-C++
    Réponses: 3
    Dernier message: 30/05/2003, 20h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo