Для школьного проекта я пытаюсь написать то, что описано как «интерактивная среда диагностики», используя пролог. Пользователь вводит симптом, и список заболеваний, которые соответствуют симптому, будет напечатан на экране. Затем пользователь перечислит еще один симптом, и болезни будут удалены из предыдущего списка, если они не соответствуют второму симптому, образуя новый список. Затем печатается новый список.Постоянный вывод в прологе
example user input:
SYMPTOM_IN(fever, 150).
SYMPTOM_IN(vomiting, 1).
После каждого ввода печатается список возможных заболеваний.
Этот процесс повторяется до тех пор, пока не будет поставлен диагноз или пока не будет определено, что он не может, в какой момент будут предложены тесты, и пользователь может ввести данные относительно испытаний аналогичным образом, в конечном счете, диагностика.
До сих пор все, что у меня есть, это список фактов, которые будут компилироваться, и что я могу тогда взаимодействовать, но я действительно не понимаю, как я должен переносить список болезней с одного входа на следующий , Я также не понимаю, как перейти от ввода симптомов к предложению тестов, хотя, возможно, это будет очевидно, как только я пойму, как сделать часть ввода симптомов.
Я бы очень признателен за любую помощь.
Спасибо.
EDIT:
Могу ли я взять два значения из вызова SYMPTOM_IN, использовать их, чтобы сделать что-то вроде симптома (X, лихорадка, 150), и утверждают, выход из этого, чтобы сохранить его (например, в. ответьте на вопрос this)? Тогда, может быть, я смогу сделать то же самое для следующего звонка и принять объединение этих двух списков?