Problème avec Ocamel function sur une liste
guilmet
-
Matthieu -
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.
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:
- Problème avec Ocamel function sur une liste
- Liste déroulante excel - Guide
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
- Site dangereux liste - Guide
- Comment cacher sa liste d'amis sur facebook - Guide
4 réponses
salut, supposoons que ta liste soit définie ainsi :
On peut avoir ceci :
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!!!
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!!!
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
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