Арифметическая прогрессия - Prolog

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

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

Дать определение N-ного члена арифметической прогрессии. Помогите пожалуйста.

Решение задачи: «Арифметическая прогрессия»

textual
Листинг программы
  1. marka("russkie1").
  2. marka("bolgarskie").
  3. marka("chewskie").
  4. marka("russkie2").
  5.  
  6. odinakovie(X,X).
  7. odinakovie("russkie1","russkie2").
  8. odinakovie("russkie2","russkie1").
  9.  
  10. solution(Y1,Y2,Y3,Y4):-
  11.     marka(Y1),marka(Y2),not(Y1=Y2),
  12.     marka(Y3),not(Y1=Y3),not(Y2=Y3),
  13.     marka(Y4),not(Y1=Y4),not(Y2=Y4),not(Y3=Y4),
  14.     not(odinakovie(Y1,Y2)),
  15.     not(odinakovie(Y1,Y4)),
  16.     not(odinakovie(Y3,Y4)),
  17.     not(odinakovie(Y1,Y3)),
  18.     not(odinakovie(Y2,Y4)),
  19.     not(Y1="bolgarskie").

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

В коде присутствуют следующие элементы:

  1. Три переменные: Y1, Y2, Y3, Y4, которые являются строками.
  2. Два предиката: marka и odinakovie.
  3. Предикат marka описывает маркировку элементов. Он принимает два аргумента, первый из которых обозначает текущий элемент, а второй — маркировку этого элемента.
  4. Предикат odinakovie описывает уникальность элементов. Он принимает три аргумента, первые два из которых обозначают текущие элементы, а третий — их взаимное расположение (первый элемент, второй элемент, взаимное расположение).
  5. Предикат solution описывает решение задачи. Он принимает четыре аргумента, которые соответствуют четырем найденным элементам.
  6. В коде присутствуют три строки, которые обозначают маркировку элементов: russkie1, bolgarskie, chewskie, russkie2.
  7. В коде присутствуют следующие факты: — два факта для предиката marka: — факт marka(russkie1) описывает, что первый элемент имеет маркировку russkie1; — факт marka(bolgarskie) описывает, что второй элемент имеет маркировку bolgarskie; — факт marka(chewskie) описывает, что третий элемент имеет маркировку chewskie; — факт marka(russkie2) описывает, что четвертый элемент имеет маркировку russkie2; — два факта для предиката odinakovie: — факт odinakovie(russkie1,russkie2) описывает, что первый и второй элементы не могут быть одинаковыми; — факт odinakovie(russkie2,russkie1) описывает, что второй и первый элементы не могут быть одинаковыми; — факт not(Y1=bolgarskie) описывает, что первый элемент не может иметь маркировку bolgarskie.

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


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

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

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

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

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

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