Запуск программы TurboProlog на SWI-prolog
Формулировка задачи:
Программа на прологе, замечательно работающая в TurboProlog2.0
топики про переделку программ читал, однако изыскания не к чему не привели, т.к. не одна из попыток не заработала как надо скидываю исходный вариант - работающей программы.
Решение задачи: «Запуск программы TurboProlog на SWI-prolog»
textual
Листинг программы
gipotenuza(X,Y):- Z is sqrt(X*X + Y*Y), write('Sum= '), writeln(Z). add(X,Y):- Z=X+Y, write('Sum= '), writeln(Z). fadd(X,Y):- Z=X+Y, write('FSum='), writeln(Z). maximum(X,X,X). maximum(X,Y,X):- X>Y. maximum(X,Y,Y):- X<Y. n3(X,Y):- maximum(X,Y,Z), R is 3*Z, write('n3='), writeln(R).
Объяснение кода листинга программы
- gipotenuza(X,Y) - функция вычисляет гипотенузу прямоугольного треугольника по формуле: Z = sqrt(XX + YY).
- add(X,Y) - функция складывает числа X и Y, результат сохраняется в переменной Z.
- fadd(X,Y) - функция складывает числа X и Y, результат сохраняется в переменной Z, но с учетом симметричности (добавляется знак числа).
- maximum(X,Y,Z) - функция находит максимальное число из трех, значения которых X, Y, Z.
- n3(X,Y) - функция находит куб максимального числа из двух, значения которых X, Y.
- Значения переменных: X, Y, Z, R - неопределенные.
- Вывод на экран:
- gipotenuza(X,Y) - выводит гипотенузу прямоугольного треугольника.
- add(X,Y) - выводит сумму чисел X и Y.
- fadd(X,Y) - выводит сумму чисел X и Y с учетом симметричности.
- maximum(X,Y,Z) - выводит максимальное число из трех.
- n3(X,Y) - выводит куб максимального числа из двух.
- Значение константы 3 - не определено.
- Значение переменной R - не определено.
- Вывод на экран с помощью функций writeln(Z) и write('n3=').
- Передача значений переменных в качестве аргументов функций.
- Оператор is используется для присваивания значения переменной Z.
- Оператор : используется для задания условий.
- Оператор - используется для задания отношений между переменными.
- Оператор * используется для умножения чисел.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д