Списки, вывести максимальную зарплату - Prolog

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

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

Прога не работает где я допустил ошибку?
Листинг программы
  1. DOMAINS
  2. List=integer*
  3. Staj, Zarplata = integer.
  4. Name = string
  5. PREDICATES
  6. sotr(Name,Staj,Zarplata).
  7. nondeterm max(List,integer).
  8. CLAUSES
  9. sotr("Kalyk Islam", 1, 10000).
  10. sotr("Belan Evgeniya", 2, 2000).
  11. sotr("Zulpidin Kurban", 3, 3000).
  12. sotr("Gudkova Tatiana", 4, 4000).
  13. sotr("Kirillov Vladislav", 5, 5000).
  14. sotr("Li Roman", 6, 6000).
  15. sotr("Pushkarev Pavel", 7, 7000).
  16. sotr("Saitov Ilnur", 8, 8000).
  17. sotr("Satybaev Muhamed", 9, 9000).
  18. sotr("Tretyakov Andrey", 10, 10000).
  19. max([X],X).
  20. max([H|Tail],H):-max(Tail,M),H<M,!.
  21. max([_|Tail],M):-max(Tail,M).
  22. GOAL
  23. findall(sotr(_,_,Zarplata),L),nl,max(List,X),write(X),nl,sotr(Name,Staj,X).

Решение задачи: «Списки, вывести максимальную зарплату»

textual
Листинг программы
  1. findall(Zarplata, sotr(_,_,Zarplata), L),

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

  1. findall(Zarplata, sotr(_,_,Zarplata), L) - это выражение на языке Prolog, которое ищет все значения переменной Zarplata, которые удовлетворяют условию sotr(_,_,Zarplata). Здесь sotr - это название функции или оператора, а Zarplata - это название переменной.
  2. sotr(_,_,Zarplata) - это условие, которое определяет, какие значения переменной Zarplata должны быть найдены. Здесь _ - это местозаменитель для любого значения, которое может быть проверено на соответствие условию.
  3. L - это название переменной, которая используется для хранения найденных значений переменной Zarplata.
  4. Zarplata - это название переменной, которая представляет собой список значений, которые мы ищем. Каждое значение в этом списке соответствует одной записи в базе данных или наборе данных, на основе которых выполняется поиск.
  5. В результате выполнения этого выражения, Prolog найдет все значения переменной Zarplata, которые удовлетворяют условию sotr(_,_,Zarplata), и сохранит их в переменной L.

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


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

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

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

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

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

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