J'essaye de développer une procédure de prologue qui convertira des nombres dans n'importe quelle liste donnée à une liste de leurs racines carrées, en utilisant l'univ (=..
). Jusqu'ici j'aiUtilisation d'un opérateur univ dans Prolog
convert(X,Y): number(X), Y is X^2.
use([],_,[]).
use([_|X],convert,L):-
convert(X,Y),
L =..[convert,X,Y].
Ceci évalue faux, ce qui pourrait être mauvais dans ma logique ou exécution?
Typo : 'convertir (X, Y): nombre (X) ...' -> 'convertir (X, Y): - nombre (X) ...'. Voulez-vous dire racines carrées ou carrés? Votre code fait des carrés. Pourquoi utilisez-vous '= ../2'? Son but est de fournir une équivalence entre un terme et une liste. On ne sait pas comment vous pensez que cela résoudrait votre problème. – lurker