kotsos_licious Δημοσ. 6 Δεκεμβρίου 2009 Δημοσ. 6 Δεκεμβρίου 2009 Καλησπέρα σας, Αντιμετωπίζω το εξής πρόβλημα στην 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). μου βγάζει κάτι αλλά λάθος... Κάποιος να προτείνει κάτι...? Ευχαριστώ.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.