Изменить знак на противоположный у элементов списка целых чисел

      Комментарии к записи Изменить знак на противоположный у элементов списка целых чисел отключены

Главная Форумы Программирование Помощь с решением задач на Prolog Задачи на списки Изменить знак на противоположный у элементов списка целых чисел

В этой теме 0 ответов, 1 участник, последнее обновление  Васильев Владимир Сергеевич 1 месяц, 1 неделя назад.

  • Автор
    Сообщения
  • #3287

    Нужно выполнить задание на языке Prolog:

    Изменить знак на противоположный у элементов списка целых чисел.

    domains 
    	list = integer*
    predicates
      	sign_list(list, list)
    clauses
      	sign_list([], []):-!.
      	sign_list([Head|Tail], [SignHead|SignTail]):-
      		SignHead = -Head,
      		sign_list(Tail, SignTail). 
    goal
      	sign_list([1,2,3,-4,-5], SignList).

    Если исходный список пуст — результатом является пустой список. В противном случае список разделяется на голову и хвост ([Head|Tail]). Хвост обрабатывается рекурсивно, в результате формируется SignTail, к которому для поучения окончательного результата дописывается первый элемент с измененным знаком.
    sign_list_prolog_img

Для ответа в этой теме необходимо авторизоваться.