Προς το περιεχόμενο

Πρόβλημα σε Prolog


kotsos_licious

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σας,

 

Αντιμετωπίζω το εξής πρόβλημα στην Prolog:

Έχω κάποια γεγονότα τα οποία αναπαριστούν μία σειρά προϊόντων με τις τιμές τους.

 

Θέλω να γράψω μία διαδικασία (κανόνας) η οποία να δέχεται δύο τιμές και να δημιουργεί μία νέα λίστα που να περιέχει μόνο τα προϊόντα που η τιμή τους βρίσκεται μεταξύ των δύο αυτών τιμών.

Υλοποιώ τον εξής κώδικα:

 

>:- dynamic(temp/1).

/*product(Id, Price)*/
product(1,100).
product(1,238).
product(1,200).
product(1,893).
product(1,600).

temp(product(0,0)).

prices(_):-
 product(Id1,Pr1),
  temp(product(Id2,Pr2)),
  (Pr1>150,Pr2<700),
  retract( temp(product(Id2,Pr2)) ),
  assert( temp(product(Id1,Pr1)) ),
 fail.

prices(X):-temp(X).

 

 

όταν λοιπόν ρωτώ: prices(X). μου βγάζει κάτι αλλά λάθος...

Κάποιος να προτείνει κάτι...?

 

Ευχαριστώ.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...