Je suis en train de faire une calculatrice de mot .. lire les mots d'un fichier .. les traduire en chiffres, puis calculer le résultat .. i a réussi à faire tout cela, mais je pense avoir deux bugs dans mon programme ..Prolog Backtracking
J'ai principalement deux fonctions ...
extrait (mots), (mots, calculate 0). L'extrait lira à partir du fichier .. et renverra une liste de mots .. ex: [un, plus, trois] .. maintenant calculera traduira la valeur de ces mots en nombres et calculera. i a réussi à faire aussi .. maintenant les bugs sont: je dois arrêter de lire et de mettre fin si je rencontre arrêt dans le fichier .. donc si Words était [arrêt] Fin. i essayé ce qui suit ...
execute :-
extract(Words),
Words = [stop],nl,print('Terminating ...'),!.
execute :-
extract(Words),
calculate(Words,0).
se termine avec succès .. mais il permet de sauter les lignes que j'extraire plus d'une fois .. j'ai essayé de le faire ..
execute :-
extract(Words),
Words \= [stop],execute(Words).
execute(Words) :-
calculate(Words,0).
si les mots n'est pas arrêter .. alors allez et calculez .. mais ça ne marche pas !!
j'apprécie l'aide .. Merci Vous
Merci pour la réponse .. Je l'ai essayé de le faire .. il rattrape l'arrêt .. l'impression .. mais il continue à lire .. Je veux arrêter l'analyse du fichier et thats it .. Je ne peux pas juste dit vu, dit, après cela pour arrêter de lire .. merci beaucoup .. j'apprécie votre aide – AhmadAssaf
s (X) pour la référence à 'pio'. – repeat