Сложности с Prolog

Узнай цену своей работы

Формулировка задачи:

Задание: Написать в Turbo Prolog программу, которая будет искать значение Z по введённым с клавиатуры значениям X и Y, при этом в зависимости от значения X должно происходить разветвление программы. Например, при X < 0, Z = X + Y, а при X >= 0, Z = X*Y.
Всё работает, но почему-то турбо пролог просит ввести первое и второе значение (X и Y соответственно) дважды при условии, если это положительные числа (на самом деле понятно почему просит, но как этого избежать?). Я перепробовал по-разному, в прологе всего несколько дней, пока не знаю всех тонкостей. Уже пару часов пока ничего работающего на ум не приходит.

Решение задачи: «Сложности с Prolog»

textual
Листинг программы
    find(X, Y, Z) :- X<0, Z=X+Y, write(X, "+", Y, "=", Z), nl.
    find(X, Y, Z) :- X>=0, Z=X*Y, write(X, "*", Y, "=", Z), nl.
goal
    enter(X, Y),     
    find(X, Y, Z).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5