> 1 <

Автор Сообщение

19Sky89

Members


Статус

4 сообщений

Где: Russia
Род занятий:
Возраст:

#3743   2010-12-21 11:03 GMT+3 часа(ов)      
Очень нужна помощь в создании программ:
1. Создать программу, выделяющую из введенного текста прилагательные.
2. Создать программу, выделяющую из введенного текста предлоги.
Заранее спасибо, очень надеюсь на вашу помощь!

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#3745   2010-12-21 12:04 GMT+3 часа(ов)      
я ржунимагу над вашими задачами!)))))) Единственный раз, когда решал подобную задачу - писал на VB и связывал с winword.
I wish I'd made you angry earlier

19Sky89

Members


Статус

4 сообщений

Где: Russia
Род занятий:
Возраст:

#3746   2010-12-21 13:40 GMT+3 часа(ов)      
megamanx, что тут смешного??? я обратился за помощью, не можете помочь, так и напишите, или дайте толковый ответ!

19Sky89

Members


Статус

4 сообщений

Где: Russia
Род занятий:
Возраст:

#3747   2010-12-21 13:59 GMT+3 часа(ов)      
У нас просто зачет и такое задание дали

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#3748   2010-12-21 14:03 GMT+3 часа(ов)      
1. тут смешного - твой вопрос. На этом форуме сливают задачи все, кому ни лень. Имеющие отношение к лиспу, или не имеющие - уже не важно.
2. Толковое рабочее решение я дал - на VB или jscript с привязкой к API winword (может, такая фича и у openoffice есть), либо к другой программе с интерфейсом, позволяющим получать ответы на вопрос, типа isNoun? Если сможете прикрутить это к какому-нибудь лиспу, это будет круто.
3. Решение, одно из возможных
3.1 пишете функцию split (её уже на форуме писало 4 человека, в предыдущих топиках)
3.2 задаёте список предлогов
3.3 используя ф-ю member, проходите по списку слов, находя предлоги
4. как работать с прилагательными
4.1 пишете функцию split (её уже на форуме писало 4 человека, в предыдущих топиках)
4.2 задаёте список окончаний прилагательных
4.3 находите все слова, оканчивающиеся указанными в списке окончаний окончаниями
I wish I'd made you angry earlier

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#3749   2010-12-21 14:22 GMT+3 часа(ов)      
(defun split-by-space (string)
(loop for i = 0 then (1+ j)
as j = (position #\Space string :start i)
for temp = (subseq string i j)
when (not (string= temp "")) collect temp
while j))
 
(defvar X '("в" "над" "под" "из-за"))
 
(defun smember (who where)
(cond
((null where) nil)
((string= who (car where)) T)
(T (smember who (cdr where)))))
 
(defun getPredlog (L pl)
(let ((str (split-by-space L) ))
(loop for i in str when (smember i pl) collect i)))
 
(defun isAdj (word adjlist)
"в предположении, что окончание из 2-х или 3-х букв"
(let ((len (length word)))
(or (smember (subseq word (- len 2) len) adjlist) (smember (subseq word (- len 3) len) adjlist))))

В lispworks работает с русским

отредактировал(а) megamanx: 2010-12-22 00:28 GMT+3 часа(ов)
I wish I'd made you angry earlier
> 1 <


Онлайн :

0 пользователь(ей), 41 гость(ей) :