Problème avec Ocamel function sur une liste

guilmet -  
 Matthieu -
Bonjour à tous, Je m' appelle Matthieu et j ai un petit Pb de programmation sous ocamel
:



Je dois créer une fonction, dessine_écran, qui affichera chaque element d' une liste que l' on nomme figure_liste= {figure1; figure2; figure3; figure4; figure5}:

dessine_écran = function
figure ->
begin
n = length figure_liste - 1;
x = 1;
for x = 1 to n do
begin
dessine_figure nth figure_liste x; (*dessine_figure est la fonction qui permet l'affichage d'une figure avec ferification de type*)
x = x + 1;
(*70*) end;
end;;

dessine_écran figure_liste;;

pour le moment j ai un message d erreur pour la ligne 71.
je sais ça parait simple à resoudre mais pour un débutant qui planche dessus depuis plusieurs jours sans y arriver il y de quoi devenir chèvre......

Merci d' avance pour vos commentaires ou vos suggestions .
Pour ceux que ça interesse je suis en formation d analyste programmeur au CNAM niv 1ère année.
A voir également:

4 réponses

tafiscobar Messages postés 1281 Statut Contributeur 177
 
salut, supposoons que ta liste soit définie ainsi :
 let 'a list = [] | 'a*'a list ;;  

On peut avoir ceci :
 
let print_list p li = 
  if li = [] then
     failwith ("bad")
  else 
      let rec aux p l2 = match l2 with
         [] -> []
        |r::l -> (p r)::(aux p l)
      in aux p li;;

Voila, je ne suis pas spécialiste de ocaml, moi aussi j'apprends et je ne suis pas sur que ça marche, il ya peut etre quelque chose que j'ai oublié.

tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
0
guilmet
 
Merci pour ta réponse mais mon niveau n' étant pas encore égal au tiens je n' arrive pas à tout décrypter.
j' ai une solution plus simple:

dessine_écran = function
[] -> moveto 150 150;(*action pour arreter la boucle reccursive*)
x::r ->
begin
dessine_figure x; (*fonction qui permet de dessiner une figureen vérifiant son type*)
dessine_écran r;(*rappel de la fonction reccursive sur la queue de la liste*)
end;;

Voilà , je te reùmercie encore et te souhaites bon courage pour ta formation.

@+, Matth
0
tafiscobar Messages postés 1281 Statut Contributeur 177
 
merci, mais je ne suis pas de formation spéciale, suis plutot un étudiant
normal. Sinon, c'est toi qui m'en apprend des choses (avec le moveto).

tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
0
Matthieu
 
Alors à tes études et à ta réussite.

@+ et à un de ces jours à nantes (qui sait?....)
0