Форум программистов, компьютерный форум, киберфорум
Наши страницы
Prolog
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
sanyok20000
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 34
1

Составьте предикат, который позволяет сравнить два слова.

23.12.2011, 14:43. Просмотров 1282. Ответов 13
Метки нет (Все метки)

как из этих всех правил сделать одно динамическое правило
Prolog
1
2
3
4
5
6
7
8
9
10
11
students([alihanov,gorban,saprikin,esaylov,shaposnikov,hvorost]).
 
student(X,Y):- Y=1, students([X|_]).
student(X,Y):- Y=2, students([_|[X|_]]).
student(X,Y):- Y=3, students([_|[_|[X|_]]]).
student(X,Y):- Y=4, students([_|[_|[_|[X|_]]]]).
student(X,Y):- Y=5, students([_|[_|[_|[_|[X|_]]]]]).
student(X,Y):- Y=6, students([_|[_|[_|[_|[_|[X|_]]]]]]).
 
 
?-student(X,1), write(X).
5-задание
Составить программу которая будет выводить числа от n до 20 где n-число букв в вашем имени.
Составить программу подсчета числа букв вашей фамилии и вычисления факториала этого числа.


6-задание
Составьте предикат, который позволяет сравнить два слова. Входом предиката являются слова, которые сравниваются, а выходом совпадающие и не совпадающие их части.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2011, 14:43
Ответы с готовыми решениями:

Предикат, который склеивает два списка
Определить на языке ПРОЛОГ следующие рекурсивные предикаты: a) предикат,...

Создать предикат, который разделяет начальный список на два подсписка
создать предикат который разделяет начальный список на два подсписка, в первом...

Напишите предикат, предшествует/2, который берет два атома в качестве своих аргументов и успешно согласуется
Напишите предикат, предшествует/2, который берет два атома в качестве своих...

Создать предикат который:
1. подщитает общее количество латинских букв в строке символов. 2. подщитать ...

Напишите предикат p, который отображает список на экран
Здравствуйте, в университете задали задачку, не могу сама решить, помогите...

13
freest
Українець
422 / 316 / 16
Регистрация: 26.09.2009
Сообщений: 844
23.12.2011, 16:22 2
наработки или во фриланс
0
sanyok20000
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 34
23.12.2011, 16:28  [ТС] 3
наработки
0
freest
Українець
422 / 316 / 16
Регистрация: 26.09.2009
Сообщений: 844
23.12.2011, 16:30 4
ну показывайте
0
sanyok20000
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 34
23.12.2011, 16:30  [ТС] 5
Завтра экзамен я не знаю что делать.
0
freest
Українець
422 / 316 / 16
Регистрация: 26.09.2009
Сообщений: 844
23.12.2011, 16:31 6
наработки покажите!
0
sanyok20000
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 34
23.12.2011, 16:32  [ТС] 7
извините нету наработок
0
freest
Українець
422 / 316 / 16
Регистрация: 26.09.2009
Сообщений: 844
23.12.2011, 16:39 8
извините, но помочь не можем по определению
0
sanyok20000
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 34
23.12.2011, 17:19  [ТС] 9
ну вот есть первая наработка нужно из всех правил сделать одно динамическое
0
freest
Українець
422 / 316 / 16
Регистрация: 26.09.2009
Сообщений: 844
23.12.2011, 17:24 10
такое уже на форуме встречалось. Идите в поиск
0
Грымзик
2477 / 1454 / 34
Регистрация: 14.09.2009
Сообщений: 2,742
23.12.2011, 17:29 11
Первый две действительно встречались, а с 3й помогу, она не элементарная, и Вы хоть что-то сами делали
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
cmp(A,B,Ans):-atom_chars(A,ListA),atom_chars(B,ListB),
    s(ListA,ListB,Ans).
 
s(AList,AList,[A]):-!,atom_chars(A,AList).
s(A,B,[Beg|Tail]):-
    append(BegList,[EA|EndA],A),append(BegList,[EB|EndB],B),
    BegList\=[],EA\=EB,!,
    s([EA|EndA],[EB|EndB],Tail),
    atom_chars(Beg,BegList).
s(A,B,[BegA/BegB|Tail]):-
    append(BegAList,[E|EndA],A),append(BegBList,[E|EndB],B),!,
    s([E|EndA],[E|EndB],Tail),
    atom_chars(BegA,BegAList),atom_chars(BegB,BegBList).
s(AList,BList,[A/B]):-atom_chars(A,AList),atom_chars(B,BList).
?- cmp(aembdrq,aemcfrq,A).
A = [aem, bd/cf, rq].
1
sanyok20000
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 34
23.12.2011, 17:36  [ТС] 12
щас посмотрим а чт писать в поиске хотябы

Добавлено через 10 секунд
щас посмотрим а что писать в поиске хотя бы

Добавлено через 3 минуты
у меня пролог 2.92 он не принемает этот код

Добавлено через 29 секунд
у меня пролог 2.92 он не принемает этот код
0
Грымзик
2477 / 1454 / 34
Регистрация: 14.09.2009
Сообщений: 2,742
23.12.2011, 17:38 13
А надо сразу писать какой пролог, теперь уж сами под свой переделывайте.
1
sanyok20000
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 34
23.12.2011, 17:41  [ТС] 14
ладно спасибо за это)))))
буду что то делать
0
23.12.2011, 17:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2011, 17:41

Предикат, который дублирует все элементы списка
Пожалуйста, помогите написать предикат, который дублирует все элементы списка.

Напишите предикат p( +L, +N, ?R), который удаляет N элементов с конца списка L
Здравствуйте форумчане! Помогите решить задачу, буду благодарен. Напишите...

Предикат, который увеличивает элементы исходного списка на единицу
Добрый вечер! С прологом работаю второй день, помогите разобраться! Не пойму...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru