Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
annyway
1

Найти возраст всех учеников в семье.

24.05.2012, 09:58. Показов 2348. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
predicates
nondeterm male(symbol)  /*мужчина(кто)*/
nondeterm female(symbol)  /*  женщина  */
nondeterm parent(symbol,symbol,symbol) /*родители(отец,мать,чьи)*/
nondeterm age(symbol,integer)/* возраст(чей,какой) */
 
clauses
 
male(“Иван“).
male(“Петр“).
male(“Николай“).
male(“Андрей“).
male(“Федор“).
 
female(“Анна“).
female(“Зоя“).
female(“Наташа“).
female(“Вера“).
female(“Мария“).
 
parent(“Иван“,”Зоя“,”Петр“).
parent(“Иван“,”Зоя“,”Наташа“).
parent(“Федор“,”Анна“,”Зоя“).
parent(“Федор“,”Анна“,”Андрей“).
parent(“Николай“,”Мария“,”Иван“).
parent(“Николай“,”Мария“,”Вера“).
 
age(“Анна“,54).
age(“Зоя“,33).
age(“Наташа“,13).
age(“Вера“,42).
age(“Мария“,62).
age(“Николай“,65).
age(“Иван“,40).
age(“Андрей“,30).
age(“Петр“,7).
age(“Федор“,58).
Используя предикат Pupil , позволяющий узнать явл.ли этот человек учеником(возраст от 7 до 17).Применив этот предикат получить ответ на вопрос, ученики какого возраста имеются в этой семье? предикат Pupil , позволяяющий узнать явл.ли этот человек учеником(возраст от 7 до 17).Применив этот предикат получить ответ на вопрос, ученики какого возраста имеются в этой семье?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2012, 09:58
Ответы с готовыми решениями:

Известен возраст (в годах в виде 14,5 лет и т. д.) каждого ученика класса. Определить средний возраст учеников
Известен возраст (в годах в виде 14,5 лет и т. д.) каждого ученика класса. Определить средний...

Вводятся данные о росте N учеников. Найти средний возраст группы
Ребят, помогите сделать программу (devC++) : Вводятся данные о росте N учеников. Найти средний...

Двумерный массив, вывести учеников, рост которых равен среднему арифметическому роста всех учеников
Помогите пожалуйста, нужно задать двумерный массив A: Номер уч-ка и его рост B: Вес уч-ка а)...

Запрос: Найти всех учеников, получивших 4 по физике и одновременно не имеющих оценок ниже 3.
Найти всех учеников, получивших 4 по физике и одновременно не имеющих оценок ниже 3. Должны быть...

3
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
24.05.2012, 13:57 2
Наработки в студию.
0
annyway
24.05.2012, 15:55 3
вот так вот примерно, надеюсь кому-нибудь пригодиться
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
domains
name = symbol 
vozrast = integer
 
predicates
age(name,vozrast)- nondeterm (o,o)
pupil(name)- nondeterm (o)
 
clauses
age("Анна",54).
age("Зоя",33).
age("Наташа",13).
age("Вера",42).
age("Мария",62).
age("Николай",65).
age("Иван",40).
age("Андрей",30).
age("Петр",7).
age("Федор",58).
 
pupil(Name):- 
age(Name,Vozrast),
Vozrast >6,
Vozrast <18.
goal
pupil(X).
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
24.05.2012, 16:27 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
predicates
nondeterm male(symbol)  /*ìóæ÷èíà(êòî)*/
nondeterm female(symbol)  /*  æåíùèíà  */
nondeterm parent(symbol,symbol,symbol) /*ðîäèòåëè(îòåö,ìàòü,÷üè)*/
nondeterm age(symbol,integer)/* âîçðàñò(÷åé,êàêîé) */
nondeterm pupil(symbol,integer)
nondeterm pupils(symbol,symbol)
 
clauses
 
male("Èâàí").
male("Ïåòð").
male("Íèêîëàé").
male("Àíäðåé").
male("Ôåäîð").
 
female("Àííà").
female("Çîÿ").
female("Íàòàøà").
female("Âåðà").
female("Ìàðèÿ").
 
parent("Èâàí","Çîÿ","Ïåòð").
parent("Èâàí","Çîÿ","Íàòàøà").
parent("Ôåäîð","Àííà","Çîÿ").
parent("Ôåäîð","Àííà","Àíäðåé").
parent("Íèêîëàé","Ìàðèÿ","Èâàí").
parent("Íèêîëàé","Ìàðèÿ","Âåðà").
 
age("Àííà",54).
age("Çîÿ",33).
age("Íàòàøà",13).
age("Âåðà",42).
age("Ìàðèÿ",62).
age("Íèêîëàé",65).
age("Èâàí",40).
age("Àíäðåé",30).
age("Ïåòð",7).
age("Ôåäîð",58).
 
pupil(Name,Vozrast):-age(Name,Vozrast),Vozrast >6,Vozrast <18.
 
pupils(Father,Mother):-parent(Father,Mother,Child),
    pupil(Child,Age),write(Child," - ",Age),nl,fail.
pupils(_,_).
 
goal
pupils("Èâàí","Çîÿ").
0
24.05.2012, 16:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2012, 16:27
Помогаю со студенческими работами здесь

Найти ожидаемое число мальчиков и девочек в семье
В некоторой местности родители не хотят заводить мальчиков. Каждая семья рожает детей до тех пор,...

Среди всех оценок по математике найти и вывести тех учеников у кого оценка по математике выше средней
Помогите дорешать в обработке 2 надо сделать чтоб он нашел среднию оценку среди всех оценок по...

Найти возраст самого старшего и самого молодого посетителей спортзала, а так же посчитать средний возраст посетителей
В спортзал ежедневно приходит какое-то количество посетителей. Необходимо предложить пользователю...

Среднее арифметическое оценок всех учеников
Добрый вечер! Есть база данных куда помещаю с помощью assert'a учеников вида schoolboy...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru