Форум программистов, компьютерный форум, киберфорум
Наши страницы
Prolog
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
Irishkaa
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 4
#1

Дама сдавала в багаж

25.03.2012, 21:33. Просмотров 3232. Ответов 12
Метки нет (Все метки)

Ребят, помогите решить задачку:

Дама сдавала в багаж: диван, чемодан, саквояж, картину, корзину, картонку и маленькую собачонку. Диван весил столько же, сколько чемодан и саквояж вместе, и столько же, сколько картина и картонка вместе. Картина, корзина и картонка весили поровну, причем каждая из них – больше, чем собачонка. Когда выгружали багаж, дама заявила, что собака не той породы. При проверке оказалось, что собака перевешивает диван, если к ней на весы добавить саквояж или чемодан. Требуется написать программу, которая доказала бы справедливость претензии дамы.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2012, 21:33
Ответы с готовыми решениями:

Дама сдавала в багаж Диван
Дама сдавала в багаж Диван, Чемодан, Саквояж, Картину, Корзину, Картонку И...

Выяснить, имеется ли пассажир, багаж которого превышает багаж каждого из остальных пассажиров
Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения...

Записи. Имеется ли пассажир, багаж которого превышает багаж остальных пассажиров по количеству вещей и по весу
помогите сделать задачи на паскале: 1)Задача по записям: Багаж пассажира...

Запись: Выяснить, имеется ли пассажир, багаж которого превышает багаж каждого из остальных пассажиров по кол-ву вещей и по весу
Через записи: Багаж пассажира характеризуется количеством вещей и весом...

Как сдавала 70-536
Всем доброго дня суток! Вот выполняю обещание, ибо обещала рассказать как...

12
Грымзик
2477 / 1454 / 34
Регистрация: 14.09.2009
Сообщений: 2,742
26.03.2012, 18:19 #2
Или я туплю, или непростая задача
Prolog
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
48
49
50
51
o([divan],[chemodan,sakvoyaz]).
o([divan],[kartina,kartonka]).
o([kartina],[korzina]).
o([kartina],[kartonka]).
 
oo(A,A).
oo(A,B):-o(A,B);o(B,A).
 
b([sobachonka,sakvoyaz],[divan]).
b([sobachonka,chemodan],[divan]).
b([kartina],[sobachonka]).
 
bb(A,B):-b(A,B).
bb(A,B):-oo(A,A1),b(A1,B).
 
subset([],[],[]).
subset([H|Tail],[H|ATail],B):-subset(Tail,ATail,B).
subset([H|Tail],A,[H|BTail]):-subset(Tail,A,BTail).
 
yakobi_bolshe(A,A,_,[['Protivorechie!!!']]):-!.
yakobi_bolshe(A,B,Way,[[A,'>',B,', ',S1,'=',S2,' => ',A1,'>',B1]|DTail]):-
    subset(A,S1,A1),not(S1=[]),
    subset(B,S2,B1),not(S2=[]),
    oo(S1,S2),not(member(A1/B1,Way)),
    yakobi_bolshe(A1,B1,[A1/B1|Way],DTail).
yakobi_bolshe(A,B,Way,[[A,'>',B,', ',C,'>',D,' => ',E,'>',F]|DTail]):-
    b(A,B),b(C,D),
    append(A,C,E),append(B,D,F),
    not(member(E/F,Way)),yakobi_bolshe(E,F,[E/F|Way],DTail).
yakobi_bolshe(A,B,Way,[[A,'>',B,', ',S1,'>',S2,' => ',A,'>',B1]|DTail]):-
    subset(B,S1,Temp),bb(S1,S2),
    append(Temp,S2,B1),not(member(A/B1,Way)),
    yakobi_bolshe(A,B1,[A/B1|Way],DTail).
yakobi_bolshe(A,B,Way,[[A,'>',B,', ',S1,'=',S2,' => ',A,'>',B1]|DTail]):-
    subset(B,S1,Temp),oo(S1,S2),not(S1=S2),
    append(Temp,S2,B1),not(member(A/B1,Way)),
    yakobi_bolshe(A,B1,[A/B1|Way],DTail).
 
main:-A=[sobachonka,chemodan],B=[divan],
    yakobi_bolshe(A,B,[A/B],Solve),
    write_solve(Solve).
 
write_solve([]).
write_solve([H|Tail]):-write_s(H),nl,write_solve(Tail).
 
write_s([]).
write_s([H|Tail]):-atom(H),!,write(H),write_s(Tail).
write_s([H|Tail]):-write_l(H),write_s(Tail).
 
write_l([H]):-!,write(H).
write_l([H|Tail]):-write(H),write('+'),write_l(Tail).
Prolog
1
2
3
4
5
6
7
8
?- main.
sobachonka+chemodan>divan, sobachonka+sakvoyaz>divan => sobachonka+chemodan+sobachonka+sakvoyaz>divan+divan
sobachonka+chemodan+sobachonka+sakvoyaz>divan+divan, chemodan+sakvoyaz=divan => sobachonka+sobachonka>divan
sobachonka+sobachonka>divan, divan=kartina+kartonka => sobachonka+sobachonka>kartina+kartonka
sobachonka+sobachonka>kartina+kartonka, kartina>sobachonka => sobachonka+sobachonka>kartonka+sobachonka
sobachonka+sobachonka>kartonka+sobachonka, sobachonka=sobachonka => sobachonka>kartonka
sobachonka>kartonka, kartonka>sobachonka => sobachonka>sobachonka
Protivorechie!!!
1
Irishkaa
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 4
27.03.2012, 12:19  [ТС] #3
подскажите пожалуйста, каким образом адаптировать ее под Strawberry Prolog....
я в замешательстве(((((((
0
Грымзик
2477 / 1454 / 34
Регистрация: 14.09.2009
Сообщений: 2,742
27.03.2012, 12:39 #4
Лучший ответ Сообщение было отмечено как решение

Решение

Prolog
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
48
49
50
51
52
53
54
55
56
57
58
59
?-main.
 
append([],B,B).
append([H|Tail],B,[H|NewTail]):-append(Tail,B,NewTail).
 
member(X,[X|_]).
member(X,[_|Tail]):-member(X,Tail).
 
o([divan],[chemodan,sakvoyaz]).
o([divan],[kartina,kartonka]).
o([kartina],[korzina]).
o([kartina],[kartonka]).
 
oo(A,A).
oo(A,B):-o(A,B);o(B,A).
 
b([sobachonka,sakvoyaz],[divan]).
b([sobachonka,chemodan],[divan]).
b([kartina],[sobachonka]).
 
bb(A,B):-b(A,B).
bb(A,B):-oo(A,A1),b(A1,B).
 
subset([],[],[]).
subset([H|Tail],[H|ATail],B):-subset(Tail,ATail,B).
subset([H|Tail],A,[H|BTail]):-subset(Tail,A,BTail).
 
yakobi_bolshe(A,A,_,[['Protivorechie!!!']]):-!.
yakobi_bolshe(A,B,Way,[[A,'>',B,', ',S1,'=',S2,' => ',A1,'>',B1]|DTail]):-
    subset(A,S1,A1),not(S1=[]),
    subset(B,S2,B1),not(S2=[]),
    oo(S1,S2),not(member(A1/B1,Way)),
    yakobi_bolshe(A1,B1,[A1/B1|Way],DTail).
yakobi_bolshe(A,B,Way,[[A,'>',B,', ',C,'>',D,' => ',E,'>',F]|DTail]):-
    b(A,B),b(C,D),
    append(A,C,E),append(B,D,F),
    not(member(E/F,Way)),yakobi_bolshe(E,F,[E/F|Way],DTail).
yakobi_bolshe(A,B,Way,[[A,'>',B,', ',S1,'>',S2,' => ',A,'>',B1]|DTail]):-
    subset(B,S1,Temp),bb(S1,S2),
    append(Temp,S2,B1),not(member(A/B1,Way)),
    yakobi_bolshe(A,B1,[A/B1|Way],DTail).
yakobi_bolshe(A,B,Way,[[A,'>',B,', ',S1,'=',S2,' => ',A,'>',B1]|DTail]):-
    subset(B,S1,Temp),oo(S1,S2),not(S1=S2),
    append(Temp,S2,B1),not(member(A/B1,Way)),
    yakobi_bolshe(A,B1,[A/B1|Way],DTail).
 
main:-A=[sobachonka,chemodan],B=[divan],
    yakobi_bolshe(A,B,[A/B],Solve),
    write_solve(Solve).
 
write_solve([]).
write_solve([H|Tail]):-write_s(H),nl,write_solve(Tail).
 
write_s([]).
write_s([H|Tail]):-atom(H),!,write(H),write_s(Tail).
write_s([H|Tail]):-write_l(H),write_s(Tail).
 
write_l([H]):-!,write(H).
write_l([H|Tail]):-write(H),write('+'),write_l(Tail).
3
Irishkaa
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 4
27.03.2012, 12:42  [ТС] #5
Спасибо большущее!!!!!! бескрайне благодарна! спасли - таки))
0
taras atavin
4204 / 1764 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
27.03.2012, 12:45 #6
Цитата Сообщение от Irishkaa Посмотреть сообщение
Дама сдавала в багаж: диван, чемодан, саквояж, картину, корзину, картонку и маленькую собачонку. Диван весил столько же, сколько чемодан и саквояж вместе, и столько же, сколько картина и картонка вместе. Картина, корзина и картонка весили поровну, причем каждая из них – больше, чем собачонка. Когда выгружали багаж, дама заявила, что собака не той породы. При проверке оказалось, что собака перевешивает диван, если к ней на весы добавить саквояж или чемодан. Требуется написать программу, которая доказала бы справедливость претензии дамы.
А может собака выросла? Маленькая собачонка ведь могла быть и щенком крупной породы, если дама ездила пару лет, а собачёнку в это время кто то кормил, то мола набрать где то с полцентнера.
0
mrniws
0 / 0 / 0
Регистрация: 16.01.2010
Сообщений: 3
27.03.2012, 12:56 #7
Цитата Сообщение от Irishkaa Посмотреть сообщение
Ребят, помогите решить задачку:

Дама сдавала в багаж: диван, чемодан, саквояж, картину, корзину, картонку и маленькую собачонку. Диван весил столько же, сколько чемодан и саквояж вместе, и столько же, сколько картина и картонка вместе. Картина, корзина и картонка весили поровну, причем каждая из них – больше, чем собачонка. Когда выгружали багаж, дама заявила, что собака не той породы. При проверке оказалось, что собака перевешивает диван, если к ней на весы добавить саквояж или чемодан. Требуется написать программу, которая доказала бы справедливость претензии дамы.
тут ошибка. Диван весил столько же, сколько чемодан и саквояж вместе, и столько же, сколько картина и картонка ЕЩЕ И КОРЗИНКА вместе.
ну это я так..
0
bizyumov
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 3
02.04.2012, 20:11 #8
Поздравляю, Грымзик! 10 баллов за решение второй лабораторной работы по курсу "Системы искусственного интеллекта" для четвертого курса специальности АСУ.
0
Грымзик
2477 / 1454 / 34
Регистрация: 14.09.2009
Сообщений: 2,742
02.04.2012, 20:42 #9
bizyumov, я что-то не очень Вас поняла , это сарказм или серьезно?
0
bizyumov
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 3
02.04.2012, 23:06 #10
Цитата Сообщение от Грымзик Посмотреть сообщение
bizyumov, я что-то не очень Вас поняла , это сарказм или серьезно?
Конечно, сарказм =) Завтра мне ее сдавать принесут.
0
Грымзик
2477 / 1454 / 34
Регистрация: 14.09.2009
Сообщений: 2,742
02.04.2012, 23:17 #11
Ой, так бы сразу и написали Я сама считаю, что просто решать за других не стоит, и как Вы можете убедиться в других темах, я помогаю только при наличии наработок. Но данная задача исключение, она и для меня была не простой, и не представляю как для кого-то это может быть второй программой на прологе. Или может я туплю, тогда я Вас очень прошу направить меня на простое решение.
0
bizyumov
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 3
02.04.2012, 23:50 #12
Цитата Сообщение от Грымзик Посмотреть сообщение
Но данная задача исключение, она и для меня была не простой, и не представляю как для кого-то это может быть второй программой на прологе.
Ну мы с ребятами ее вместе сидели и решали на двух занятиях. Мне сложно оценивать трудоемкость реализации на Прологе апостериори, но логически она решается просто. Для второй программы на Прологе она, если подумать, сложновата, нельзя взять готовое решение и прочее. Исходил из того, что сам не являясь гуру Пролога, остальные похожие задания из этой лабораторной, если разобраться с нуля, за вечер писал.
0
ValeryS
02.04.2012, 23:56     Дама сдавала в багаж
  #13

Не по теме:

Цитата Сообщение от taras atavin Посмотреть сообщение
А может собака выросла?
"однако за время пути собака могла подрасти"(с) С.Я. Маршак
Все решено до вас:p
Цитата Сообщение от Irishkaa Посмотреть сообщение
При проверке оказалось, что собака перевешивает диван,
"Разбойники, воры, уроды собака не той породы"(с) там же
Цитата Сообщение от Irishkaa Посмотреть сообщение
Диван весил столько же, сколько чемодан и саквояж вместе
диван больно легкий

0
02.04.2012, 23:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2012, 23:56
Привет! Вот еще темы с ответами:

Группа из n студентов сдавала сессию
Помогите пожалуйста написать программу в DELPHI. Надеюсь поможете. Заранее...

Определить у кого из пассажиров багаж и вес багажа превышают вес и багаж каждого пассажиров
Необходима помощь в переделывании программы с использованием процедур или...

Найти вероятность того, что будут вынуты дама и король
Из колоды 36 карт наугад извлекаются 2 карты. Найти вероятность того что будут...


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

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

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