загрузить набор грузов, заданный списком весов грузов в несколько одинаковых грузовиков.вот эта задача в синтаксисе турбо-пролога,
predicates
fillTrucks(
real*, % weights
real, % max load
integer, % number of trucks
real** % weights in trucks
).
fillOneTruck(
real*, % source weights
real, % max load
real*, % weights in the truck
real* % weights left unloaded
).
помогите все это в синтаксис пролог д переделать пожалуйста
16.04.13 11:46: Перенесено модератором из 'Прочее' — Кодт
Здравствуйте, fedorSmt, Вы писали:
S>помогите все это в синтаксис пролог д переделать пожалуйста
Не кажется ли странным, что это один в один цитата из моего
ответаАвтор: Кодт
Дата: 14.04.13
?
То есть, смысл вопроса "напишите программу за меня", или просто непонятно, о чём именно я там писал?
Допустим, что просто непонятно. Объясняю.
Во многих диалектах пролога нет нужды указывать сигнатуры предикатов: интерпретатор берёт определения и смотрит разве что на арность (количество аргументов). Чем турбо-пролог выгодно отличается — возможностью описать типы аргументов. Это улучшает понимание программы и избавляет от ошибок.
Я написал на турбо-прологе лишь для того, чтобы пояснить, на каком месте что должно находиться. Реализацию же предикатов — это извините, не моя лабораторка.
fillTrucks( Weights, MaxLoad, NumTrucks, WeightsInTrucks ) :- ..... .
fillOneTruck( Weights, MaxLoad, WeightsInTruck, RestWeights ) :- ..... .
Попробуйте написать fillTrucks (в оригинале — gruz) через fillOneTruck. Это несложно.
Кстати, раздача осмысленных имён облегчает жизнь. Вместо [a|A],b,C,D,[e] всяких.
P.S.
Что за диалект такой — Пролог Д?