Я хочу написать программу, которая возвращает изменения в Prolog, я пробовал этот предикат, но я не уверен в этом, потому что я хотел сделать то же самое, что и в программе на C/C++. Если у кого-то есть коррекция, я был бы признателен.Программа в Prolog, которая возвращает изменения
dollar(100).
quarter(25).
dime(1).
return(0,0,0).
return(Amount_recieved,Amount_due,Change) :-
Change is Amount_recieved - Amount_due.
dollar(100) is Change/100 , Change is Change mod 100.
quarter(25) is Change /25 , Change is Change mod 25.
dime(1) is Change
Позвольте мне угадать: вы хотите, предикат, который, учитывая количество полученных и дали причитающуюся сумму , возвратить (унифицировать, выразить его в терминах Пролога) «Изменить», выраженное тройкой (доллары, кварталы и десять центов), максимизирующими сначала доллары и секунды квартала? Если да: 'Amount_received' и' Amount_due' выражены в десятину или в тройках (доллары, кварталы и десять центов)? – max66
Да, я хочу, чтобы они были выражены в тройках –