Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 19

Требуется реализовать систему антиплагиат

02.12.2012, 03:46. Показов 1681. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста.Требуется реализовать систему антиплагиат.Имеется база текстов (списки). Входом
является некоторый список. Необходимо найти совпадающие последовательности
из более чем 8 слов (атомов) данного текста (списка) и текстов (списков)
из базы. Кроме того, необходимо указать номера списков базы, с которыми
есть такие совпадения.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.12.2012, 03:46
Ответы с готовыми решениями:

Реализовать систему
предположим, что в начальный момент времени на расстоянии S0 от собаки пробегает заяц. Его движение прямолинейно и скорость равна U. Собака...

Требуется разработать информационную систему мал.предприятия
Требуется программист (можно со-товарищи) для разработки информационной системы мал.предприятия (строительство) на базе MS (SQL Server,...

Требуется удалить rusearcher.com как поисковою систему
Надо удалить rusercher.com как поисковую систему а она закреплена администратором (скачивал пауверпоинт и словил тонну вирусняков, все...

10
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,707
Записей в блоге: 14
02.12.2012, 09:57
Решение (HomeLisp):

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
;; вспомогательная функция (нарезает список на 8-атомные отрезки):
 
(defun mkseq (lst)
  (cond ((< (length lst) 8) nil)
        ((= (length lst) 8) (list lst))
        (t (cons (subseq lst 0 8) (mkseq (cdr lst))))))
 
==> mkseq
 
(mkseq '(q w e r t y u i o p))
 
==> ((q w e r T y u i) (w e r T y u i o) (e r T y u i o p))
 
;; вспомогательная функция (проверяет, находится ли один список целиком в другом списке):
 
(defun chk-seq (lst patt)
  (cond ((> (length lst) (length patt)) nil)
        ((equal (subseq patt 0 (length lst)) lst) t)
        (t (chk-seq lst (cdr patt)))))
 
==> chk-seq
 
(chk-seq '(q w e r t y) '(z x c v q w e r t y u i o k))
 
==> T
 
(chk-seq '(z w e r t y) '(z x c v q w e r t y u i o k))
 
==> NIL
 
;; решение задачи (проверка списка lst по базе списов base)
 
(defun task (lst base)
  (let ((n 0) (p 0))
       (dolist (patt base p)
            (setq n (+ n 1))
            (when (chk-seq lst patt) (return n)))))
 
==> task
 
(task '(1 2 3 4 5 6 7 q) '((q w e r t y u i o p) (1 2 3 4 5 6 7 8 9 a s d) (g h v b v x c d s e r t)))
 
==> 0
 
(task '(1 2 3 4 5 6 7 8) '((q w e r t y u i o p) (1 2 3 4 5 6 7 8 9 a s d) (g h v b v x c d s e r t)))
 
==> 2
Добавлено через 5 минут
И в Сommon Lisp тоже работает.
2
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 19
02.12.2012, 21:41  [ТС]
Спасибо Вам огромное-преогромное!
0
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 19
11.12.2012, 17:05  [ТС]
Catstail, прошу прощения, не могли бы вы пояснить вот эту часть, в которой, я так понимаю, указываются номера списков базы, дело в том, что я в лиспе новичок, проблемы с синтаксисом. не совсем понятны три строчки посередине, что именно мы задаём. заранее большое спасибо.

(defun task (lst base)
(let ((n 0) (p 0))
(dolist (patt base p)
(setq n (+ n 1))
(when (chk-seq lst patt) (return n)))))
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,707
Записей в блоге: 14
11.12.2012, 19:22
Lisp
1
2
3
4
5
(defun task (lst base)
   (let ((n 0) (p 0))  ;; две локальные переменные n и p
   (dolist (patt base p) ;; переменная patt последовательно "пробегает" всю базу
   (setq n (+ n 1)) ;; переменная n отражает номер записи базы
   (when (chk-seq lst patt) (return n)))))  ;; если нашли совпадение - возвращаем номер записи базы
2
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 19
11.12.2012, 21:26  [ТС]
Catstail, спасибо!
0
0 / 0 / 0
Регистрация: 13.11.2013
Сообщений: 4
13.11.2013, 22:44
Здравствуйте. Подскажите пожалуйста как сделать эту систему, если исходный список состоит из более чем 8 символов и последовательность 8 атомов встречается в нескольких списках базы. И что нужно сделать, чтобы результатом работы был: ((номер списка базы, совпадающая последовательность)(номер списка базы совпадающая последовательность) и т.д.). Заранее спасибо.

Добавлено через 7 минут
Цитата Сообщение от Catstail Посмотреть сообщение
(defun chk-seq (lst patt)
* (cond ((> (length lst) (length patt)) nil)
* * * * ((equal (subseq patt 0 (length lst)) lst) t)
* * * * (t (chk-seq lst (cdr patt)))))
Я использую вашу функцию и затем подставляю ее в след функциюdefun F (a b)
(cond
((null b) nil)
((chk-seq a (car b)) (cons a (F a (cdr b)))) (t (F a (cdr b))))) Получаю след результат: (F `(1 2 3) `((1 2 3 4) (2 3 1 2 3) (6 7 8 9)))
((1 2 3) (1 2 3))

Добавлено через 5 минут
А хотелось бы чтобы программа получала на вход: (F `(1 2 3 4 5 6 7 8 9 10) `((1 2 3 4 5 6 7 8 2 3) (2 3 4 5 6 7 8 9 23) (5 6 7 8 4 3 2 1 2 3 4) (3 4 5 6 7 8 9 10 2 3))) и давала результат: ((1 1 2 3 4 5 6 7 8) (2 2 3 4 5 6 7 8 9) (4 3 4 5 6 7 8 9 10)) где первое число номер подсписка а далее идет совпадающая последовательность из 8 элементов.
Помогите пожалуйста!!!!!!!!!!!!!!!!
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,707
Записей в блоге: 14
13.11.2013, 23:04
Ну, замените восьмерку на другое число... Или я чего-то не понял?
1
0 / 0 / 0
Регистрация: 13.11.2013
Сообщений: 4
13.11.2013, 23:16
Извините пожалуйста, а где заменить 8 на др число? Может быть я неправильно сформулировала постановку проблемы?
0
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 19
14.11.2013, 00:41  [ТС]
Lisp
1
2
3
4
5
6
7
8
 (defun mkseq (lst)
 
  (cond ((< (length lst) 8) nil)
 
        ((= (length lst) 8) (list lst))
 
        (t (cons (subseq lst 0 8) (mkseq (cdr lst))))))
MKSEQ
вероятно, здесь
0
0 / 0 / 0
Регистрация: 13.11.2013
Сообщений: 4
14.11.2013, 12:45
Подскажите пожалуйста, что нужно изменить в след функции, чтоб вместо единиц, он выдавал конкретный номер подсписка.
(defun F6 (a b)
(let ((n 0))
(cond
((null b) nil)
((listp (car b)) (cons (if (F2 a (car b)) (list a (+ n 1)) (F2 a (cdr b))) (F6 a (cdr b))))
(t (F6 a (cdr b))))))

Вот результат работы: CL-USER 22 : 2 > (F6 `(1 2 3) `((1 2 3 4) (1 2 3 4 5 8)))
(((1 2 3) 1) ((1 2 3) 1))

Добавлено через 1 минуту
Где под функцией F2 используется ваша функция.
Цитата Сообщение от new@ Посмотреть сообщение
Сообщение от Catstail
(defun chk-seq (lst patt)
* (cond ((> (length lst) (length patt)) nil)
* * * * ((equal (subseq patt 0 (length lst)) lst) t)
* * * * (t (chk-seq lst (cdr patt)))))
Добавлено через 14 минут
Прошу вас подскажите пожалуйста хоть что-нибудь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.11.2013, 12:45
Помогаю со студенческими работами здесь

Реализовать систему турагентства
На днях дали задание: Система Турагентство. Заказчик выбирает и оплачивает Тур (отдых, экскурсия, шоппинг). Турагент определяет тур как...

Реализовать систему поиска
Надо написать функцию для нахождения информации о людях чье имя начинается на &quot;ф&quot; ну или другую(другие) буквы Здесь это функция...

Реализовать в Delphi систему классов
Реализовать в Delphi систему классов 1. Класс для работы с информацией о сотруднике (Поля – табельный номер, Фамилия, Имя, Оклад). Оклад...

Как реализовать систему поиска?
У меня есть код поисковой формы, украшенного через css: &lt;input placeholder=&quot;Найти!&quot; type=&quot;search&quot;&gt; Уже не один месяц...

Как реализовать систему комментариев?
Как реализовать систему комментариев если у меня на странице до фига картинок и надо к каждой сделать комментарии как это реализовать что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru