База данных "Солнечная система" - Prolog
Формулировка задачи:
Задание.
Составить базу данных, учитывая измерение по некоторым параметрам в разных единицах.
Ответить на вопросы: Какие планеты ближе к Солнцу, чем Земля? Какие планеты дальше от Солнца, чем Земля? На каких планетах солнечные сутки меньше, чем земные? На каких планетах период обращения измеряется в годах?
Вот что сделал
Там где период обращение годы перевел в сутки, а средние солнечные сутки в часы.
Составил следующие вопросы:
Такой способ работает и выдает правильные ответы, но преподавателю не понравилось.
Посдкажите пожалуйста как ее можно сделать каким нибудь другим способом?
Листинг программы
- pl(merkuriy,39,88,4224).
- pl(venera,72,225,2808).
- pl(zemlya,100,365,24).
- pl(mars,152,687,25).
- pl(jupiter,520,4380,10).
- pl(saturn,954,10585,11).
- pl(uran,1920,30660,24).
- pl(neptun,3010,60225,22).
- pl(pluton,3950,90155,144).
Листинг программы
- Какие планеты ближе к Солнцу, чем Земля?
- pl(X,Y,_,_),pl(C,W,_,_), pl(zemlya,Z,_,_), Z>Y,W>Y.
- Какие планеты дальше от Солнца, чем Земля?
- pl(X,Y,_,_),pl(C,W,_,_),pl(D,Q,_,_),pl(E,R,_,_),pl(A,T,_,_),pl(B,U,_,_), pl(zemlya,Z,_,_),Z<Y,W>Y,Q>W,R>Q,T>R,U>T.
- На каких планетах солнечные сутки меньше, чем земные?
- pl(X,_,_,Y),pl(C,_,_,W),pl(D,_,_,E),pl(zemlya,_,_,Z), Z>Y,Y>W,W>E.
- На каких планетах период обращения измеряется в годах?
- pl(X,_,Y,_),pl(C,_,W,_),pl(D,_,Q,_),pl(E,_,R,_),pl(A,_,T,_), pl(mars,_,Z,_),Z<Y,W>Y,Q>W,R>Q,T>R.
Решение задачи: «База данных "Солнечная система"»
textual
Листинг программы
- pl(mars,152,687,d,25).
- pl(jupiter,520,12,y,10).
Объяснение кода листинга программы
- В коде указаны два утверждения (предложения) на языке Prolog:
- Первое утверждение: pl(mars,152,687,d,25).
- Второе утверждение: pl(jupiter,520,12,y,10).
- Оба утверждения начинаются с ключевого слова
pl
, что означаетпредположение
на языке Prolog. - В каждом утверждении первое слово - это название планеты (mars или jupiter).
- Затем следуют числа, которые, вероятно, представляют собой характеристики или параметры планеты: 152, 687, 520, 12.
- Далее идет буква, которая, возможно, указывает на определенный атрибут планеты: d или y.
- И, наконец, последнее число в каждом утверждении - это значение, связанное с данным атрибутом планеты: 25 или 10.
- Каждое утверждение заканчивается точкой, что является синтаксическим правилом языка Prolog.
- Возможно, эти утверждения являются частью базы данных
Солнечная система
, где каждая запись представляет собой факт о планете и ее характеристиках. - Для полного понимания кода и его контекста требуется дополнительная информация.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д