Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Lisp
Перезагрузить страницу Напишите предикат p на формулу
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
ABBA@12 ABBA@12 вне форума
Member
 
Сообщений: 33
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.03.2009
Thumbs up Напишите предикат p на формулу - 02.03.2009, 22:48

Искал в форуме, но таких не находил, может не там смотрел? Очень нужно решение, остальное уже решили и нашли в других источниках!!! Заранее хочу сказать спасибо всем сочувствующим

1)Напишите предикат p(+X,+Y,-Z) - истиный тогда и только тогда, когда Z есть "пересечение"
списков X и Y, т.е. список, содержащий их общие элементы, причем кратность каждого элемента
в списке Z равняется минимуму из его кратностей в списках X и Y.

2)напишите предикат p(+L,-N) - истинный тогда и только тогда, когда N - количество различных элементов списка L.

3) Напишите предикат p (+ V , + X , - L ) - истинный тогда и только тогда, когда список L
получается из списка V после удаления всех вхождений X на всех уровнях ,
например , p([ 1 ,[ 2 , 3 ,[1]],[3,1]],1,[[2,3,[]],[3]])- истина.

4)Определим операторы:
:- op(100, fy,~).
:- op(100, xfy,&).
:- op(100, xfy,v).
Булева формула есть терм, определяемый следующим образом: константы true и false-булевы формулы;
если X и Y - булевы формулы, то X v Y, X & Y, ~X - булевы формулы, здесь v и & - бинарные инфиксные операторы
дизъюнкции и конъюнкции, а ~ - унарный оператор отрицания.
Напишите программу, задающую отношение negation_inward(+F1,-F2), которое выполнено, если логическая формула F2
получается из логической формулы F1 внесением всех операторов отрицания внутрь коньюкций и дизъюнкций.
Ответить с цитированием
  (#2 (permalink)) Старый
ABBA@12 ABBA@12 вне форума
Member
 
Сообщений: 33
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.03.2009
По умолчанию 02.03.2009, 23:08

Извеняюсь за неуместность темы. Воросы не снимаются, но добавляется просьба
не могли бы проверить, до того как преподу покажу, а то совсем тупым казаться не оч хочется!!!

Задача на X Lisp

Напишите функцию, вычисляющий последний элемент списка.
(defun revers(x)
if (nul (x)nil
append (revers(rest x))(list(first x))
)
Ответить с цитированием
  (#3 (permalink)) Старый
VH VH вне форума
Member
 
Сообщений: 781
Сказал(а) спасибо: 0
Поблагодарили 11 раз(а) в 10 сообщениях
Регистрация: 29.06.2006
По умолчанию 03.03.2009, 05:12

Функция, возвращающая последний элемент списка:
Код:
(defun F (L)
  (cond
   ((null L) nil)
   ((null (cdr L)) (car L))
   (T (F (cdr L)))))
Ответить с цитированием
  (#4 (permalink)) Старый
ABBA@12 ABBA@12 вне форума
Member
 
Сообщений: 33
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.03.2009
По умолчанию 03.03.2009, 06:34

Спасибо, у меня было по другому)))
Вы мой спаситель))))
Ответить с цитированием
  (#5 (permalink)) Старый
VH VH вне форума
Member
 
Сообщений: 781
Сказал(а) спасибо: 0
Поблагодарили 11 раз(а) в 10 сообщениях
Регистрация: 29.06.2006
По умолчанию 03.03.2009, 07:14

Функция, возвращающая список с обратным порядком элементов:
Код:
(defun REVERSE (x)
  (if (null x) nil
   (append
    (REVERSE (cdr x))
    (list (car x)))))
Ответить с цитированием
Ads.
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Напишите предикат p(+L, +N1, +N2, ?R), который удаляет элементы списка L с позиции Fermer2005 Prolog 2 21.12.2011 18:21
Нужно перевести в электронный вид формулу FirmUltras Delphi 5 13.12.2010 11:18
Работа с матрицами как вычислить формулу Alston C++ Builder 2 15.10.2010 10:12
Как написать свою формулу Tashik Visual Basic 1 05.01.2010 12:40
Как написать самому формулу samo Visual Basic 3 14.08.2008 10:20
Как написать формулу в VBA samo Visual Basic 2 06.08.2008 23:09
XML, Nodes, Рекурсия как создать формулу 095 Delphi 5 02.04.2008 14:16
помогите написать формулу массива diment Visual Basic 2 07.11.2006 12:56
помогите написать формулу diment Visual Basic 5 04.09.2006 11:24
помогите написать формулу diment Visual Basic 7 11.08.2006 10:06
Как вставить формулу в макрос? djonis Visual Basic 2 11.03.2005 09:02
Нужно срочно составить формулу Anonymous Visual Basic 0 21.08.2003 11:45



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов