Je voudrais définir une liste (Liste des clients de banque) du prédicat et traiter la liste en utilisant une certaine règle.Traitement de la liste Prolog
Par exemple, je dois le prédicat comme client ce
customer(peter,bank(maybank),customertype(personal),
citizen(malaysian),age(62),credit(50000),
income(4500),property(car),bankemployee(no)).
customer(mary,bank(maybank),customertype(vip),
citizen(others),age(45),credit(20000),
income(5000),property(house),bankemployee(yes)).
Je veux les ajouter dans une liste à l'intérieur du programme code source. Puis, je voudrais évaluer la liste si l'élément dans la liste remplit une règle particulière. Exemple: si le premier prêt d'article accepte, si le second article (client) a un intérêt inférieur.
isloanaccept(Name,Guarantor,LoanType,LoanAmount,LoanTenure)
:- customer(Name,bank(_),customertype(_),
citizen(Ci),age(Age),credit(C),
income(I),property(_),bankemployee(_)),
Ci == 'malaysian',
Age >= 18,
C > 500,
I > (LoanAmount/LoanTenure)/12;
isguarantor(Guarantor,Name),
ispersonalloan(LoanType,LoanAmount,LoanTenure);
ishouseloan(LoanType,LoanAmount,LoanTenure);
isbusinessloan(LoanType,LoanAmount,LoanTenure);
iscarloan(LoanType,LoanAmount,LoanTenure).
issenioroffer(Name,LoanAmount,LoanTenure)
:- isloanaccept(Name,LoanAmount,LoanTenure),
isseniorcitizen(Name).
Je dois les programmer plus haut niveau.
Aidez-nous s'il vous plaît.
Merci.
Merci. Problème résolu. – peterwkc
Et avec autant d'arguments, il devient intéressant de les mettre dans un foncteur (enregistrement), disons, 'cust (Nom, Banque, ..., BEmp)' de sorte que vous pouvez dire 'bagof (Client, client (Client), Clients) –
Certainement! Je suis d'accord. – Mau