составить правило в Visual Prolog Нужно найти цену самого дорогого фрукта, не могу понять, как это можно сделать, можно через рекурсию или циклы, но у меня что-то не получается .
Программа:
domains
название=symbol
стоимость=real
predicates
дорогой (стоимость)
фрукты (название, стоимость)
clauses
фрукты (яблоко, 20).
фрукты (груша, 15).
фрукты (вишня, 40).
фрукты (гранат, 70).
фрукты (банан, 60).
фрукты (слива, 30).
дорогой (Ц): -фрукты (_,Ц1), фрукты (_,Ц), (Ц-Ц1)>0. %это правило
goal
дорогой (Ц).
s1, s2: string;
i: integer;
done: boolean;
c: char;
function IsLetter(c: char): boolean;
begin
IsLetter := ((c >= 'a') and (c <= 'z')) or ((c >= 'A') and (c <= 'Z'));
end;
function UpperCase(c: char): char;
begin
if (c >= 'a') and (c <= 'z') then
UpperCase := Chr(Ord(c) - Ord('a') + Ord('A'))
else
UpperCase := c;
end;
begin
used := [];
readln(s1);
readln(s2);
for i := 1 to length(s1) do
if (IsLetter(s1[i])) then
include(used, UpperCase(s1[i]));
for i := 1 to length(s2) do
if (IsLetter(s2[i])) then
include(used, UpperCase(s2[i]));
done := False;
for c := 'A' to 'Z' do
if not (c in used) then
begin
done := True;
write(c);
end;
if not done then
write(0);
writeln;
end.