Определить минимум из двух чисел - Prolog
Формулировка задачи:
Пытаюсь написать консольную программу на SWI Prolog.
Прогармма должна читать с консоли два числа, а затем вывести минимальное из них. Я делаю это так:
Но это работает только для положительных целых чисел. Не могу разобраться, как сделать, чтобы работало и с отрицательными и с вещественными тоже. Помогите разобраться.
В случае отрицательных там в список попадает два элемента - "-" и число как два элемента списка.
Листинг программы
- mymin([A|B], MIN) :- MIN is min(A,B).
- main :-
- readln(X),
- readln(Y),
- append(X,Y,Z),
- mymin(Z, MIN),
- write(MIN),
- nl.
Решение задачи: «Определить минимум из двух чисел»
textual
Листинг программы
- predicates
- min(integer,integer,integer)
- task
- clauses
- min(A,B,A) :- A<=B.
- min(A,B,B) :- A>B.
- task :- write("x="), readint(X), write("y="),readint(Y), min(X,Y,Z), write("min="),write(Z),nl.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д