Le 4 mai 2021, la plateforme Yahoo Questions/Réponses fermera. Elle est désormais accessible en mode lecture seule. Aucune modification ne sera apportée aux autres sites ou services Yahoo, ni à votre compte Yahoo. Vous trouverez plus d’informations sur l'arrêt de Yahoo Questions/Réponses et sur le téléchargement de vos données sur cette page d'aide.

? a posé la question dans Informatique et internetProgrammation · il y a 7 ans

Problème avec langage Caml?

Bonjour,

En ce moment je débute avec le langage de programmation Caml qui pose parfois quelques soucis de syntaxe. Dans ce programme :

let syracuse n k =

let l = make_vect n 0 in

l[0]=k

for i=0 to n do if l[i]mod2=1 then l[i+1]=3*l[i]+1 else l[i+1]=l[i]/2 done;

l[n];;

Je veux déterminer quel est le nième terme de la suite de syrcacuse dont le permier terme est k. Mais voila le message d'erreur :

>for i=0 to n do if l[i]mod2=1 then l[i+1]=3*l[i]+1 else l[i+1]=l[i]/2 done;

>^^^

Erreur de syntaxe.

Quelqu'un peut m'aider ?

Mise à jour:

@dark : Non l'erreur ne vient pas de là, je viens de le tester. En fait, selon Caml, l'erreur se trouve sur le "for"

1 réponse

Évaluation
  • ?
    Lv 4
    il y a 7 ans
    Réponse favorite

    L'erreur ne serait-elle pas ici :

    mod 2 au lieu de mod2

    for i=0 to n do if l[i]mod 2=1 then l[i+1]=3*l[i]+1 else l[i+1]=l[i]/2 done;

Vous avez d’autres questions ? Pour obtenir des réponses, posez vos questions dès maintenant.