2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Пролог
Сообщение23.04.2014, 17:46 
Дана задача по прологу: Из заданного списка слов получить список слов содержащих заданную подстроку.
Я решил вот так:
удалить(_,[],[]).
удалить(а,[а|б],в):-удалить(а,б,в).
удалить(а,[б|в],[б|г]):-НЕ(РАВНО(а,б)),удалить(а,в,г).

подстр([],_,[]).
подстр([ы|в],а,[ы|Ж]):-КОПИЯ(ы,й,ц,а),!,удалить(ы,[ы|в],д),подстр(д,а,Ж).
подстр([ы|в],а,Ж):-подстр(в,а,Ж).

?подстр([гиря, лошадь, романтика, гирлянда, перегиб, Гималаи], "ги",v).

Все работает, но преподаватель сказал: Бессмысленное применение предиката "удалить", а как решить без этого предиката не могу сообразить, помогите, пожалуйста.

 
 
 
 Posted automatically
Сообщение23.04.2014, 17:53 
Аватара пользователя
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Программирование»

Код оформляйте тегом code.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group