Запуск программы TurboProlog на SWI-prolog

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

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

Программа на прологе, замечательно работающая в TurboProlog2.0
Листинг программы
  1. PREDICATES
  2. add(integer,integer)
  3. fadd(real,real)
  4. maximum(real,real,real)
  5. n3(integer,integer)
  6. gipotenuza(integer,integer)
  7. CLAUSES
  8. gipotenuza(X,Y):- Z = sqrt(X*X + Y*Y),write("Sum= ",Z).
  9. add(X,Y):-Z=X+Y,write("Sum= ",Z),nl.
  10. fadd(X,Y):-Z=X+Y,write("FSum=",Z),nl.
  11. maximum(X,X,X).
  12. maximum(X,Y,X):- X>Y.
  13. maximum(X,Y,Y):- X<Y.
  14. n3(X,Y):-maximum(X,Y,Z),R=3*Z,write("n3=",R),nl.
топики про переделку программ читал, однако изыскания не к чему не привели, т.к. не одна из попыток не заработала как надо скидываю исходный вариант - работающей программы.

Решение задачи: «Запуск программы TurboProlog на SWI-prolog»

textual
Листинг программы
  1. gipotenuza(X,Y):- Z is sqrt(X*X + Y*Y), write('Sum= '), writeln(Z).
  2. add(X,Y):- Z=X+Y, write('Sum= '), writeln(Z).
  3. fadd(X,Y):- Z=X+Y, write('FSum='), writeln(Z).
  4.  
  5. maximum(X,X,X).
  6. maximum(X,Y,X):- X>Y.
  7. maximum(X,Y,Y):- X<Y.
  8.                        
  9. n3(X,Y):- maximum(X,Y,Z), R is 3*Z, write('n3='), writeln(R).

Объяснение кода листинга программы

  1. gipotenuza(X,Y) - функция вычисляет гипотенузу прямоугольного треугольника по формуле: Z = sqrt(XX + YY).
  2. add(X,Y) - функция складывает числа X и Y, результат сохраняется в переменной Z.
  3. fadd(X,Y) - функция складывает числа X и Y, результат сохраняется в переменной Z, но с учетом симметричности (добавляется знак числа).
  4. maximum(X,Y,Z) - функция находит максимальное число из трех, значения которых X, Y, Z.
  5. n3(X,Y) - функция находит куб максимального числа из двух, значения которых X, Y.
  6. Значения переменных: X, Y, Z, R - неопределенные.
  7. Вывод на экран:
  8. gipotenuza(X,Y) - выводит гипотенузу прямоугольного треугольника.
  9. add(X,Y) - выводит сумму чисел X и Y.
  10. fadd(X,Y) - выводит сумму чисел X и Y с учетом симметричности.
  11. maximum(X,Y,Z) - выводит максимальное число из трех.
  12. n3(X,Y) - выводит куб максимального числа из двух.
  13. Значение константы 3 - не определено.
  14. Значение переменной R - не определено.
  15. Вывод на экран с помощью функций writeln(Z) и write('n3=').
  16. Передача значений переменных в качестве аргументов функций.
  17. Оператор is используется для присваивания значения переменной Z.
  18. Оператор : используется для задания условий.
  19. Оператор - используется для задания отношений между переменными.
  20. Оператор * используется для умножения чисел.

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут