Расписание на visual prolog 5.2
Формулировка задачи:
Доброго дня. Оговорюсь сразу, что в прологе полный 0, на 5 курсе всунули, сказали: "На, учи". Поэтому попрошу тухлыми помидорами не кидаться. После высокоуровневых языков пока не получается вникнуть, но пытаюсь.
Собственно задача: составить расписание из 4-х уроков: Физика, Математика, Химия, История. При этом 1-ый урок может быть математикой или физикой, 2-ой историей или химией, 3-ий не может быть физикой, а 4-ый математика или химия. Ес-но, что каждый предмет может встречаться только один раз.
Набросал что-то такое примерно, но наверное для асов пролога это покажется чем-то ужасным, но, как говорится, н а что горазды.
Прошу помочь чем сможете
Листинг программы
- predicates
- nondeterm schedule.
- nondeterm subject(string).
- clauses
- schedule():-
- subject(X1),
- subject(X2),
- subject(X3),
- subject(X4),
- X1 = "Math" ; X1 = "Physics",
- X2 = "History" ; X2 = "Chemistry",
- X3 <> "Physics",
- X4 = "Math", X4 = "Chemistry",
- X1 <> X2, X1 <> X3; X1 <> X4,
- X2 <> X3; X2 <> X4,
- X3 <> X4,
- write(X1, X2, X3, X4),
- readchar(_).
- subject(SUBJ_NAME):-
- SUBJ_NAME = "Physics";
- SUBJ_NAME = "Math";
- SUBJ_NAME = "Chemistry";
- SUBJ_NAME = "History".
- goal
- schedule.
Решение задачи: «Расписание на visual prolog 5.2»
textual
Листинг программы
- subject(X1),
- subject(X2),
- subject(X3),
- subject(X4),
- (X1 = "Math" ; X1 = "Physics"),
- (X2 = "History" ; X2 = "Chemistry"),
- X3 <> "Physics",
- (X4 = "Math"; X4 = "Chemistry"),
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д