Заменить в исходном списке отрицательные элементы на ноль - Prolog

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

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

Есть программа, сказали изменить ее, чтобы отрицательные элементы менялись на ноль. Помогите пожалуйста исправить программу...

Решение задачи: «Заменить в исходном списке отрицательные элементы на ноль»

textual
Листинг программы
domains
int=integer
intl=int*
 
predicates
subs(intl,intl)
 
clauses
subs([],[]).
subs([H|T],[0|Q]) :- H<0, subs(T,Q).
subs([H|T],[H|Q]) :- H>=0, subs(T,Q).

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

  1. Задана программа на языке Prolog с двумя предикатами: subs(intl,intl) и go(intl).
  2. В первом предикате subs(intl,intl) первый аргумент имеет тип intl, второй аргумент имеет тип intl.
  3. Во втором предикате go(intl) первый аргумент имеет тип intl.
  4. В программе присутствуют две фразы:   1) subs([],[]).   2) subs([H|T],[0|Q]) :- H<0, subs(T,Q).   3) subs([H|T],[H|Q]) :- H>=0, subs(T,Q).
  5. Фраза subs([],[]). является правильным ответом на вопрос: Что происходит, когда в качестве первого аргумента передается пустой список?
  6. Фраза subs([H|T],[0|Q]) :- H<0, subs(T,Q). является правильным ответом на вопрос: Что происходит, когда в качестве первого аргумента передается список с отрицательным элементом?
  7. Фраза subs([H|T],[H|Q]) :- H>=0, subs(T,Q). является правильным ответом на вопрос: Что происходит, когда в качестве первого аргумента передается список с положительным элементом?
  8. В программе используется не более 20 элементов, выделяемых кавычками, для представления значений переменных.
  9. В программе используются следующие типы данных: int для целочисленных значений и intl для значений, которые могут быть отрицательными.
  10. Вероятно, данная программа решает задачу замены отрицательных элементов в списке на ноль.

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


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

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

6   голосов , оценка 4 из 5
Похожие ответы