Вывод промежуточного результата - Prolog

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

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

Есть код нахождения чисел Фибоначчи. Как сделать так,что бы он выводил полностью список чисел? Например
Листинг программы
  1. predicates
  2. f(integer, integer)
  3. clauses
  4. f(1,1):-!.
  5. f(2,1):-!.
  6. f(P,Ch):-
  7. A=P-1,f(A, AF),
  8. B=P-2,f(B, BF),
  9. Ch=AF+BF.
  10. goal
  11. f(6,X).

Решение задачи: «Вывод промежуточного результата»

textual
Листинг программы
  1. fiblist(1):- fib(1,H), writeln(H),!.
  2. fiblist(N):- fib(N,H), N1 is N - 1, fiblist(N1), writeln(H),!.

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

  1. fiblist(1):- fib(1,H), writeln(H),! В этом пункте программа вызывает факт fib(1,H), где H является результатом вычисления факториала числа 1. Затем она выводит значение H с помощью функции writeln(H). Знак ! используется для прекращения поиска в момент нахождения решения.
  2. fiblist(N):- fib(N,H), N1 is N - 1, fiblist(N1), writeln(H),! Этот пункт похож на первый, но вместо этого он вызывает факт fib(N,H), где H является результатом вычисления факториала числа N. Затем он вычисляет новое значение N1, которое равно N - 1, и вызывает fiblist(N1), чтобы продолжить рекурсивный процесс. После этого он выводит значение H с помощью функции writeln(H). Знак ! используется для прекращения поиска в момент нахождения решения. В этом коде используется рекурсивная функция для вычисления факториала числа. Код продолжает вызывать себя, пока не достигнет базового случая (когда N равно 1), и затем он выводит результат каждого шага вычисления факториала.

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


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

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

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

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

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

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